分布式监控系统Zabbix-3.0.3-完整安装记录 - 添加shell脚本监控-阿里云开发者社区

开发者社区> 吞吞吐吐的> 正文

分布式监控系统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主机的"图形”里添加图形

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/5660580.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Docker入门系列之一:在一个Docker容器里运行指定的web应用
Docker入门系列之一:在一个Docker容器里运行指定的web应用
4 0
如何使用Kubernetes里的NetworkPolicy
如何使用Kubernetes里的NetworkPolicy
3 0
SAP 云平台的一些有用链接 - 保证持续更新
SAP 云平台的一些有用链接 - 保证持续更新
6 0
最简单的docker教程:在docker里运行nginx服务器
最简单的docker教程:在docker里运行nginx服务器
3 0
CloudFoundry用命令cf login登录失败产生的日志输出
CloudFoundry用命令cf login登录失败产生的日志输出
6 0
使用cat写入内容到指定文件
使用cat写入内容到指定文件
5 0
不要再重复造轮子了,Hutool这款开源工具类库贼好使(3)
不要再重复造轮子了,Hutool这款开源工具类库贼好使
3 0
Docker container与宿主进程相互隔离的实现原理
Docker container与宿主进程相互隔离的实现原理
3 0
如何使用Kubernetes的configmap通过环境变量注入到pod里
如何使用Kubernetes的configmap通过环境变量注入到pod里
5 0
Kubernetes里的secret最基本的用法
Kubernetes里的secret最基本的用法
3 0
4533
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载