在Zabbix agent2安裝過程會加裝各種plugin,將使用Docker plugin來監控Docker service。
Zabbix agent2 plugin的安裝目錄為/etc/zabbix/zabbix_agent2.d/plugins.d/。使用設定檔為Docker.conf,預設是連結 unix://var/run/docker.sock。
Debian Linux 11
Docker version 20.10.23
Zabbix Agent 2 6.0.21
在監控主機修改docker.service設定檔。
nano /usr/lib/systemd/system/docker.service
---
修改前
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
---
修改後
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H unix://var/run/docker.sock
---
重新啟動docker.service
# systemctl daemon-reload
# systemctl restart docker
# systemctl status docker
在Zabbix Server主機使用zabbix-get對監控主機進行測試。
先安裝zabbix-get。
# sudo apt install zabbix-get
# zabbix_get -s 192.168.203.162 -k docker.info
在監控主機將zabbix加入docer群組。
# usermod -aG docker zabbix
預計使用Zabbix Server內建Templates/Applications 的Docker by Zabbix agent 2 進行監控。
官方連結說明翻譯:
Zabbix 監控 Docker 引擎的模板,無需任何外部腳本即可運作。由於 Zabbix 批量資料收集,大部分指標都是一次性收集的。
模板Docker by Zabbix agent 2— 透過輪詢 zabbix-agent2 收集指標。
新增頁面設定如下:
依官網說明在Maros頁面新增7組參數,並填入對應的值。
{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}
.*
{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}
CHANGE_IF_NEEDED
{$DOCKER.LLD.FILTER.IMAGE.MATCHES}
.*
{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}
CHANGE_IF_NEEDED
在Configuration > Host中新增Host。
在Monitoring > Host查看資料,有Problems。
在Monitoring > Problems,container停止有異常。
Zabbix使用Zabbix agent2監控Docker Service,是由Zabbix Server透過監控主機的Zabbix agent2捉取資料,屬於被動模式。
內容為學習過程如有問題,請多多指教,謝謝。
文章也同步於個人網站