分布式監控系統Zabbix-3.0.3-完整安裝記錄 - 添加shell腳本監控


 

對公司的jira訪問狀態進行監控,當訪問狀態返回值是200的時候,腳本執行結果為1;其他訪問狀態返回值,腳本執行結果是0。然后將該腳本放在zabbix進行監控,當非200狀態時發出報警。
jira訪問狀態的監控腳本為:

在jira部署機(比如是192.168.1.21)的zabbix監控腳本目錄下編寫監控腳本(jira的端口為8080):

[root@jira ~]# cd /data/zabbix/monitor_scripts/
[root@jira monitor_scripts]# cat jira.sh 
#!/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

TomcatID=$(ps -ef | grep tomcat|grep -w 'jira'|grep -v grep|awk '{print $2}')

StartTomcat=/home/jira/bin/start-jira.sh
TomcatCache=/home/jira/work

#WebUrl="http://127.0.0.1:8080/secure/Dashboard.jspa"
WebUrl="http://127.0.0.1:8080"

#GetPageInfo=/tmp/TomcatMonitor.Info
#TomcatMonitorLog=/tmp/TomcatMonitor.log

Monitor()
{
        if [ $TomcatID ];then
          TomcatServiceCode=$(curl -Is --connect-timeout 5 $WebUrl|grep "HTTP/1.1"|awk '{print $2}'  )
            if [ $TomcatServiceCode -eq 200 ];then
               echo "1"
            else
               echo "0"
               #echo "[error]頁面訪問出錯,開始重啟tomcat"
               #kill -9 $TomcatID
               #sleep 3
               #rm -rf $TomcatCache
               #$StartTomcat
            fi
        else
          echo "[error]tomcat進程不存在!tomcat開始自動重啟..."
          #echo "[info]$StartTomcat,請稍候......"
          #rm -rf $TomcatCache
          #$StartTomcat
        fi
}
Monitor

查看jira是否啟動
[root@jira monitor_scripts]# lsof -i:8080
COMMAND    PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    185656 root   70u  IPv6 17130649      0t0  TCP *:webcache (LISTEN)
java    185656 root   99r  IPv6 17325465      0t0  TCP 192.168.1.21:59110->192.168.1.21:webcache (ESTABLISHED)
java    185656 root  105r  IPv6 17325461      0t0  TCP 192.168.1.21:59106->192.168.1.21:webcache (ESTABLISHED)

[root@jira monitor_scripts]# sh jira.sh 
1

[root@jira monitor_scripts]# cd ../etc/zabbix_agentd.conf.d/
[root@jira zabbix_agentd.conf.d]# cat jira.conf 
UserParameter=jira_code,/bin/bash /data/zabbix/monitor_scripts/jira.sh


然后在zabbix的服務端進行測試(如下,必須要返回正確結果,否則無效的鍵值,在zabbix里添加items也是無效!):
重點是通過zabbix_get獲取jira_code的值,這個鍵值在zabbix添加items監控項的時候要填寫正確
[root@zabbix ~]# /data/zabbix/bin/zabbix_get -s 192.168.1.21 -k jira_code
1

然后登錄zabbix,找到jira的部署主機,在jira主機的items里添加監控項:

接着添加trigger觸發器。當該腳本執行結果為0的時候觸發。

然后添加“動作”報警

這樣,當jira主機的這個監控腳本執行結果為0的時候,就會觸發這個動作,然后就會發出報警郵件或短信了。

也可以對這個監控項繪制監控圖形。在jira主機的"圖形”里添加圖形


免責聲明!

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



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