±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcnblogs£¬±¾ÎÄÖ÷Òª½éÉÜÁËELK¡¢ELK¼Ü¹¹¡¢LogstashºÍLogstashµÄ¹¤×÷ÔÀíµÈÏà¹ØÄÚÈÝ¡£ |
|
ΪʲôÓõ½ELK£º
Ò»°ãÎÒÃÇÐèÒª½øÐÐÈÕÖ¾·ÖÎö³¡¾°£ºÖ±½ÓÔÚÈÕÖ¾ÎļþÖÐ grep¡¢awk ¾Í¿ÉÒÔ»ñµÃ×Ô¼ºÏëÒªµÄÐÅÏ¢¡£µ«ÔÚ¹æÄ£½Ï´óµÄ³¡¾°ÖУ¬´Ë·½·¨Ð§ÂʵÍÏ£¬ÃæÁÙÎÊÌâ°üÀ¨ÈÕÖ¾Á¿Ì«´óÈçºÎ¹éµµ¡¢Îı¾ËÑË÷Ì«ÂýÔõô°ì¡¢ÈçºÎ¶àά¶È²éѯ¡£ÐèÒª¼¯Öл¯µÄÈÕÖ¾¹ÜÀí£¬ËùÓзþÎñÆ÷ÉϵÄÈÕÖ¾ÊÕ¼¯»ã×Ü¡£³£¼û½â¾ö˼·Êǽ¨Á¢¼¯ÖÐʽÈÕÖ¾ÊÕ¼¯ÏµÍ³£¬½«ËùÓнڵãÉϵÄÈÕ־ͳһÊÕ¼¯£¬¹ÜÀí£¬·ÃÎÊ¡£
Ò»°ã´óÐÍϵͳÊÇÒ»¸ö·Ö²¼Ê½²¿ÊðµÄ¼Ü¹¹£¬²»Í¬µÄ·þÎñÄ£¿é²¿ÊðÔÚ²»Í¬µÄ·þÎñÆ÷ÉÏ£¬ÎÊÌâ³öÏÖʱ£¬´ó²¿·ÖÇé¿öÐèÒª¸ù¾ÝÎÊÌⱩ¶µÄ¹Ø¼üÐÅÏ¢£¬¶¨Î»µ½¾ßÌåµÄ·þÎñÆ÷ºÍ·þÎñÄ£¿é£¬¹¹½¨Ò»Ì×¼¯ÖÐʽÈÕ־ϵͳ£¬¿ÉÒÔÌá¸ß¶¨Î»ÎÊÌâµÄЧÂÊ¡£
Ò»¸öÍêÕûµÄ¼¯ÖÐʽÈÕ־ϵͳ£¬ÐèÒª°üº¬ÒÔϼ¸¸öÖ÷ÒªÌØµã£º
ÊÕ¼¯£Äܹ»²É¼¯¶àÖÖÀ´Ô´µÄÈÕÖ¾Êý¾Ý
´«Êä£Äܹ»Îȶ¨µÄ°ÑÈÕÖ¾Êý¾Ý´«Êäµ½ÖÐÑëϵͳ
´æ´¢£ÈçºÎ´æ´¢ÈÕÖ¾Êý¾Ý
·ÖÎö£¿ÉÒÔÖ§³Ö UI ·ÖÎö
¾¯¸æ£Äܹ»Ìṩ´íÎ󱨸棬¼à¿Ø»úÖÆ
ELKÌṩÁËÒ»ÕûÌ×½â¾ö·½°¸£¬²¢ÇÒ¶¼ÊÇ¿ªÔ´Èí¼þ£¬Ö®¼ä»¥ÏàÅäºÏʹÓã¬ÍêÃÀÏνӣ¬¸ßЧµÄÂú×ãÁ˺ܶೡºÏµÄÓ¦Óá£Ä¿Ç°Ö÷Á÷µÄÒ»ÖÖÈÕ־ϵͳ¡£
ELK¼ò½é£º
ELKÊÇÈý¸ö¿ªÔ´Èí¼þµÄËõд£¬·Ö±ð±íʾ£ºElasticsearch , Logstash, Kibana
, ËüÃǶ¼ÊÇ¿ªÔ´Èí¼þ¡£ÐÂÔöÁËÒ»¸öFileBeat£¬ËüÊÇÒ»¸öÇáÁ¿¼¶µÄÈÕÖ¾ÊÕ¼¯´¦Àí¹¤¾ß(Agent)£¬FilebeatÕ¼ÓÃ×ÊÔ´ÉÙ£¬ÊʺÏÓÚÔÚ¸÷¸ö·þÎñÆ÷ÉÏËѼ¯ÈÕÖ¾ºó´«Ê䏸Logstash£¬¹Ù·½Ò²ÍƼö´Ë¹¤¾ß¡£
ElasticsearchÊǸö¿ªÔ´·Ö²¼Ê½ËÑË÷ÒýÇæ£¬ÌṩËѼ¯¡¢·ÖÎö¡¢´æ´¢Êý¾ÝÈý´ó¹¦ÄÜ¡£ËüµÄÌØµãÓУº·Ö²¼Ê½£¬ÁãÅäÖã¬×Ô¶¯·¢ÏÖ£¬Ë÷Òý×Ô¶¯·ÖƬ£¬Ë÷Òý¸±±¾»úÖÆ£¬restful·ç¸ñ½Ó¿Ú£¬¶àÊý¾ÝÔ´£¬×Ô¶¯ËÑË÷¸ºÔصȡ£
Logstash Ö÷ÒªÊÇÓÃÀ´ÈÕÖ¾µÄËѼ¯¡¢·ÖÎö¡¢¹ýÂËÈÕÖ¾µÄ¹¤¾ß£¬Ö§³Ö´óÁ¿µÄÊý¾Ý»ñÈ¡·½Ê½¡£Ò»°ã¹¤×÷·½Ê½Îªc/s¼Ü¹¹£¬client¶Ë°²×°ÔÚÐèÒªÊÕ¼¯ÈÕÖ¾µÄÖ÷»úÉÏ£¬server¶Ë¸ºÔð½«ÊÕµ½µÄ¸÷½ÚµãÈÕÖ¾½øÐйýÂË¡¢Ð޸ĵȲÙ×÷ÔÚÒ»²¢·¢ÍùelasticsearchÉÏÈ¥¡£
Kibana Ò²ÊÇÒ»¸ö¿ªÔ´ºÍÃâ·ÑµÄ¹¤¾ß£¬Kibana¿ÉÒÔΪ Logstash ºÍ ElasticSearch
ÌṩµÄÈÕÖ¾·ÖÎöÓÑºÃµÄ Web ½çÃæ£¬¿ÉÒÔ°ïÖú»ã×Ü¡¢·ÖÎöºÍËÑË÷ÖØÒªÊý¾ÝÈÕÖ¾¡£
FilebeatÁ¥ÊôÓÚBeats¡£Ä¿Ç°Beats°üº¬ËÄÖÖ¹¤¾ß£º
Packetbeat£¨ËѼ¯ÍøÂçÁ÷Á¿Êý¾Ý£©
Topbeat£¨ËѼ¯ÏµÍ³¡¢½ø³ÌºÍÎļþϵͳ¼¶±ðµÄ CPU ºÍÄÚ´æÊ¹ÓÃÇé¿öµÈÊý¾Ý£©
Filebeat£¨ËѼ¯ÎļþÊý¾Ý£©
Winlogbeat£¨ËѼ¯ Windows ʼþÈÕÖ¾Êý¾Ý£©
¹Ù·½Îĵµ£º
Filebeat£º
https://www.elastic.co/guide/en/beats/filebeat/ 5.6/index.html
Logstash£º
https://www.elastic.co/guide/en/logstash/5.6/index.html
Kibana:
https://www.elastic.co/guide/en/kibana/5.5/index.html
Elasticsearch£º
https://www.elastic.co/guide/en/elasticsearch /reference/5.6/index.htm
ELK¼Ü¹¹Í¼£º
¼Ü¹¹Í¼Ò»£º

