elk容器化实践(Nginx日志统计)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elk容器化实践(Nginx日志统计)相关的知识,希望对你有一定的参考价值。

1、在管理机上运行
docker swarm init --advertise-addr 192.168.204.135
技术图片
2、在节点机上运行(加入集群)
docker swarm join \
--token SWMTKN-1-48w6yubnwxpbboqo296es90r7snmru0q2dnwmthq1i7a6qlom9-8xuklnbfys5vdcx3pkyf4u3ha \
192.168.204.135:2377
技术图片
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
备注:宿主机与容器有目录对应关系
技术图片
4、在浏览器上打开网页,查看效果
技术图片
技术图片
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日志统计)的主要内容,如果未能解决你的问题,请参考以下文章

利用ELK分析Nginx日志生产实战(高清多图)

ELK初步实践

ELK对nginx日志进行流量监控

ELK日志系统架构杂谈

强大的日志查询和统计等需求 ---> ELK 企业级日志分析系统

利用ELK搭建Docker容器化应用日志中心