容器的应用越来越普遍了,但是大量的容器我们怎么进行管理呢?当然是监控起来!
今天这篇文章讲的就是使用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的内容完成!
到此这篇关于zabbix监控docker应用配置的文章就介绍到这了,更多相关zabbix监控docker内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_42527269/article/details/118541605