对公司的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主机的"图形”里添加图形

最新文章

  1. MongoDB安装
  2. C# ORM中Dto Linq Expression 和 数据库Model Linq Expression之间的转换
  3. 初识makefile
  4. 使用APC缓存PHP opcode
  5. 解决ASP.NET使用IIS架设网站时“服务器应用程序不可用”的方法
  6. IIS 64位上發佈32位asp.net設置
  7. Okhttp3日志采集功能
  8. QTcpSocket通信编程时阻塞与非阻塞的问题
  9. Java的容器类小结
  10. 基础教程:视图中的ASP.NET Core 2.0 MVC依赖注入
  11. 玩转PHP中的正则表达式
  12. linux系统mysql-5.7 修改字符集
  13. 关于PHP架构师进阶的一些思考
  14. php编程 之 php进阶练习
  15. flask --- 04 . 偏函数, 线程安全,栈堆,
  16. P2326 AKN’s PPAP
  17. Android中Local Service最本质的作用是什么?
  18. awk 和 sed (Stream Editor)
  19. Import Projects from git
  20. 记录 am335x 因为 pinmux 配置不对导致 不断的原因

热门文章

  1. python scrapy 登录知乎过程
  2. ECstore后台报表显示空白问题解决办法
  3. C# X509Certificate类 调用证书
  4. c++のmap的遍历
  5. python更新tomcat脚本
  6. 2080 特殊的质数肋骨 USACO (深度优先搜索)
  7. .Net修改网站项目调试时的虚拟目录(未验证)
  8. 【转】Pandas的Apply函数——Pandas中最好用的函数
  9. 利用python scapy包进行抓包发包与ARP扫描
  10. ubuntu 系统升级 cmake