概述
应用一旦容器化以后,需要考虑的就是如何采集位于 Docker 容器中的应用程序的打印日志供运维分析。典型的比如SpringBoot应用的日志收集。 本文即将阐述如何利用ELK日志中心来收集容器化应用程序所产生的日志,并且可以用可视化的方式对日志进行查询与分析,其架构如下图所示:
镜像准备
- ElasticSearch镜像
- Logstash镜像
- Kibana镜像
- Nginx镜像(作为容器化应用来生产日志)
开启Linux系统Rsyslog服务
修改Rsyslog服务配置文件:
#开启下面三个参数:
开启3个参数 意图很简单:让Rsyslog加载imtcp模块并监听514端口,然后将Rsyslog中收集的数据转发到本地4560端口! 然后重启Rsyslog服务:
systemctl restart rsyslog
查看rsyslog启动状态:
netstat -tnl
部署ElasticSearch
-v ~/elasticsearch/data:/usr/share/elasticsearch/data
部署Logstaash
添加 ~/logstash/logstash.conf 配置文件如下:
{ syslog
配置中我们让Logstash从本地的Rsyslog服务中取出应用日志数据,然后转发到ElasticSearch数据库中! 配置完成以后,可以通过如下命令来启动Logstash容器:
-v ~/logstash/logstash.conf:/etc/logstash.conf
部署Kibana
--link elasticsearch:elasticsearch
启动Nginx容器来产生日志
浏览器打开 localhost:90 来打开Nginx界面,并刷新几次,让后台产生GET请求的日志 打开 Kibana 可视化界面:localhost:5601
收集 Nginx 应用日志
查询应用日志 在查询框中输入program=nginx可查询出特定日志
本文作者:Jack He
本文链接:https://www.cnblogs.com/Dev0ps/p/9388934.html