Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ELK-¿ìËÙÈëÃÅʹÓÃ
 
×÷ÕߣºÉ³Ì²ÉϵÄÂþ²½Õß
  2056  次浏览      27
 2020-1-15
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª¶ÔELKµÄ×é¼þºÍ×é¼þ¹ØÏµÍ¼½øÐнéÉÜ£¬Æä´Î¶Ô»ù´¡»·¾³°²×°ÅäÖÃÔÙµ½²âÊÔÒÔ¼°Êý¾Ý»¯µÃչʾ£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚCSDN£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

Ò»¡¢ELK¸ÅÊö

ELK ÊÇÈý¸ö¿ªÔ´Èí¼þµÄËõд£¬·Ö±ð±íʾ£º Elasticsearch , Logstash , Kibana ¡£

ELK ͨ³£ÓÃÀ´¹¹½¨ÈÕÖ¾·ÖÎöƽ̨¡¢Êý¾Ý·ÖÎöËÑË÷ƽ̨µÈ

¹Ù·½Îĵµ

https://www.elastic.co/cn/products

×é¼þ½éÉÜ

Elasticsearch ÊǸö¿ªÔ´·Ö²¼Ê½È«ÎļìË÷ºÍÊý¾Ý·ÖÎöƽ̨¡£ËüµÄÌØµãÓУº·Ö²¼Ê½£¬ÁãÅäÖã¬×Ô¶¯·¢ÏÖ£¬Ë÷Òý×Ô¶¯·ÖƬ£¬Ë÷Òý¸±±¾»úÖÆ£¬restful·ç¸ñ½Ó¿Ú£¬¸ºÔؾùºâµÈÌØµã¡£

Kibana ÊÇÒ»¸öÕë¶ÔElasticsearchµÄ¿ªÔ´Êý¾Ý·ÖÎö¼°¿ÉÊÓ»¯Æ½Ì¨£¬ÓÃÀ´ËÑË÷¡¢²é¿´½»»¥´æ´¢ÔÚElasticsearchË÷ÒýÖеÄÊý¾Ý¡£Ê¹ÓÃKibana£¬¿ÉÒÔͨ¹ý¸÷ÖÖͼ±í½øÐи߼¶Êý¾Ý·ÖÎö¼°Õ¹Ê¾¡£

Logstash ÊÇÒ»¿î»ùÓÚ²å¼þµÄÊý¾ÝÊÕ¼¯ºÍ´¦ÀíÒýÇæ¡£Logstash ÅäÓдóÁ¿µÄ²å¼þ£¬ÒÔ±ãÈËÃÇÄܹ»ÇáËɽøÐÐÅäÖÃÒÔÔÚ¶àÖÖ²»Í¬µÄ¼Ü¹¹ÖÐÊÕ¼¯¡¢´¦Àí²¢×ª·¢Êý¾Ý¡£

Beats ÇáÁ¿¼¶µÄÊý¾ÝÊÕ¼¯´¦Àí¹¤¾ß(Agent)£¬¾ßÓÐÕ¼ÓÃ×ÊÔ´ÉÙµÄÓŵ㣬ÊʺÏÓÚÔÚ¸÷¸ö·þÎñÆ÷Éϲɼ¯Êý¾Ýºó´«Ê䏸Logstash£¬¹Ù·½Ò²ÍƼö´Ë¹¤¾ß¡£BeatsÓжà¶àÖÖÀàÐÍ£¬±È½Ï³£ÓõÄÊÇ FileBeats

×é¼þ¹ØÏµÍ¼

¶þ¡¢LogstashÏê½â

¼Ü¹¹Í¼´¦Àí¹ý³Ì¿É·ÖΪһ¸ö»ò¶à¸ö¹ÜµÀ¡£ÔÚÿ¸ö¹ÜµÀÖУ¬»áÓÐÒ»¸ö»ò¶à¸öÊäÈë²å¼þ½ÓÊÕ»òÊÕ¼¯Êý¾Ý£¬È»ºóÕâЩÊý¾Ý»á¼ÓÈëÄÚ²¿¶ÓÁС£Ä¬ÈÏÇé¿öÏ£¬ÕâЩÊý¾ÝºÜÉÙ²¢ÇÒ»á´æ´¢ÓÚÄÚ´æÖУ¬µ«ÊÇΪÁËÌá¸ß¿É¿¿ÐԺ͵¯ÐÔ£¬Ò²¿É½øÐÐÅäÖÃÒÔÀ©´ó¹æÄ£²¢³¤ÆÚ´æ´¢ÔÚ´ÅÅÌÉÏ¡£

´¦ÀíÏ̻߳áÒÔСÅúÁ¿µÄÐÎʽ´Ó¶ÓÁÐÖжÁÈ¡Êý¾Ý£¬²¢Í¨¹ýÈκÎÅäÖõĹýÂ˲å¼þ°´Ë³Ðò½øÐд¦Àí¡£Logstash ×Ô´ø´óÁ¿µÄ²å¼þ£¬Äܹ»Âú×ãÌØ¶¨ÀàÐ͵IJÙ×÷ÐèÒª£¬Ò²¾ÍÊǽâÎö¡¢´¦Àí²¢·á¸»Êý¾ÝµÄ¹ý³Ì¡£´¦ÀíÍêÊý¾ÝÖ®ºó£¬´¦ÀíÏ̻߳ὫÊý¾Ý·¢Ë͵½¶ÔÓ¦µÄÊä³ö²å¼þ£¬ÕâЩÊä³ö²å¼þ¸ºÔð¶ÔÊý¾Ý½øÐиñʽ»¯²¢½øÒ»²½·¢ËÍÊý¾Ý£¨ÀýÈç·¢Ë͵½ Elasticsearch£©¡£

