通过Zabbix监控Docker容器。官方自带模板 Docker by Zabbix agent2 template 实现Docker容器监控。
一、介绍
-
安装并配置Zabbix Agent2
-
Zabbix Agent2 的特定插件配置
-
验证主机和模板配置
二、安装并配置Zabbix Agent2
在开始配置主机之前,我们应该先安装Zabbix agent2并按照模板指南来配置。按照官网中的步骤安装 Zabbix-agent2。根据需要可以灵活使用其他代理部署方法(如源文件编译安装代理)。
从软件包中安装 Zabbix agent2只需要几个简单的步骤:
安装 Zabbix 仓库包:
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
安装Zabbix agent2软件包:
dnf install zabbix-agent2
修改Zabbix server/proxy 配置文件中的Server 和ServerActive参数。
Server=127.0.0.1 ##根据实际地址填写
ServerActive=127.0.0.1 ##根据实际地址填写
Zabbix Agent2特定插件配置
Zabbix agent2提供了特定的插件配置参数,通常情况下,与特定插件相关的参数都是可选参数。可以在 Zabbix 文档中找到相关插件配置参数的完整列表。在新版本的Zabbix agent2中,特定插件的参数被定义在位于 /etc/zabbix/zabbix_agent2.d/plugins.d/ 下单独的插件配置文件中,而在旧版本中可以直接在 zabbix_agent2.conf 文件中定义。
对于Zabbix agent2 Docker plugin(Docker监控插件),我们必须配置 Docker服务的 unix-socket 文件位置。可以通过下面这个插件参数实现:
### Option: Plugins.Docker.Endpoint
# Docker API endpoint.
#
# Mandatory: no
# Default: unix:///var/run/docker.sock
# Plugins.Docker.Endpoint=unix:///var/run/docker.sock
默认安装的Docker 环境套接字位置是正确在这种情况下,可以不用修改配置文件。
在对Zabbix agent2 配置文件做了必要的修改后,启动并启用代理:
systemctl enable zabbix-agent2 --now
检查 Zabbix agent2运行状态:
tail -f /var/log/zabbix/zabbix_agent2.log
注:Docker socket文件权限,Zabbix 用户需要有访问 Docker Docker socket文件的权限。应该将 zabbix 用户添加到 docker 组中。可以通过如下命令将 zabbix 用户添加到 Docker 组。
usermod -aG docker zabbix 。
创建监控主机和关联监控模板这里不做过多阐述。
模板包含常规监控项,用于Docker实例通用指标监控,例如:可用镜像数量,Docker架构信息,容器的总数、另外使用LLD规则采集容器和特定镜像的信息。LLD(低级别发现)规则将通过原型为每个容器和镜像创建监控项、触发器和图形。通过这种方法实现容器和特定镜像的指标监控,例如:容器内存、网络信息、容器状态等。
三、验证监控项
zabbix_get -s docker.host -k docker.info
注:自带模板上监控项false的参数解释如下:
docker.containers.discovery[false] – 只发现正在运行的容器
docker.containers.discovery[true] – 发现所有容器,不管是什么状态。
博客可能不能及时回复问题,技术问题欢迎加入交流。
具有丰富的模板资源及模板开发能力、项目落地管理经验分享欢迎加入交流
微信号:king_songax