zabbix監控docker容器以及使用資源利用率
由於公司使用docker程序在線上環境中,防止容器以但掛掉我們這邊可以隨時監控到容器的情況,以及容器的資源占用情況;
公司領導決定使用zabbix監控docker
可參考資料https://www.cnblogs.com/feigerlan/p/8193600.html
1、首先在安裝zabbixserver端;這裏不做介紹
2、安裝zabbix客戶端,然後安裝模塊 pip install docker-py後面使用 client方法
3、完成之後在zabbix客戶端安裝docker服務,創建一個放腳本的文件夾
4、mkdir /etc/zabbix/script/
5、接下來創建三個腳本,兩個是python寫的,一個是shell
完成之後將zabbix的客戶端配置文件修改一下
UserParameter=docker_discovery[*], python /etc/zabbix/script/docker_discovery.py $1
UserParameter=docker_stats[*], sudo /usr/bin/python /etc/zabbix/script/docker_monitor.py $1 $2
UserParameter=docker_process[*], /bin/bash /etc/zabbix/script/docker_processmonitor.sh $1 $2 $3
重啟zabbix客戶端
6、在server端測試一下啊看看腳本是否能夠用
zabbix_get -s 172.16.2.115 -k docker_discovery[docker]
查看其中一個容器的使用資源情況:
zabbix_get -s 172.16.2.115 -k docker_stats[tomcat,mem_usage]
zabbix_get -s 172.16.2.115 -k docker_stats[tomcat,cpu_total_usage]
zabbix_get -s 172.16.2.115 -k docker_stats[tomcat,cpu_percent]
zabbix_get -s 172.16.2.115 -k docker_stats[tomcat,mem_limit]
zabbix_get -s 172.16.2.115 -k docker_stats[tomcat,mem_percent]
zabbix_get -s 172.16.2.115 -k docker_stats[tomcat,network_rx_bytes]
zabbix_get -s 172.16.2.115 -k docker_stats[tomcat,network_tx_bytes]
7、給權限,在客戶端上操作:
chown zabbix.zabbix /etc/zabbix/script/*
chmod 777 /etc/zabbix/script/docker_*
echo "zabbix ALL=(root) NOPASSWD:/bin/docker,/usr/bin/python,/etc/zabbix/script/docker_monitor.py,/etc/zabbix/script/docker_discovery.py,/etc/zabbix/script/docker_processmonitor.sh">>/etc/sudoers
8、接下來在zabbixweb上面配置模板板
備註:下面的都要添加
先創建了cpu、內存、和進出流量監控
指定圖形
在定義下cpu的使用情況
和上面的一樣
就改改名稱就行:
查看下效果
zabbix監控docker容器以及使用資源利用率