天天看點

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

對公司的jira通路狀态進行監控,當通路狀态傳回值是200的時候,腳本執行結果為1;其他通路狀态傳回值,腳本執行結果是0。然後将該腳本放在zabbix進行監控,當非200狀态時發出報警。

jira通路狀态的監控腳本為:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

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

<code>[root@jira ~]</code><code># cd /data/zabbix/monitor_scripts/</code>

<code>[root@jira monitor_scripts]</code><code># cat jira.sh</code>

<code>#!/bin/sh</code>

<code>PATH=</code><code>/usr/local/sbin</code><code>:</code><code>/usr/local/bin</code><code>:</code><code>/sbin</code><code>:</code><code>/bin</code><code>:</code><code>/usr/sbin</code><code>:</code><code>/usr/bin</code>

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

<code>StartTomcat=</code><code>/home/jira/bin/start-jira</code><code>.sh</code>

<code>TomcatCache=</code><code>/home/jira/work</code>

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

<code>WebUrl=</code><code>"http://127.0.0.1:8080"</code>

<code>#GetPageInfo=/tmp/TomcatMonitor.Info</code>

<code>#TomcatMonitorLog=/tmp/TomcatMonitor.log</code>

<code>Monitor()</code>

<code>{</code>

<code>        </code><code>if</code> <code>[ $TomcatID ];</code><code>then</code>

<code>          </code><code>TomcatServiceCode=$(curl -Is --connect-timeout 5 $WebUrl|</code><code>grep</code> <code>"HTTP/1.1"</code><code>|</code><code>awk</code> <code>'{print $2}'</code>  <code>)</code>

<code>            </code><code>if</code> <code>[ $TomcatServiceCode -</code><code>eq</code> <code>200 ];</code><code>then</code>

<code>               </code><code>echo</code> <code>"1"</code>

<code>            </code><code>else</code>

<code>               </code><code>echo</code> <code>"0"</code>

<code>               </code><code>#echo "[error]頁面通路出錯,開始重新開機tomcat"</code>

<code>               </code><code>#kill -9 $TomcatID</code>

<code>               </code><code>#sleep 3</code>

<code>               </code><code>#rm -rf $TomcatCache</code>

<code>               </code><code>#$StartTomcat</code>

<code>            </code><code>fi</code>

<code>        </code><code>else</code>

<code>          </code><code>echo</code> <code>"[error]tomcat程序不存在!tomcat開始自動重新開機..."</code>

<code>          </code><code>#echo "[info]$StartTomcat,請稍候......"</code>

<code>          </code><code>#rm -rf $TomcatCache</code>

<code>          </code><code>#$StartTomcat</code>

<code>        </code><code>fi</code>

<code>}</code>

<code>Monitor</code>

<code>檢視jira是否啟動</code>

<code>[root@jira monitor_scripts]</code><code># lsof -i:8080</code>

<code>COMMAND    PID USER   FD   TYPE   DEVICE SIZE</code><code>/OFF</code> <code>NODE NAME</code>

<code>java    185656 root   70u  IPv6 17130649      0t0  TCP *:webcache (LISTEN)</code>

<code>java    185656 root   99r  IPv6 17325465      0t0  TCP 192.168.1.21:59110-&gt;192.168.1.21:webcache (ESTABLISHED)</code>

<code>java    185656 root  105r  IPv6 17325461      0t0  TCP 192.168.1.21:59106-&gt;192.168.1.21:webcache (ESTABLISHED)</code>

<code>[root@jira monitor_scripts]</code><code># sh jira.sh</code>

<code>1</code>

<code>[root@jira monitor_scripts]</code><code># cd ../etc/zabbix_agentd.conf.d/</code>

<code>[root@jira zabbix_agentd.conf.d]</code><code># cat jira.conf</code>

<code>UserParameter=jira_code,</code><code>/bin/bash</code> <code>/data/zabbix/monitor_scripts/jira</code><code>.sh</code>

<code>然後在zabbix的服務端進行測試(如下,必須要傳回正确結果,否則無效的鍵值,在zabbix裡添加items也是無效!):</code>

<code>重點是通過zabbix_get擷取jira_code的值,這個鍵值在zabbix添加items監控項的時候要填寫正确</code>

<code>[root@zabbix ~]</code><code># /data/zabbix/bin/zabbix_get -s 192.168.1.21 -k jira_code</code>

然後登入zabbix,找到jira的部署主機,在jira主機的items裡添加監控項:

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

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

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

然後添加“動作”報警

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

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

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

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

***************當你發現自己的才華撐不起野心時,就請安靜下來學習吧***************

本文轉自散盡浮華部落格園部落格,原文連結:http://www.cnblogs.com/kevingrace/p/5660580.html,如需轉載請自行聯系原作者