Èý¡¢»ù´¡»·¾³°²×°

ÐÞ¸ÄÍø¿¨

vi /etc/sysconfig/network-scripts/ifcfg-ens33
#ÐÞ¸ÄΪ¿ª»ú×Ô¶¯·ÖÅäÍø¿¨
ONBOOT=YES#»òÕßÐÞ¸ÄΪ¾²Ì¬ip
BOOYPROTO=static
ONBOOT=yes
#Ìí¼Ó
IPADDR=192.168.47.152£¨ipµØÖ·£©
NETMASK=255.255.255.0
GATEWAY=192.168.47.2£¨ÐéÄâ»úÍø¶Î£©
DNS1=119.29.29.29
DNS2=182.254.116.116

ÖØÆôÍø¿¨·þÎñ

systemctl restart network

¹Ø±Õ·À»ðǽ

systemctl stop firewalld (centos6 : service iptables stop)
systemctl disable firewalld (centos6 : chkconfig iptables off)

°²×°gccºÍwget

yum install gcc-c++ perl-devel pcre-devel openssl-devel zlib-devel wget

°²×°jdk

# rpm -ivh jdk-8u181-linux-x64.rpm
ÅäÖû·¾³±äÁ¿(¿É²»ÓÃ)
# vi /etc/profile
export JAVA_HOME=/usr/java/latest
export CLASSPATH=.
export PATH=$PATH:$JAVA_HOME/bin
¸üÐÂ×ÊÔ´
# source /etc/profile

һ̨·þÎñÆ÷°²×°nginx

½âѹnginx

tar -zxvf nginx-1.11.1.tar.gz

°²×°nginxµ½Ö¸¶¨Â·¾¶

./configure --prefix=/usr/local/nginx

±àÒë°²×°

make && make install

Filebeat»·¾³´î½¨ £¨ºÍnginx °²×°ÔÚͬһ̨·þÎñÆ÷ÉÏ£©

°²×°

[root@localhost ~]# tar -zxvf filebeat-6.4.0-linux-x86_64.tar.gz -C /usr

ÅäÖÃ

[root@localhost ~]# mkdir logs
[root@localhost ~]# vim /usr/filebeat-6.4.0-linux-x86_64/filebeat.yml

ÈÃbeatÈ¡¶ÁÈ¡nginxµÄÈÕÖ¾Îļþ²¢ÇÒÊä³ö¸ølogstashÈ¡´¦Àí

# Change to true to enable this input configuration.
enabled: true(´ò¿ª)
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /usr/local/nginx/logs/access*.log£¨ÈÕÖ¾Îļþ£©
# output.elasticsearch:£¨¹Ø±Õ£©
# Array of hosts to connect to.
# hosts: ["localhost:9200"]
output.logstash:£¨´ò¿ª£©
# The Logstash hosts
hosts: ["192.168.23.143:5044"]£¨logstashµÄipºÅĬÈÏ5044¶Ë¿Ú£©

µ½nginx°²×°Ä¿Â¼Æô¶¯nginx

[root@localhost nginx-1.11.1]# cd /usr/local/nginx/
[root@localhost nginx]# sbin/nginx -c conf/nginx.con

ÉÏ´«²âÊÔÊý¾Ý£¨·ÃÎÊnginxÉú³ÉÈÕÖ¾Îļþ£©

Áíһ̨·þÎñÆ÷°²×°logstash

×¢Ò⣺ÈκΠLogstash ÅäÖö¼±ØÐëÖÁÉÙ°üÀ¨Ò»¸öÊäÈë²å¼þºÍÒ»¸öÊä³ö²å¼þ¡£¹ýÂ˲å¼þÊÇ¿ÉÑ¡Ïî¡£

[root@localhost ~]# tar -zxvf logstash-6.4.0.tar.gz -C /usr

ÐÞ¸ÄÅäÖÃÎļþ

[root@localhost logstash-6.4.0]# cd /usr/logstash-6.4.0/
[root@localhost logstash-6.4.0]# vim config/simple.conf

ÅäÖÃÎļþÖÐÀûÓÃGrok±í´ïʽÀ´×ª»»ÈÕÖ¾ÎļþΪjson´®

input {
beats {
port => "5044"
}
}
# Êý¾Ý¹ýÂË ½âÎö
filter {
grok {
match =>{
"message" => "%{IPORHOST:client_ip} - %{USER:auth} \[%{HTTPDATE:timestamp}\] \"(?:%
{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})\" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:http_referer} %{QS:http_user_agent}"
}
}
geoip {
source => "client_ip"
}
date {
match => [ "time" , "dd/MMM/YYYY:HH:mm:ss Z" ]
}
}
# Êä³öµ½±¾»úµÄ ES
output {
elasticsearch {
hosts => [ "192.168.23.143:9200" ]
index => "logs-%{+YYYY.MM.dd}"
}
}

Æô¶¯²âÊÔ

±£Ö¤es¼¯ÈºµÄ·þÎñ¿ªÆô

**±£Ö¤es¼¯ÈºµÄ·þÎñ¿ªÆô**

Æô¶¯logstash

[root@localhost logstash-6.4.0]# bin/logstash -r -f config/elk.conf

Æô¶¯filebeat

[root@localhost filebeat-6.4.0-linux-x86_64]# ./filebeat

Êý¾Ý²É¼¯

´ò¿ªkibanaÈ¡²é¿´Éú³ÉµÄË÷Òý

KibanaÊý¾Ý¿ÉÊÓ»¯Õ¹Ê¾

Ìí¼ÓÊÓͼ

Ìí¼ÓÒDZíÅÌ

   
2056 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