ÈËÃdz£³£ËµÊý¾ÝÈç½ð£¬¿ÉÊÇ£¬Äܱ»ÀûÓÃÆðµÄÊý¾Ý£¬²ÅÊÇ¡°½ð¡±¡£¶ø»¥ÁªÍøµÄÊý¾Ý£¬³£³£ÒÔÈÕÖ¾µÄý½éµÄÐÎʽ´æÔÚ£¬²¢ÐèÒª´ÓÖÐÌáÈ¡ÆäÖеġ±Êý¾Ý¡±¡£
´ÓÕâЩÊý¾ÝÖУ¬ÎÒÃÇ¿ÉÒÔ×öÓû§»Ïñ£¨Ã¿¸öÓû§¶¼µãÁËʲô¹ã¸æ£¬¶ÔÄÄЩ¿ªÔ´¼¼Êõ¸ÐÐËȤ£©£¬°²È«É󼯣¬°²È«·À»¤£¨Èç¹û1СʱÄڵǼÇëÇóÊýµ½´ïÒ»¶¨Öµ¾Í±¨¾¯£©£¬ÒµÎñÊý¾Ýͳ¼Æ£¨È翪ԴÖйúÿÌìµÄ²©¿ÍÊýÊǶàÉÙ£¬¿ÉÊÓ»¯±à¼¸ñʽºÍmarkdown¸ñʽ¸÷Õ¼±ÈÀýÊǶàÉÙ£©µÈµÈ¡£
Ö®ËùÒÔÄÜ×öÕâЩ£¬ÊÇÒòΪÓû§µÄËùÓеÄÐÐΪ£¬¶¼½«±»¼Ç¼ÔÚnginxÈÕÖ¾ÖлòÆäËüweb·þÎñÆ÷µÄÈÕÖ¾ÖС£ÈÕÖ¾·ÖÎöÒª×öµÄ¾ÍÊǽ«ÕâЩÈÕÖ¾½øÐнṹ»¯£¬·½±ãÎÒÃǵÄÒµÎñÈËÔ±¿ìËÙ²éѯ¡£ÈÕÖ¾·ÖÎöƽ̨Ҫ×öµÄ¾ÍÊÇÕâЩ¡£
˵ÍêÕâЩ£¬ÄãÊDz»ÊǾõµÃÈÕÖ¾·ÖÎöƽ̨ºÜÄÑ×ö£¬ÐèҪʮÈ˵ÄÍŶӼӰ༸¸öÔ²ÅÄÜÍê³É£¿
×Ô´ÓÓÐÁËElasticsearch¡¢Logstash¡¢Kibana£¬Ë׳ÆELK£¬Ð¡¹«Ë¾Ò²¿ÉÒÔºÜÇáËɵØ×öÈÕÖ¾·ÖÎöÁË¡£Ëµ°×ÁË£¬1Ì켸GµÄÈÕÖ¾£¬ELKÍêÈ«¿ÉÒÔ³ÔµÃÏû¡£¾ÍÏñ±êÌâ˵µÄ£¬Ö»ÐèÒª1¸öÈ˰ëСʱ¾Í¿ÉÒԴºÃÁË¡£Ç°ÌáÊÇÄãÒѾÊìϤÁËAnsible¡£ÏÂÎÄÒ²¼ÙÉèÄãÒѾÊìϤAnbile£¬Èç¹û²»ÊìϤ¿ÉÒÔ¿´¿´ÎÒµÄÁíһƪÎÄÕ£ºPuppet£¬Chef£¬AnsibleµÄ¹²ÐÔ
±¾ÎÄÄ¿µÄ¾ÍÊǽÌÄãÈçºÎÔڴһ¸öÈÕÖ¾·ÖÎöƽ̨µÄ³ûÐΡ£ÓÐÁËÕâ¸ö³ûÐΣ¬Äã¿ÉÒÔÂýÂýµü´ú³ö¸üÇ¿´ó£¬¸üÊʺÏÄãÒµÎñµÄÈÕÖ¾·ÖÎöƽ̨¡£Í¬Ê±£¬Ìṩ¿ÉÖ´ÐеÄÔ´´úÂ룺OSC-AdCenter
¼òµ¥ÈÕÖ¾·ÖÎö¼Ü¹¹Í¼

