Zabbix使用手册:监控Docker容器及其资源使用情况

本文讲述如何通过zabbix监控docker:使用python脚本实现自动发现正在运行的容器,同时对容器资源使用情况加以监控。

系统环境

需要设置zabbix用户特定的超级权限,修改配置/etc/sudoers

安装依赖

安装simplejson

访问PyPI下载页面下载,本地提供的版本为3.17.2,然后解压并安装。

安装docker-py

创建监控脚本

创建自动发现容器的脚本/opt/zabbix/scripts/docker_discover.py

创建监控容器资源使用情况的脚本/opt/zabbix/scripts/docker_monitor.py

以上两个脚本赋予执行权限:

配置zabbix-agent

修改配置/etc/zabbix/zabbix_agentd.conf

重启zabbix-agent:

测试脚本:

配置监控模板

在zabbix-server或zabbix-proxy端测试是否能获取数据:

创建模板

名 称:Docker Containers
应用集:Docker

创建自动发现规则

名称:Auto Discover Containers
键值:docker_discover[docker]
间隔:5m

创建监控项原型

监控脚本中支持的监控项包括:cpu_total_usage、cpu_system_usage、cpu_percent、mem_usage、mem_limit、mem_percent、network_rx_bytes和network_tx_bytes。

CPU使用率
名称:容器{#CONTAINERNAME}的CPU使用率
键值:docker_status[{#CONTAINERNAME},cpu_percent]
单位:%

按相同方法添加内存使用率:mem_percent

已用内存
名称:容器{#CONTAINERNAME}的可用内存
键值:docker_status[{#CONTAINERNAME},mem_usage]
单位:b

按相同方法添加已用内存的监控项:mem_limit

网卡流量
名称:容器{#CONTAINERNAME}网络流出速度
键值:docker_status[{#CONTAINERNAME},network_rx_bytes]
单位:b
进程:每秒更改

按相同方法添加网络流入速度的监控项:network_tx_bytes

创建好监控项原型后,就可以创建触发器和图形了,本文略。

原创文章禁止转载:技术学堂 » Zabbix使用手册:监控Docker容器及其资源使用情况

精彩评论

4+7=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