ÕâÊÇ×î¼òµ¥µÄÒ»ÖÖELK¼Ü¹¹·½Ê½¡£ÓŵãÊǴ¼òµ¥£¬Ò×ÓÚÉÏÊÖ¡£È±µãÊÇLogstashºÄ×ÊÔ´½Ï´ó£¬ÔËÐÐÕ¼ÓÃCPUºÍÄÚ´æ¸ß¡£ÁíÍâûÓÐÏûÏ¢¶ÓÁлº´æ£¬´æÔÚÊý¾Ý¶ªÊ§Òþ»¼¡£
´Ë¼Ü¹¹ÓÉLogstash·Ö²¼ÓÚ¸÷¸ö½ÚµãÉÏËѼ¯Ïà¹ØÈÕÖ¾¡¢Êý¾Ý£¬²¢¾¹ý·ÖÎö¡¢¹ýÂ˺ó·¢Ë͸øÔ¶¶Ë·þÎñÆ÷ÉϵÄElasticsearch½øÐд洢¡£Elasticsearch½«Êý¾ÝÒÔ·ÖÆ¬µÄÐÎʽѹËõ´æ´¢²¢Ìṩ¶àÖÖAPI¹©Óû§²éѯ£¬²Ù×÷¡£Óû§Òà¿ÉÒÔ¸üÖ±¹ÛµÄͨ¹ýÅäÖÃKibana
Web·½±ãµÄ¶ÔÈÕÖ¾²éѯ£¬²¢¸ù¾ÝÊý¾ÝÉú³É±¨±í¡£
¼Ü¹¹Í¼¶þ£º