ÎÒ×öÁ˼ò»¯£¬¼Ü¹¹Í¼ÖеÄÿ¸ö×é¼þ¶¼¿ÉÒÔ·Ö±ð·Åµ½²»Í¬µÄ»úÆ÷¡£ÕâÀï¼òµ¥½éÉÜÏÂÕâЩÄã×é¼þ£º
your app£ºÄãµÄÓ¦Óã¬ÎÒÃǵÄÔ´ÂëÖУ¬°ÑÕâ¸ö¸øÊ¡ÂÔÁË
Openresty£º»ùÓÚNginxµÄWeb¿ª·¢Æ½Ì¨£¬Äã¿ÉÒÔÏëÏñËü»ùÓÚNginx×öÁ˺ܶàÀ©Õ¹£¬ÀàËÆÌÔ±¦µÄTengine¡£ÎªÊ²Ã´ÎÒÃDz»Ö±½ÓʹÓÃNginxÄØ£¿ÒòΪÔÚOpenrestyÉÏ£¬ÎÒÃÇ¿ÉÒÔ×ö¸ü¶àÊÂÇé¡£
Logstash£ºÈÕÖ¾ÊÕ¼¯£¬½á¹¹»¯Êý¾Ýºó£¬pushµ½ElasticsearchÖУ¬»ùÓÚJRuby¡£¿ÉʹÓÃÆäËüÈÕÖ¾ÊÕ¼¯¹¤¾ßÌæ´ú£¬±ÈÈçBeats
Elasticsearch£º·Ö²¼Ê½ËÑË÷ÒýÇæ£¬»ùÓÚLucene
Kibana£ºÓÃÓÚ¿ÉÊÓ»¯Êý¾Ý£¬»ùÓÚNodeJs
ÈÕÖ¾·ÖÎöƽ̨¿ª·¢ËùÐèÒª¹¤¾ß
1.Ansible 2.0+£º¼òµ¥µÄ×Ô¶¯»¯ÅäÖù¤¾ß£¬ÔËά¹¤¾ß¡£¹ØÓÚ×Ô¶¯»¯ÅäÖû¹ÓÐʲôºÃ˵µÄÄØ£¿
2. Vagrant£º²Ù×÷ϵͳÐéÄ⻯¹¤¾ß£¬¿ª·¢Ê±Ê¹Óá£Èç¹ûûÓÐÌý¹ý£¬Docker×ÜÌý¹ý°É¡£Õâ¼Ò»ï¾ÍºÍDockerÍêÈ«ÀàËÆµÄ¹¦ÄÜ£¬Ò²ÔçÓÚDocker³öÏÖ¡£
3.Ò»¸ö¼òµ¥µÄÖ§³Öyml¸ñʽ¸ßÁÁµÄÎı¾±à¼Æ÷£¬±ÈÈçAtom
4. ×ÔÐÐÏÂÔØJDK8:jdk-8u66-linux-x64.tar.gz·Åµ½ÏîĿ·¾¶£ºprovision/roles/jdk8/files/jdk-8u66-linux-x64.tar.gz
P.S. ±§Ç¸Õâ¸öµÄÈ·ÐèÒªÄã×Ô¼ºÏ¡£
5. ʲô£¿²»ÓÃд´úÂëÂ𣿵ÄÈ·²»ÓÃÐèҪд¡£Èç¹ûÄãÒªÀ©Õ¹Õâ¸ö³ûÐξͻáÐèҪдһЩ½Å±¾¡£
Æô¶¯Ò»Ì¨·þÎñÆ÷
ÒòΪÎÒÃÇÐèÒªÔÚ±¾µØ¿ª·¢ºÃÒÔºó£¬ÔÙ²¿Êðµ½Éú²ú»·¾³£¬ËùÒÔ£¬ÎÒÃÇÐèҪһ̨·þÎñÆ÷ÓÃÀ´×öʵÑé¡£ÓÃVagrant¿ÉÒÔÔÚÄãµÄ¿ª·¢»úÉÏÐéÄ⻯һ̨¡£clone
Ï OSC-AdCenterºó£¬½øÈëÏîĿĿ¼ִÐУºVagrant up
ÎļþVagrantfileÓÐÃèÊöÕą̂»úÆ÷µÄÅäÖãº
Vagrant.configure(2) do |config| ANSIBLE_RAW_SSH_ARGS = [] machine_box = "trusty-server-cloudimg-amd64-vagrant-disk1" machine_box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box" config.vm.define "oscadcenter" do |machine| machine.vm.box = machine_box machine.vm.box_url = machine_box_url machine.vm.hostname = "oscadcenter" machine.vm.network "private_network", ip: "192.168.4.10" ##Ö¸¶¨Õą̂»úÆ÷µÄIP£¬Ö»ÄÜËÞÖ÷»úÄÜ·ÃÎÊ machine.vm.provider "virtualbox" do |node| node.name = "oscadcenter" node.memory = 4048 node.cpus = 2 end end end |
¸ü¶à¹ØÓÚVagrantfile£ºhttps://www.vagrantup.com/docs/vagrantfile/
Vagrant»úÆ÷µÄĬÈÏÕ˺ÅÃÜÂë¶¼ÊÇ: vagrant£¬ËùÒÔÄã¿ÉÒÔʹÓÃssh
vagrant@192.168.4.10µÇ¼Õą̂»úÆ÷¡£Ò²¿ÉÒÔʹÓÃvagrantÃüÁîµÇ¼£¬ÔÚVagrantfileËùÔÚĿ¼ÏÂÖ´ÐУºvagrant
ssh oscadcenter¡£
²¿ÊðÈÕÖ¾·ÖÎöƽ̨
ÔÚÄãµÄ¿ª·¢»úÉÏ£¬°²×°ºÃansible£º
·þÎñÆ÷×¼±¸ºÃÁË£¬ÎÒÃÇÖ»ÐèÒªÒ»ÌõÃüÁî¾Í¿ÉÒÔ²¿ÊðOSC-AdCenterÁË£º
ansible-playbook ./provision/playbook.yml -i ./provision/inventory -u vagrant -k
|
È»ºóÊäÈësshµÇ¼ÃÜÂ룺vagrant¡£
¼òµ¥ËµÃ÷£º
1.ansible-playbookÊÇansibleµÄÒ»¸öÃüÁî
2. ./provision/playbook.ymlÊÇÃèÊöÄãµÄ·þÎñÆ÷ÅäÖõÄÎı¾£¬Äã¿ÉÒÔÏëÏñ³ÉËùÓеIJ¿Êð½Å±¾¶¼Ð´ÔÚÕâ¸öÎļþÖÐ
3. ./provision/inventoryÊÇ·þÎñÆ÷ÔÚplaybookÔÚµÄhostÓëipµÄÓ³Éä±í£¬±ÈÈçplaybookÖÐÕâôд£º
ÄÇô£¬inventoryÎļþ¾ÍÊÇÕâÑùµÄ£º
¾ßÌåÇë¿´Îĵµ:
http://docs.ansible.com/ansible/intro_inventory.html
-u vagrant -k ±íʾʹÓÃvagrantÕ˺ÅsshµÇ¼Ŀ±ê»úÆ÷
²¿ÊðµÄÕâ¸ö¹ý³Ì£¬Òª¿´ÄãµÄÍøËÙºÍelasticÔ´µÄÌṩËÙ¶È£¬¿ÉÄÜ»áºÜÂþ³¤¡£
²Î¿¼Ê±³¤Îª°ëСʱ¡£½¨ÒéÖ´Ðв¿Êðºó£¬×öЩ±ðµÄÊÂÇ飬±ÈÈçÎçÐÝ¡£
²âÊÔ²¿ÊðÊÇ·ñ³É¹¦
1.´ò¿ªElasticsearch http://192.168.4.10:9200/_plugin/head/
¿É¿´µ½½çÃæ£º

