zabbix监控docker应用配置
导读
容器的应用越来越普遍了,但是大量的容器我们怎么进行管理呢?当然是监控起来!
今天这篇文章讲的就是使用zabbix监控docker容器!
关于zabbix监控的docker的原理:
agent2监控docker就是通过调用docker的API来获取数据 插件目录存放于zabbix-agent2/src/go/plugins/docker client.go文件定义了 使用Unix套接字地址进行docker客户端与服务端的通信 默认套接字位置为/var/run/docker.sock
通过zabbix监控docekr的部署大概分为五个部分:
1.下载zabbix-agent2
在被监控主机安装zabbix-agent2,注意:是agent2,而不是agent。 zabbix-agent2版本要与服务端版本一致
wget https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-agent2-5.2.7-1.el7.x86_64.rpm rpm -ivh zabbix-agent2-5.2.7-1.el7.x86_64.rpm
2.修改配置文件,基本配置即可。
vim /etc/zabbix/zabbix_agent2.conf Server=192.168.1.4 ServerActive=192.168.1.4 #启动主动推送数据模式 Hostname=192.168.1.5
3.将zabbix用户加入到docker组,这点很重要,一定不能忽略。
因为安装完zabbix-agent2会默认创建一个用户zabbix
id zabbix uid=997(zabbix) gid=995(zabbix) 组=995(zabbix)
要获取docker数据,我们需要拥有访问/var/run/docker.sock套接字的权限。
ll /var/run/docker.sock srw-rw---- 1 root docker 0 7月 7 09:09 /var/run/docker.sock
我们可以看到,除了root用户,docker组也是有读写权限的,所以我们将zabbix用户加入到docker组。
usermod -aG docker zabbix id zabbix uid=997(zabbix) gid=995(zabbix) 组=995(zabbix),994(docker)
4.运行zabbix-agent2服务
systemctl start zabbix-agent2 systemctl enable zabbix-agent2
5 .在web页面进行配置
本次实验我们的客户端依然使用192.168.1.5
的主机 步骤:点击配置——主机——点击192.168.1.5主机——模板——选择链接新模板——主机群组——模板——选择docker——点击更新
更新后我们就可以在配置——主机
中看到监控项中有了docker
稍等片刻我们即可在监测——最新数据
查看到监控到的docker信息
此时我们运行一个web01的docker容器
docker run -d -p 80:80 --name web01 nginx:1.16.1 docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 17095d63ed44 nginx:1.16.1 "nginx -g 'daemon of…" 20 minutes ago Up 20 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp web01
片刻后我们即可看到zabbix检测docker容器关于web01容器的内容
本文使用的模板为自带模板
到此,我们关于zabbix监控docker的内容完成!