´ËÖּܹ¹ÒýÈëÁËÏûÏ¢¶ÓÁлúÖÆ£¬Î»ÓÚ¸÷¸ö½ÚµãÉϵÄLogstash AgentÏȽ«Êý¾Ý/ÈÕÖ¾´«µÝ¸øKafka£¨»òÕßRedis£©£¬²¢½«¶ÓÁÐÖÐÏûÏ¢»òÊý¾Ý¼ä½Ó´«µÝ¸øLogstash£¬Logstash¹ýÂË¡¢·ÖÎöºó½«Êý¾Ý´«µÝ¸øElasticsearch´æ´¢¡£×îºóÓÉKibana½«ÈÕÖ¾ºÍÊý¾Ý³ÊÏÖ¸øÓû§¡£ÒòΪÒýÈëÁËKafka£¨»òÕßRedis£©,ËùÒÔ¼´Ê¹Ô¶¶ËLogstash
serverÒò¹ÊÕÏÍ£Ö¹ÔËÐУ¬Êý¾Ý½«»áÏȱ»´æ´¢ÏÂÀ´£¬´Ó¶ø±ÜÃâÊý¾Ý¶ªÊ§¡£
¼Ü¹¹Í¼Èý£º

´ËÖּܹ¹½«ÊÕ¼¯¶ËlogstashÌæ»»Îªbeats£¬¸üÁé»î£¬ÏûºÄ×ÊÔ´¸üÉÙ£¬À©Õ¹ÐÔ¸üÇ¿¡£Í¬Ê±¿ÉÅäÖÃLogstash
ºÍElasticsearch ¼¯ÈºÓÃÓÚÖ§³Ö´ó¼¯ÈºÏµÍ³µÄÔËάÈÕÖ¾Êý¾Ý¼à¿ØºÍ²éѯ¡£
Filebeat¹¤×÷ÔÀí£º
FilebeatÓÉÁ½¸öÖ÷Òª×é¼þ×é³É£ºprospectors ºÍ harvesters¡£ÕâÁ½¸ö×é¼þÐͬ¹¤×÷½«Îļþ±ä¶¯·¢Ë͵½Ö¸¶¨µÄÊä³öÖС£

