docker是一個進程,所以即使拉取的centos鏡像也不應該在安裝docker服務,所以這里監(jiān)控的是宿主機上的所有docker進程
先在物理機上安裝zabbix倉庫
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum安裝agent
yum -y install zabbix-agent
修改配置文件讓zabbix_server監(jiān)控到
vim /etc/zabbix/zabbix_agentd.conf
#先備份原始的
Server=172.17.0.2 ---zabbix_server 的ip地址
ServerActive=172.17.0.2 ---客戶端主動提交信息 和上面的保持一致
Hostname=localhost ---客戶端的主機名,宿主機的主機名
將zabbix用戶加入到docker組里面 使得zabbix服務可以執(zhí)行docker命令
gpasswd -a zabbix docker
啟動agent服務
systemctl start zabbix_agent
在web服務端里添加物理機主機

添加主機到配置中
添加python腳本(python2版) 這里路徑是/opt/zabbix/docker.py
#!/usr/bin/python
import sys
import os
import json
def discover():
d = {}
d['data'] = []
with os.popen("docker ps -a --format {{.Names}}") as pipe:
for line in pipe:
info = {}
info['{#CONTAINERNAME}'] = line.replace("\n","")
d['data'].append(info)
print json.dumps(d)
def status(name,action):
if action == "ping":
cmd = 'docker inspect --format="{{.State.Running}}" %s' %name
result = os.popen(cmd).read().replace("\n","")
if result == "true":
print 1
else:
print 0
else:
cmd = 'docker stats %s --no-stream --format "{{.%s}}"' % (name,action)
result = os.popen(cmd).read().replace("\n","")
if "%" in result:
print float(result.replace("%",""))
else:
print result
if __name__ == '__main__':
try:
name, action = sys.argv[1], sys.argv[2]
status(name,action)
except IndexError:
discover()
修改腳本權限 獲得執(zhí)行權限
chmod 755 /opt/zabbix/docker.py
[root@localhost zabbix]# ll docker.py
-rwxr-xr-x 1 root root 846 11月 30 17:11 docker.py
添加自定義鍵值 /etc/zabbix/zabbix_agentd.d
###docker
UserParameter=docker.discovery, python /opt/zabbix/docker.py
UserParameter=docker.[*], python /opt/zabbix/docker.py $1 $2
重啟zabbix_agent
systemctl restart zabbix_agent
使用服務端進行測試
/etc/zabbix # zabbix_get -s 10.0.122.178 -p 10050 -k docker.[centos-zabbix-agent,ping]
1
表示這個容器是存活的
/etc/zabbix # zabbix_get -s 10.0.122.178 -p 10050 -k docker.[centos-zabbix-agent,BlockIO]
609MB / 45.8MB
測試成功
這樣就可以去web端進行測試
首先要導入docker模板

image.png
模板docker鏈接 鏈接:https://pan.baidu.com/s/1fBSYo_IzcRCv_bmFKmEMwA 提取碼:yotd
主機鏈接模板

鏈接模板

查看主機列表

查看自動發(fā)現(xiàn)
使用自定義鍵值對創(chuàng)建監(jiān)控項

創(chuàng)建監(jiān)控項
查看最新數(shù)據(jù)

image.png
監(jiān)測到cpu的數(shù)據(jù)

image.png
最終展示圖形

image.png