zabbix自定義腳本監控服務器端口狀態


zabbix可以通過客戶端的[net.tcp.port[<ip>,port]]該item監控項來判斷本地/遠程服務器TCP端口是否正常,不過當時沒有想起來,就用了自定義腳本去寫的,很久沒有寫完全忘了,以下是步驟:


1.在客戶端打開子配置文件選項,默認是已經打開的

Include=/etc/zabbix/zabbix_agentd.d/*.conf

2.開始編寫腳本,大致就是通過shell腳本參數傳入ip地址和port,通過namp命令去獲取端口狀態

ip=$1
port=$2

port_status=`nmap $1 -p$2 | grep $2 | awk '{print $2}'`
echo $port_status 

最后其實就是通過echo得到一個字符,然后在zabbix中進行判斷
3.指定用戶自定義參數,就是剛剛我們說的子配置文件選項

cd /etc/zabbix/zabbix_agentd.d/
vim check_port_status.sh

UserParameter=port_status[*],/etc/zabbix/check_scripts/port_status.sh $1 $2

這里寫的目的就是當我們在web界面填寫item時,zabbix如果不知道的話就會過來找這些自定義參數port_status

4.在web端添加模板
模板.png

5.創建應用集
圖片.png

6.添加監控項
圖片.png

鍵值的話,需要傳遞兩個,用,分割,其中port_status和剛剛子配置文件中設置的自定義參數

7.應用模板

8.配置觸發器報警
觸發器.png

這里的監控項就選剛剛添加的,功能函數選擇str(),因為我們腳本中echo輸出的是字符串,V表示最新的值open或者closed(還有其他幾種情況),那么這句表達式的意思為:最新的值中沒有找到open就會報警

9.完成


免責聲明!

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



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