对公司的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->192.168.1.21:webcache (ESTABLISHED)</code>
<code>java 185656 root 105r IPv6 17325461 0t0 TCP 192.168.1.21:59106->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里添加监控项:

接着添加trigger触发器。当该脚本执行结果为0的时候触发。
然后添加“动作”报警
这样,当jira主机的这个监控脚本执行结果为0的时候,就会触发这个动作,然后就会发出报警邮件或短信了。
也可以对这个监控项绘制监控图形。在jira主机的"图形”里添加图形
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/5660580.html,如需转载请自行联系原作者