zabbix自动发现监控tomcat健康页面

系统运维

zabbix自动发现监控tomcat健康页面

一、背景

    公司系统平台有10几个tomcat服务,由于需要服务保持全年无间断服务,特在tomcat中嵌入专门的监控页面,在curl 专用页面返回值为200时,则认定服务正常运行,否则报警发送专门的监控运维的邮箱。

二、原理

正常的tomcat健康状态监控页面如下图

我们利用如下命令判断返回值是否为200

shell>/usr/bin/curl -o /dev/null -s –connect-timeout 5 -w \\\’%{http_code}\\\’ http://10.0.0.107:9100/sms-app/health

倘若返回值不为200,则断定服务异常,报警

三、具体自动发现操作部署如下

1、首先定义需要监控自动发现的tomcat的URL

如下内容

1、cat >/etc/zabbix/WEB.txt <<EOF
10.0.0.107:9000/sms-admin/health
10.0.0.107:9100/sms-app/health
10.0.0.107:9090/auditServer/health
10.0.0.107:7711/pushControl/health
10.0.0.107:7700/sendService/health
10.0.0.107:6003/pa/health
10.0.0.107:8513/sms/health
10.0.0.107:7712/pushControl/health
10.0.0.107:7725/reply-server/health
10.0.0.107:2222/mdnserver/health
EOF

2、监控脚本如下图所示

1、cat >/etc/zabbix/scripts/web_site_code_status.sh <<EOF
#!/bin/bash 
# function:monitor tcp connect status from zabbix 

source /etc/bashrc >/dev/null 2>&1
source /etc/profile  >/dev/null 2>&1
#/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1/ 

web_site_discovery () {
WEB_SITE=($(cat  /etc/zabbix/WEB.txt|grep -v ^#))
        printf \\\'{\\\\n\\\'
        printf \\\'\\\\tdata:[\\\\n\\\'
for((i=0;i<${#WEB_SITE[@]};  i))
{
num=$(echo $((${#WEB_SITE[@]}-1)))
        if [ $i != ${num} ];
                then
        printf \\\\t\\\\t{ \\\\n
        printf \\\\t\\\\t\\\\t\\\\{#SITENAME}\\\\:\\\\${WEB_SITE[$i]}\\\\},\\\\n
                else
                        printf  \\\\t\\\\t{ \\\\n
                        printf  \\\\t\\\\t\\\\t\\\\{#SITENAME}\\\\:\\\\${WEB_SITE[$num]}\\\\}]}\\\\n
        fi
}
}

web_site_code () {
/usr/bin/curl -o /dev/null -s --connect-timeout 5 -w \\\'%{http_code}\\\' $1
}

case $1 in
web_site_discovery)
web_site_discovery
;;
web_site_code)
web_site_code $2
;;
*)

echo Usage:$0 {web_site_discovery|web_site_code [URL]} 
;;
esac
EOF

3、增加zabbix配置文件监控项目

1、root@DL-test2:zabbix# grep \\\'^[a-Z]\\\' zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.113
ServerActive=10.0.0.113
Hostname=DL-test2
Include=/etc/zabbix/zabbix_agentd.d/*.conf  #此项打开

1、cat >/etc/zabbix/zabbix_agentd.d/web_site_discovery.conf <<EOF
UserParameter=web.site.discovery,/bin/bash /etc/zabbix/scripts/web_site_code_status.sh web_site_discovery  
UserParameter=web.site.code[*],/bin/bash /etc/zabbix/scripts/web_site_code_status.sh web_site_code $1
EOF
#/bin/bash 此项必须要加上,不然有可能找不到命令,导致脚本命令无法被zabbix-agent调用

4、增加自动发现模板

模板详见附件

直接在模板里导入附件模板

启动zabbix-agent

会在被监控主机的触发器中发现我们需要监控的tomcat

停止6003端口的服务,我们会发现如下图所示报警

然后启动6003服务后,服务监控正常

至此自动发现tomcat服务状态,部署完毕

附件:http://down.51cto.com/data/2367009

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » zabbix自动发现监控tomcat健康页面

登录

找回密码

注册