2023年9月23日 星期六

Zabbix monitor Docker Service

Zabbix monitor Docker Service

在Zabbix agent2安裝過程會加裝各種plugin,將使用Docker plugin來監控Docker service。
Zabbix agent2 plugin的安裝目錄為/etc/zabbix/zabbix_agent2.d/plugins.d/。使用設定檔為Docker.conf,預設是連結 unix://var/run/docker.sock。
04-zabbix-agent2 plugins

設備環境

Debian Linux 11
Docker version 20.10.23
Zabbix Agent 2 6.0.21

Docker設定

開啟Docker API

在監控主機修改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
---
05-edit docker api

重新啟動docker.service
# systemctl daemon-reload
# systemctl restart docker
# systemctl status docker

API測試

在Zabbix Server主機使用zabbix-get對監控主機進行測試。
先安裝zabbix-get
# sudo apt install zabbix-get
# zabbix_get -s 192.168.203.162 -k docker.info
06-check docker api

增加Zabbix agent2權限

在監控主機將zabbix加入docer群組。
# usermod -aG docker zabbix
07-fix zabbix agent2 user



Zabbix WEB設定

預計使用Zabbix Server內建Templates/Applications  的Docker by Zabbix agent 2 進行監控。

https://www.zabbix.com/integrations/docker

官方連結說明翻譯:
Zabbix 監控 Docker 引擎的模板,無需任何外部腳本即可運作。由於 Zabbix 批量資料收集,大部分指標都是一次性收集的。
模板Docker by Zabbix agent 2— 透過輪詢 zabbix-agent2 收集指標。

新增頁面設定如下:
08-add host


依官網說明在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
09-add host marcos

在Configuration > Host中新增Host。
10-host

在Monitoring > Host查看資料,有Problems。
11-data

在Monitoring > Problems,container停止有異常。
12-problem

Zabbix使用Zabbix agent2監控Docker Service,是由Zabbix Server透過監控主機的Zabbix agent2捉取資料,屬於被動模式。

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。