zabbix自定義腳本監控


一、說明

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" -->選擇之前的監控項 -->添加 如圖:

 

至此一個自定義的監控模板制作完成!

后續關聯主機,查看最新數據,查看圖形做一些調整。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM