docker容器日志采集EFK日志分析系统的搭建与应用
docker容器日志采集方案
前言
docker容器中的日志会随着docker的关闭而消失,需要一个持久化的日志落地方案
本编介绍elasticsearch+kibana+filebeat的搭建如何收集各docker容器的日志
一、elasticsearch安装与配置
ES下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz解
压到/usr目录下:tar zxvf elasticsearch-6.3.2.tar.gz –c /usr/
创建es用户并赋权:useradd es&& chown -R es:es /usr/elasticsearch-6.3.2.tar.gz/
修改elasticsearch配置文件:
vim /usr/elasticsearch-6.3.2/config/elasticsearch.yml
elasticsearch不能用root启动所以切换成刚创建的用户:su es
执行:/usr/elasticsearch-6.3.2/bin/./elasticsearch
如果出现如下报错:
对此文件赋权:chmod 777 /usr/jdk1.8.0_141/jre/bin/java
再次执行es启动 出现如下报错:
修改elasticsearch虚拟机参数(默认1G):
vim /usr/elasticsearch-6.3.2/config/jvm.options
再次启动elasticsearch,出现新的报错信息
切换成root账号:su root
1. 修改:vim /etc/security/limits.conf
添加:es soft nofile 65536
es hard nofile 65536
2. 修改 vim /etc/sysctl.conf
添加:vm.max_map_count=262144
刷新:sysctl -p
再次启动elasticsearch: /usr/elasticsearch-6.3.2/bin/./elasticsearch -d (后台启动)
校验elasticsearch是否启动成功:curl 192.168.1.119:9200
或者浏览器访问:
二、kibana安装与配置
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-x86_64.rpm
安装:yum install -y kibana-6.0.0-x86_64.rpm
修改:vim /etc/kibana/kibana.yml
开机自启与启动kibana: systemctl enable kibana && systemctl start kibana
页面访问kibana:
三、filebeat安装与配置
日志收集:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.2-x86_64.rpm
安装:rpm -ivh filebeat-6.3.2-x86_64.rpm
修改filebeat.yml文件:vim /etc/filebeat/filebeat.yml
搭建完毕后在kibana上回发现抛错信息回被分message显示 所以顺道在此文件中修改
保存退出,启动filebeat: systemctl start filebeat.service
停止filebeat服务:systemctl stop filebeat.service
至此EFK日志系统搭建完毕,下面我来介绍如何用EFK收集docker容器日志
四、EFK采集docker容器日志
以zuul服务为例:
查看代码中logback配置:
修改zuul的服务栈文件:
服务启动会发现报错没有权限访问容器logs文件夹下的zuul.log
修改设置 vim /etc/sysconfig/selinux
然后再次启动服务后可以看到宿主机中此目录以及同步到了zuul.log
然后创建kibana的索引:
更多推荐
所有评论(0)