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

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配置

GrayLog日志平台的基本使用-docker容器日志接入_第1张图片

GrayLog日志平台的基本使用-docker容器日志接入_第2张图片

Stream配置

GrayLog日志平台的基本使用-docker容器日志接入_第3张图片

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

1)curl测试

GrayLog日志平台的基本使用-docker容器日志接入_第4张图片

GrayLog日志平台的基本使用-docker容器日志接入_第5张图片

2)浏览器测试

GrayLog日志平台的基本使用-docker容器日志接入_第6张图片

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

GrayLog日志平台的基本使用-docker容器日志接入_第7张图片

GrayLog日志平台的基本使用-docker容器日志接入_第8张图片

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

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

GrayLog日志平台的基本使用-docker容器日志接入_第9张图片

GrayLog日志平台的基本使用-docker容器日志接入_第10张图片

GrayLog日志平台的基本使用-docker容器日志接入_第11张图片

GrayLog日志平台的基本使用-docker容器日志接入_第12张图片

你可能感兴趣的:(graylog)