docker 日志收集
一、环境准备
sysctl vm.max_map_count=262144 docker pull sebp/elk
二、运行ELK容器
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --rm --name elk sebp/elk #容器启动后执行下面地址验证es是否启动成功 http://192.168.1.xx:9200/_search?pretty
三、安装fluentd软件(与elk容器安装同一台机)
docker pull fluent/fluentd #拉取软件 mkdir /fluentd_log #创建一个收集日志后保存的路径 docker run -d -p 24224:24224 -p 24224:24224/udp -v /fluentd_log:/fluentd/log fluent/fluentd
四、安装日志收集工具filebeat (与elk容器安装同一台机)#
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat
rpm -ivh filebeat-6.x.x-x86_l4.rpm
#安装RPM包后,修改以下配置项
vim /etc/filebeat/filebeat.yml
enabled:true #开启
paths:
- /var/log/*.log #注释掉这行日志目录
- /data/docker/containers/*/*.log #注释,此目录为容器ID
- /fluentd_log #添加这行
output.elasticsearch:
hosts:["192.168.1.xx:9200"] #改成ES地址
/etc/init.d/filebeat start #启动 filebeat
/etc/init.d/filebeat status #查看 filebeat 状态五、修改docker日志驱动,发送日志到fluentd软件
(要收集日志的 主机修改此文件)
vim /etc/docker/daemon.json
{
"log-driver":“fluent”,
"log-opts":{
"fluentd-address":"192.168.1.xx:24224",
"tag":"linux-node4.xx.com" #标识,改成自己主机名
}
}
systemctl daemon-reload #重载配置
systemctl restart docker #记得关闭防火墙,selinux之类的。六、容器时间同步方法
docker cp /usr/share/zoneinfo/Asia d2kldds23:/usr/share/zoneinfo/Asia docker exec d2kldds23 mkdir /usr/share/zoneinfo -p docker cp /usr/share/zoneinfo/Asia d2kldds23:/usr/share/zoneinfo/Asia docker restart d2kldds23

桂ICP备16010384号-1
停留在世界边缘,与之惜别