Docker容器日志接入到GrayLog
本文参考如下链接完成
https://docs.docker.com/config/containers/logging/gelf/
(图片点击放大查看)
1、/etc/docker/daemon.json中加入如下配置并重启服务
{ "log-driver": "gelf", "log-opts": { "gelf-address": "udp://1.2.3.4:12201" } }
示例演示:
[root@localhost ~]# vim /etc/docker/daemon.json [root@localhost ~]# [root@localhost ~]# cat /etc/docker/daemon.json { "bip": "10.112.0.1/24", "registry-mirrors": ["https://XXXXXXX.mirror.aliyuncs.com"], "log-driver": "gelf", "log-opts": { "gelf-address": "udp://{GraylogServerIP}:12201" } } [root@localhost ~]# systemctl restart docker.service [root@localhost ~]#
(图片点击放大查看)
2、新建一个测试容器
docker run -d -it --name nginx_test -p 80:80 nginx:latest docker ps
(图片点击放大查看)
3、Graylog上面配置GELF Input,Stream,查询模板
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
4、接入的容器日志在GrayLog上的查询效果如下
(图片点击放大查看)
(图片点击放大查看)
5、当然也可以使用如下方法单独接入某个容器的日志
容器启动中加入如下参数
docker run \ --log-driver gelf --log-opt gelf-address=udp://1.2.3.4:12201 \ alpine echo hello world
- 示例
docker run -d -it --name nginx_dev2 -p 81:80 --log-driver=gelf --log-opt gelf-address=udp://{GraylogServerIP}:12202 nginx:latest
(图片点击放大查看)
- 效果演示
(图片点击放大查看)
(图片点击放大查看)