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、效果

原文地址:https://blog.51cto.com/709151/2412243

时间: 2024-08-29 08:34:39

elk容器化实践(Nginx日志统计)的相关文章

Nginx日志统计方案全过程

本文主要记录下给予python的nginx日志统计过程,主要原因是最近系统经常遭到未知程序的疯狂爬数据,虽然做了防爬机制,但是还是必须要找出是哪些IP访问次数比较多.想到的办法就是通过分析ngxin日志,从而找出这些IP排行即可.具体方案的操作步骤包括: ngxin日志每日切割功能: 设置ngxin的日志格式: 编写python代码在每日切割之前统计下access.log中的IP访问次数并将统计结果录入MongoDB: 编写web查询MongoDB进行统计. 一.nginx日志每日切割功能 该功

Docker+Kubernetes(k8s)微服务容器化实践

Docker+Kubernetes(k8s)微服务容器化实践网盘地址:https://pan.baidu.com/s/1uVkMsKgfzsJcShlnuLk3ZQ 密码:1i7q备用地址(腾讯微云):https://share.weiyun.com/5ZcsfIX 密码:udrifz Docker官方支持Kubernetes, Kubernetes是容器编排最大赢家,Kubernetes 以其高效.简便.高水平的可移植性等优势占领了绝大部分市场,江湖一哥地位毋庸置疑,脱胎于谷歌的成熟的Borg

ELK系列一:ELK安装配置及nginx日志分析

本文分三个部分介绍了elk.elk安装配置及基于filebeat分析nginx日志的配置. 第一部分:elk介绍 一.什么是elk ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana.这三款软件都是开源软件,通常是配合使用. 二.Elasticsearch 1.Elasticsearch介绍 Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析.它是一个建立在全

ELK整合Filebeat监控nginx日志

ELK 日志分析 1. 为什么用到 ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep. awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太慢怎么办.如何多维度查询.需要集中化的日志管理,所有服务器上的日志收集汇总.常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问. 一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定位

ELK安装配置及nginx日志分析

一.ELK简介1.组成ELK是Elasticsearch.Logstash.Kibana三个开源软件的组合.在实时数据检索和分析场合,三者通常是配合使用,而且又都先后归于 Elastic.co 公司名下,故有此简称.Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等.Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用.kibana 是一个开源和

Nginx日志统计

1)按每小时切割Nginx访问日志,并且将日志自动上传至FTP服务器: #!/bin/bash #auto mv nginx log shell #by author xiaoming S_LOG=/usr/local/nginx/logs/access.log D_LOG=/data/backup/`date +%Y%m%d%H%M` echo -e "\033[32mPlease wait start cutshell scripts...\033[0m" sleep 2 if [

nginx 日志统计接口每个小时访问量

指定时间段增量统计nginx日志不同接口的访问量: #!/bin/bash#此脚本用于统计nginx日志当前时间15分钟之内不同接口(URL)的访问量统计LOG=/usr/local/nginx/logs/interface.access.logTMP=/tmp/url.tmpURLSTATS=/var/log/interface_urlstats.logRECEIVERS="[email protected] [email protected]"#删除临时统计文件[ -f $TMP

DCOS实践分享(1):基于图形化模型设计的应用容器化实践

2015年11月29日,Mesos Meetup 第三期 - 北京技术沙龙成功举行.本次活动由数人科技CTO 肖德时 和 Linker Networks 的 Sam Chen 一起组织发起. 在这次meetup中,我分享了<<基于图形化模型设计的应用容器化>> ppt下载 http://download.csdn.net/detail/popsuper1982/9544928 上图片

ELK使用filter收集nginx日志-07

修改nginx日志格式 log_format hanye '$proxy_add_x_forwarded_for $remote_user [$time_local] "$request" $http_host' '[$body_bytes_sent] $request_body "$http_referer" "$http_user_agent" [$ssl_protocol] [$ssl_cipher]' '[$request_time] [