Harvester£¨ÊÕ¸î»ú£©£º¸ºÔð¶ÁÈ¡µ¥¸öÎļþÄÚÈÝ¡£Ã¿¸öÎļþ»áÆô¶¯Ò»¸öHarvester£¬Ã¿¸öHarvester»áÖðÐжÁÈ¡¸÷¸öÎļþ£¬²¢½«ÎļþÄÚÈÝ·¢Ë͵½Öƶ¨Êä³öÖС£Harvester¸ºÔð´ò¿ªºÍ¹Ø±ÕÎļþ£¬ÒâζÔÚHarvesterÔËÐеÄʱºò£¬ÎļþÃèÊö·û´¦ÓÚ´ò¿ª×´Ì¬£¬Èç¹ûÎļþÔÚÊÕ¼¯Öб»ÖØÃüÃû»òÕß±»É¾³ý£¬Filebeat»á¼ÌÐø¶ÁÈ¡´ËÎļþ¡£ËùÒÔÔÚHarvester¹Ø±Õ֮ǰ£¬´ÅÅ̲»»á±»ÊÍ·Å¡£Ä¬ÈÏÇé¿öfilebeat»á±£³ÖÎļþ´ò¿ªµÄ״̬£¬Ö±µ½´ïµ½close_inactive£¨Èç¹û´ËÑ¡ÏÆô£¬filebeat»áÔÚÖ¸¶¨Ê±¼äÄÚ½«²»ÔÙ¸üеÄÎļþ¾ä±ú¹Ø±Õ£¬Ê±¼ä´Óharvester¶ÁÈ¡×îºóÒ»ÐеÄʱ¼ä¿ªÊ¼¼ÆÊ±¡£ÈôÎļþ¾ä±ú±»¹Ø±Õºó£¬Îļþ·¢Éú±ä»¯£¬Ôò»áÆô¶¯Ò»¸öеÄharvester¡£¹Ø±ÕÎļþ¾ä±úµÄʱ¼ä²»È¡¾öÓÚÎļþµÄÐÞ¸Äʱ¼ä£¬Èô´Ë²ÎÊýÅäÖò»µ±£¬Ôò¿ÉÄÜ·¢ÉúÈÕÖ¾²»ÊµÊ±µÄÇé¿ö£¬ÓÉscan_frequency²ÎÊý¾ö¶¨£¬Ä¬ÈÏ10s¡£HarvesterʹÓÃÄÚ²¿Ê±¼ä´ÁÀ´¼Ç¼Îļþ×îºó±»ÊÕ¼¯µÄʱ¼ä¡£ÀýÈ磺ÉèÖÃ5m£¬ÔòÔÚHarvester¶ÁÈ¡ÎļþµÄ×îºóÒ»ÐÐÖ®ºó£¬¿ªÊ¼µ¹¼ÆÊ±5·ÖÖÓ£¬Èô5·ÖÖÓÄÚÎļþÎޱ仯£¬Ôò¹Ø±ÕÎļþ¾ä±ú¡£Ä¬ÈÏ5m£©¡£
Prospector£¨¿±²âÕߣ©£º¸ºÔð¹ÜÀíHarvester²¢ÕÒµ½ËùÓжÁȡԴ¡£
filebeat.prospectors:
- input_type: log
paths:
- /apps/logs/*/info.log |
Prospector»áÕÒµ½/apps/logs/*Ŀ¼ÏµÄËùÓÐinfo.logÎļþ£¬²¢ÎªÃ¿¸öÎļþÆô¶¯Ò»¸öHarvester¡£Prospector»á¼ì²éÿ¸öÎļþ£¬¿´HarvesterÊÇ·ñÒѾÆô¶¯£¬ÊÇ·ñÐèÒªÆô¶¯£¬»òÕßÎļþÊÇ·ñ¿ÉÒÔºöÂÔ¡£ÈôHarvester¹Ø±Õ£¬Ö»ÓÐÔÚÎļþ´óС·¢Éú±ä»¯µÄʱºòProspector²Å»áÖ´Ðмì²é¡£Ö»Äܼì²â±¾µØµÄÎļþ¡£
FilebeatÈçºÎ¼Ç¼Îļþ״̬£º
½«Îļþ״̬¼Ç¼ÔÚÎļþÖУ¨Ä¬ÈÏÔÚ/var/lib/filebeat/registry£©¡£´Ë״̬¿ÉÒÔ¼ÇסHarvesterÊÕ¼¯ÎļþµÄÆ«ÒÆÁ¿¡£ÈôÁ¬½Ó²»ÉÏÊä³öÉ豸£¬ÈçESµÈ£¬filebeat»á¼Ç¼·¢ËÍǰµÄ×îºóÒ»ÐУ¬²¢ÔÙ¿ÉÒÔÁ¬½ÓµÄʱºò¼ÌÐø·¢ËÍ¡£FilebeatÔÚÔËÐеÄʱºò£¬Prospector״̬»á±»¼Ç¼ÔÚÄÚ´æÖС£FilebeatÖØÆôµÄʱºò£¬ÀûÓÃregistry¼Ç¼µÄ״̬À´½øÐÐÖØ½¨£¬ÓÃÀ´»¹Ôµ½ÖØÆô֮ǰµÄ״̬¡£Ã¿¸öProspector»áΪÿ¸öÕÒµ½µÄÎļþ¼Ç¼һ¸ö״̬£¬¶ÔÓÚÿ¸öÎļþ£¬Filebeat´æ´¢Î¨Ò»±êʶ·ûÒÔ¼ì²âÎļþÊÇ·ñÏÈǰ±»ÊÕ¼¯¡£
FilebeatÈçºÎ±£Ö¤Ê¼þÖÁÉÙ±»Êä³öÒ»´Î£º
FilebeatÖ®ËùÒÔÄܱ£Ö¤Ê¼þÖÁÉÙ±»´«µÝµ½ÅäÖõÄÊä³öÒ»´Î£¬Ã»ÓÐÊý¾Ý¶ªÊ§£¬ÊÇÒòΪfilebeat½«Ã¿¸öʼþµÄ´«µÝ״̬±£´æÔÚÎļþÖС£ÔÚδµÃµ½Êä³ö·½È·ÈÏʱ£¬filebeat»á³¢ÊÔÒ»Ö±·¢ËÍ£¬Ö±µ½µÃµ½»ØÓ¦¡£ÈôfilebeatÔÚ´«Êä¹ý³ÌÖб»¹Ø±Õ£¬Ôò²»»áÔٹرÕ֮ǰȷÈÏËùÓÐʱʼþ¡£ÈκÎÔÚfilebeat¹Ø±Õ֮ǰΪȷÈϵÄʱ¼ä£¬¶¼»áÔÚfilebeatÖØÆôÖ®ºóÖØÐ·¢ËÍ¡£Õâ¿ÉÈ·±£ÖÁÉÙ·¢ËÍÒ»´Î£¬µ«ÓпÉÄÜ»áÖØ¸´¡£¿Éͨ¹ýÉèÖÃshutdown_timeout
²ÎÊýÀ´ÉèÖùرÕ֮ǰµÄµÈ´ýʼþ»ØÓ¦µÄʱ¼ä£¨Ä¬ÈϽûÓã©¡£
Logstash¹¤×÷ÔÀí£º
Logstashʼþ´¦ÀíÓÐÈý¸ö½×¶Î£ºinputs ¡ú filters ¡ú outputs¡£ÊÇÒ»¸ö½ÓÊÕ£¬´¦Àí£¬×ª·¢ÈÕÖ¾µÄ¹¤¾ß¡£Ö§³ÖϵͳÈÕÖ¾£¬webserverÈÕÖ¾£¬´íÎóÈÕÖ¾£¬Ó¦ÓÃÈÕÖ¾£¬×ÜÖ®°üÀ¨ËùÓпÉÒÔÅ׳öÀ´µÄÈÕÖ¾ÀàÐÍ¡£
Input£ºÊäÈëÊý¾Ýµ½logstash¡£
һЩ³£ÓõÄÊäÈëΪ£º
file£º´ÓÎļþϵͳµÄÎļþÖжÁÈ¡£¬ÀàËÆÓÚtial -fÃüÁî
syslog£ºÔÚ514¶Ë¿ÚÉϼàÌýϵͳÈÕÖ¾ÏûÏ¢£¬²¢¸ù¾ÝRFC3164±ê×¼½øÐнâÎö
redis£º´Óredis serviceÖжÁÈ¡
beats£º´ÓfilebeatÖжÁÈ¡
Filters£ºÊý¾ÝÖм䴦Àí£¬¶ÔÊý¾Ý½øÐвÙ×÷¡£
һЩ³£ÓõĹýÂËÆ÷Ϊ£º
grok£º½âÎöÈÎÒâÎı¾Êý¾Ý£¬Grok ÊÇ Logstash ×îÖØÒªµÄ²å¼þ¡£ËüµÄÖ÷Òª×÷ÓþÍÊǽ«Îı¾¸ñʽµÄ×Ö·û´®£¬×ª»»³ÉΪ¾ßÌåµÄ½á¹¹»¯µÄÊý¾Ý£¬ÅäºÏÕýÔò±í´ïʽʹÓá£ÄÚÖÃ120¶à¸ö½âÎöÓï·¨¡£
¹Ù·½ÌṩµÄgrok±í´ïʽ£ºhttps://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns
grokÔÚÏßµ÷ÊÔ£ºhttps://grokdebug.herokuapp.com/
mutate£º¶Ô×ֶνøÐÐת»»¡£ÀýÈç¶Ô×ֶνøÐÐɾ³ý¡¢Ìæ»»¡¢Ð޸ġ¢ÖØÃüÃûµÈ¡£
drop£º¶ªÆúÒ»²¿·Öevents²»½øÐд¦Àí¡£
clone£º¿½±´ event£¬Õâ¸ö¹ý³ÌÖÐÒ²¿ÉÒÔÌí¼Ó»òÒÆ³ý×ֶΡ£
geoip£ºÌí¼ÓµØÀíÐÅÏ¢(Ϊǰ̨kibanaͼÐλ¯Õ¹Ê¾Ê¹ÓÃ)
Outputs£ºoutputsÊÇlogstash´¦Àí¹ÜµÀµÄ×îÄ©¶Ë×é¼þ¡£Ò»¸öevent¿ÉÒÔÔÚ´¦Àí¹ý³ÌÖо¹ý¶àÖØÊä³ö£¬µ«ÊÇÒ»µ©ËùÓеÄoutputs¶¼Ö´ÐнáÊø£¬Õâ¸öeventÒ²¾ÍÍê³ÉÉúÃüÖÜÆÚ¡£
һЩ³£¼ûµÄoutputsΪ£º
elasticsearch£º¿ÉÒÔ¸ßЧµÄ±£´æÊý¾Ý£¬²¢ÇÒÄܹ»·½±ãºÍ¼òµ¥µÄ½øÐвéѯ¡£
file£º½«eventÊý¾Ý±£´æµ½ÎļþÖС£
graphite£º½«eventÊý¾Ý·¢Ë͵½Í¼Ðλ¯×é¼þÖУ¬Ò»¸öºÜÁ÷ÐеĿªÔ´´æ´¢Í¼Ðλ¯Õ¹Ê¾µÄ×é¼þ¡£
Codecs£ºcodecs ÊÇ»ùÓÚÊý¾ÝÁ÷µÄ¹ýÂËÆ÷£¬Ëü¿ÉÒÔ×÷Ϊinput£¬outputµÄÒ»²¿·ÖÅäÖá£Codecs¿ÉÒÔ°ïÖúÄãÇáËɵķָË͹ýÀ´ÒѾ±»ÐòÁл¯µÄÊý¾Ý¡£
һЩ³£¼ûµÄcodecs£º
json£ºÊ¹ÓÃjson¸ñʽ¶ÔÊý¾Ý½øÐбàÂë/½âÂë¡£
multiline£º½«»ã¶à¸öʼþÖÐÊý¾Ý»ã×ÜΪһ¸öµ¥Ò»µÄÐС£±ÈÈ磺javaÒì³£ÐÅÏ¢ºÍ¶ÑÕ»ÐÅÏ¢¡£ |