GrayLog日志平台的基本使用-docker容器日志接入

发布时间:2023年12月22日

1、/etc/docker/daemon.json中加入如下配置并重启服务

[root@localhost src]# cat /etc/docker/daemon.json?
{
? "registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"],

? "log-driver": "gelf",
? ? ?"log-opts": {
? ? ? ? "gelf-address": "udp://192.168.20.205:12201"? ?####GrayLog的主机IP
? ? }?
}

重启服务systemctl restart docker.service

2、新建一个测试容器

docker run -d -it --name nginx_test -p 80:80 nginx:latest

docker ps

本机测试:curl -vk http://127.0.0.1

在本机测试时,docker无法访问,应该是内核版本太低的问题,我这里进行了内核升级操作

Centos7升级内核

1、查看当前内核版本

$ uname -r

3.10.0-1160.25.1.el7.x86_64

2、更新yum仓库

2.1、替换阿里云yum源,并升级

$ rm /etc/yum.repos.d/*.repo

$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

$ wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

$ yum clean all && yum -y update

2.2、启用elrepo仓库

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

3、升级内核

yum --enablerepo=elrepo-kernel install kernel-ml

3.2.1、查看系统上的所有可用内核:

[root@localhost src]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (6.6.8-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.105.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-fc126d81ecf1461fa658e98eff3f1578) 7 (Core)
?

3.2.2、设置新的内核为grub2的默认版本

服务器上存在4 个内核,我们要使用 5.12.1这个版本,可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置

方法1、通过 grub2-set-default 0 命令设置

其中 0 是上面查询出来的可用内核

grub2-set-default 0

方法2、编辑 /etc/default/grub 文件

设置 GRUB_DEFAULT=0,通过上面查询显示的编号为 0 的内核作为默认内核:

$ vim /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=0

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rhgb quiet"

GRUB_DISABLE_RECOVERY="true"

3.2.3、生成 grub 配置文件并重启

?grub2-mkconfig -o /boot/grub2/grub.cfg

reboot

重启docker容器 ,本机测试正常

3、Graylog上面配置GELF Input,Stream,查询模板

Input配置

Stream配置

4、接入的容器日志在GrayLog上的查询效果如下

1)curl测试

2)浏览器测试

3)为了让日志看的更清晰,调整一下Messages参数

5、当然也可以使用如下方法单独接入某个容器的日志

docker run -d -it --name nginx_dev2 -p 81:80 --log-driver=gelf --log-opt gelf-address=udp://{GraylogServerIP}:12202 nginx:latest

文章来源:https://blog.csdn.net/qq_31292011/article/details/135151822
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。