2.´ò¿ªKibana http://192.168.4.10:5601
¿É¿´µ½½çÃæ£º

´ò¿ª¸÷ÖÖä¯ÀÀÆ÷£¬ÊäÈëurl£º
http://192.168.4.10/1.gif?account=oschina&e=pv&p=p233444&url=www.oschina.net&title=ѧϰ&sh=1200&sw=800&cd=400&lang=en£¬È»ºó¿ÉÔÚElasticsearchÖкÍkibanaÖп´µ½ÏàÓ¦µÄÊý¾Ý
ÎÒʹÓÃChrome·ÃÎÊÁËÁ½´Îurl£¬ÔÙʹÓÃSafari·ÃÎÊÁËÒ»´Î¡£¾ÍÕâÑù£¬ElasticsearchÖгöÏÖÁË3ÌõÊý¾Ý£¬¶øKibanaÖÐÎÒÃÇ¿Éͳ¼Æ³ö£¬¹ýÈ¥4СʱÖУ¬ChromeÕ¼ÁË2/3£¬¶øSafariÕ¼
1/3¡£
²¿Êð¹ý³Ì¶¼Ö´ÐÐÁËʲô£¿
´Ó²¿Êð½Å±¾µÄÈë¿Ú./provision/playbook.yml¿´:
hosts: analysis sudo: yes vars_files: - ./vars/base-env.yml - ./vars/analysis-logstash.yml roles: - common # Ö´ÐÐһЩ»ù´¡¹¤×÷ - openresty # °²×°openresty - {role: "analysis-openresty-conf", nginx_server_conf: "analysis.conf"} # ÅäÖÃopenresty - jdk8 # °²×°jdk8£¬²¢ÉèÖÃJAVA_HOMEµ½ /etc/profileÖÐ - ansible-role-elasticsearch #°²×° es - ansible-role-kibana-4 # °²×°kibana4 - ansible-logstash # °²×°logstash |
ÕâÀïµÄELKµÄrole¶¼ÊÇ´ÓAnsible µÄ GalaxyÉÏdownloadÏÂÀ´µÄ¡£
È»ºóÄØ£¿
1.ѧϰKibanaµÄ²éѯÓï·¨£¬¸ù¾ÝÒµÎñÐèÇóÀ´Í³¼Æ·ÖÎöÈÕÖ¾¡£
2.¶Ôµ±Ç°µÄÈÕÖ¾·ÖÎöƽ̨ʵʩ¼à¿Ø£¬ÄÄÌìϵͳ¹ÒÁË£¬Äã¶¼²»ÖªµÀ¡£
3.ÓëÏÖÔÚÓеÄϵͳ½áºÏ¡£
4.½â¾öµ±µ¥¸öElasticsearch£¬ÌرðÅÓ´óʱµÄÀ©ÈÝÎÊÌâ
×îºó
ºÃ°É£¬Èç¹ûÄã²»»áAnsible£¬Äã°ëСʱ¿ÉÄܸ㲻¶¨¡£ËùÒÔ£¬ÎÒ˵µÄ°ëСʱ£¬Æäʵ²¢²»¿ÆÑ§¡£µ«ÊÇÕâҲǡǡ˵Ã÷ÁËʹÓõÄ×Ô¶¯»¯ÅäÖõĺô¦¡£ÎÒÒ»¸öÔËάÍâÐУ¬ÀûÓÃAnsibleÁ½ÈýÌì¾Í´î½¨ºÃÁËÒ»¸ö¼òµ¥ÈÕÖ¾·ÖÎöƽ̨¡£
¶øÇÒÈç¹ûÄãÒªÔÚÉú²ú»·¾³Ê¹ÓÃÕâÌ×ϵͳ£¬ÄãÖ»ÐèÒªÔÚÏßÉÏ×¼±¸Ò»Ì¨¸É¾»µÄubuntu·þÎñÆ÷£¬ÐÞ¸ÄinventoryÎļþµÄIP¾Í¿ÉÒÔÁË¡£
ÏÖʵÖеÄÈÕÖ¾·ÖÎöƽ̨һ¶¨²»»áÕâô¼òµ¥µÄ£¬±¾´Î½Ì³Ì£¬Ö»ÊÇÅ×שÒýÓñ¡£ |