容器的应用越来越普遍了,但是大量的容器我们怎么进行管理呢?当然是监控起来! 今天这篇文章讲的就是使用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.rpmrpm -ivh zabbix-agent2-5.2.7-1.el7.x86_64.rpm 2.修改配置文件,基本配置即可。 vim /etc/zabbix/zabbix_agent2.confServer=192.168.1.4ServerActive=192.168.1.4 #启动主动推送数据模式Hostname=192.168.1.5 3.将zabbix用户加入到docker组,这点很重要,一定不能忽略。 因为安装完zabbix-agent2会默认创建一个用户zabbix id zabbixuid=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 zabbixid zabbixuid=997(zabbix) gid=995(zabbix) 组=995(zabbix),994(docker) 4.运行zabbix-agent2服务 systemctl start zabbix-agent2systemctl enable zabbix-agent2 5 .在web页面进行配置 |