±à¼ÍƼö: |
±¾ÎÄÖ÷Òª¶Ô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 |
±àÒë°²×°
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¼¯ÈºµÄ·þÎñ¿ªÆô
Æô¶¯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íÅÌ

|