elk容器化實踐(Nginx日誌統計)

1、在管理機上運行
docker swarm init --advertise-addr 192.168.204.135
elk容器化實踐(Nginx日誌統計)
2、在節點機上運行(加入集羣)
docker swarm join \
--token SWMTKN-1-48w6yubnwxpbboqo296es90r7snmru0q2dnwmthq1i7a6qlom9-8xuklnbfys5vdcx3pkyf4u3ha \
192.168.204.135:2377
elk容器化實踐(Nginx日誌統計)
3、在管理機上運行(Nginx 集羣)
docker service create --name nginx-web \
--mount type=bind,source=/root/nginx/www,destination=/usr/share/nginx/html \
--mount type=bind,source=/root/nginx/logs,destination=/var/log/nginx \
--mount type=bind,source=/etc/localtime,destination=/etc/localtime \
--replicas 2 --publish 10080:80 nginx:latest
備註:宿主機與容器有目錄對應關係
elk容器化實踐(Nginx日誌統計)
4、在瀏覽器上打開網頁,查看效果
elk容器化實踐(Nginx日誌統計)
elk容器化實踐(Nginx日誌統計)
5、下載elk 鏡像
Docker pull sebp/elk
6、運行elk
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -v /root/nginx/logs:/data -it -d --name elk-guodong sebp/elk
7、配製logstash
input {
file {
path => "/data/access.log"
start_position => "beginning"
}
}i
nput {
file {
path => "/data/access-201900000002.log "
start_position => "beginning"
}
}f
ilter{ grok {
match => { "message" => "%{IPORHOST:clientip} - - [%{HTTPDATE:timestamp}]
\"(?:%{WORD:verb} %{NOTSPACE:request}(?:
HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})\" %{NUMBER:response}
(?:%{NUMBER:bytes}) %{QS:referrer} %{QS:agent}" }
}
}
output {
elasticsearch {
hosts => ["192.168.204.135:9200"]
}
stdout {codec => rubydebug}
}
8、啓動logstash(進入容器運行)
/opt/logstash/bin/logstash --path.data /root/ -f /data/config/logstash.conf
9、查看並配製
http://192.168.204.135:5601/app/kibana#/management/kibana/index?_g=()
10、可以在discover 界面創建索引
11、在visualize 界面進行可視化(如圖標等的繪製)
12、效果
elk容器化實踐(Nginx日誌統計)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章