如何使用zabbix监控tomcat进程情况
1、如果页面是正常的,返回的http_code的状态值为200

2、将需要监控的页面列表保存在一个文本文件中
cat >/etc/zabbix/list.txt <<EOF
192.168.1.128:8090/health
EOF

3、在/etc/zabbix/scripts目录中添加监控脚本
cat >/etc/zabbix/scripts/web_site_code_status.sh <<EOF
#!/bin/bash
web_site_discovery () {
WEB_SITE=($(cat /etc/zabbix/WEB.txt|grep -v "^#"))
printf '{\n'
printf '\t"data":[\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

4、增加zabbix配置文件监控项目
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 #此项打开
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

5、增加自动发现模板启动zabbix-agent,会在被监控主机的触发器中发现我们需要监控的tomcat

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