一、說明
zabbix監控支持自定義腳本以及自制模板來擴展監控,換句話說就是對業務自定義監控;因此通過撰寫腳本完成自定義監控十分有必要;這里的腳本既可以用shell也可以用python等語言;
另外自定義了腳本主要目的是獲取業務相關的監控數據;還需要結合zabbix web GUI上的模板才能生效;本文的目的就是基於之前的zabbix相關部署操作之后的補充!
任務:
通過撰寫腳本將wget下載速度獲取,添加監控模板,添加觸發器;添加圖形;完整實現腳本自定義監控的整個步聚流程!
二、agent端配置
創建目錄存放自定義腳本
[root@NOC-WX-ZABBIX ~]#mkdir -pv /etc/zabbix/script [root@NOC-WX-ZABBIX ~]#chown zabbix.zabbix /etc/zabbix/script
腳本內容
wget_speed() { cd /tmp/ timeout 5s wget http://download.xxx.51idc.com:8888/XenConvert_Install.exe >/dev/null 2>&1 i=$(du -sh XenConvert_Install.exe | awk '{print$1}') i=$(echo "$i" | tr -cd '[0-9]') a=$(echo "scale=2;$i/5" |bc) echo $(date "+%m-%d,%H:%M:%S")++++++$a >> /var/log/zabbix/speed.log rm -rf /tmp/XenConvert_Install.exe* echo $a } wget_speed
配置zabbix-agentd.conf
執行自定義腳本獲取數據時;需要打開對應選項
[root@NOC-WX-ZABBIX ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 EnableRemoteCommands=1 #遠程執行命令的選項 Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix server Timeout=30 Include=/etc/zabbix/zabbix_agentd.d/*.conf UnsafeUserParameters=1 #設置1表示允許用戶自定義key(監控項)
修改/etc/sudoers
由於zabbix server獲取數據是通過自定義腳本基於agent 代理執行獲取,因此需要修改sudo的配置以便執行
/etc/sudoers中添加如下內容並注釋如下行
Defaults requiretty #不需要tty終端即可執行命令 zabbix ALL=(root) NOPASSWD: /usr/sbin/ss zabbix ALL=(root) NOPASSWD: /usr/bin/rm
自定義key配置文件
[root@NOC-WX-ZABBIX ~]# cat /etc/zabbix/zabbix_agentd.d/wget_speed.conf UserParameter=wget_speed[*],/etc/zabbix/script/wget.sh
說明:此處的wget_speed就是監控key或叫監控項名
重啟zabbix-agent服務
[root@NOC-WX-ZABBIX ~]# systemctl restart zabbix-agent
可以通過zabbix server端的zabbix_get測試是否能獲取自定義監控項的數據
[root@NOC-WX-ZABBIX ~]# zabbix_get -s 127.0.0.1 -p 10050 -k "wget_speed[wget_speed,ESTAB]"
10.60
至此通過腳本自定義監控項agent端的配置已經完成;
三、自定義模板使用
在agent端完成腳本和自定義的監控項配置后,zabbix server web GUI上需要創建對應的模板;其他的主機可以套用模板以獲取自定義數據;
創建模板:
配置-->模塊-->創建模板-->模板名稱 "WGET_SPEED" -->放入 NOC組-->添加 如圖:
添加itme監控項
配置-->模塊-->WGET_SPEED -->監控項 -->創建監控項-->名稱 "WGET_SPEED_ESTAB" -->鍵值"wget_speed[wget_speed,ESTAB]" -->信息類型"浮點數"-->應用集"WGET_SPEED" -->添加
如圖:
創建圖形:
配置-->模塊-->WGET_SPEED -->圖形 -->創建圖形 -->名稱 "WGET_SPEED_Graph" -->選擇之前的監控項 -->添加 如圖:
至此一個自定義的監控模板制作完成!
后續關聯主機,查看最新數據,查看圖形做一些調整。