分布式监控系统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 | 在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主机的"图形”里添加图形
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
分类:
监控系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!