Zabbix+shell监控报警任意web

最近在学习zabbix监控,看到有一篇分享监控web的,感觉还不错,就拿来分享一下。

至于web监控,现在好多云服务自带的都有,也很完善,但物理服务器一般都没有,需要自己搭建。

一、zabbix自带的web检测:

1.1)配置>主机(需联网)>web场景>创建web场景

添加你所需要检测网站的url

1.2)创建触发器(邮件报警,短信报警,微信报警提前配置其一即可)

1.3)监测中>Web检测

附:报警模板

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

二、shell+nc+namp等工具+crontab

#!/bin/bash
#this is a jiankong qutouwang bash
nc -z -v -w 10 80 &>/dev/null
if [ $? -ne 0 ]
then nmap www.xxx.com -p 80|grep '80/tcp open http'
if [ $? -ne 0 ]
then
echo " is already stopd" | mail -s "www.xxx.com " xxxx@vip.qq.com
fi
fi
#https
nc -z -v -w 10 443 &>/dev/null
if [ $? -ne 0 ]
then nmap -p 443|grep '443/tcp open https'
if [ $? -ne 0 ]
then
echo "www.xxx.com https is already stopd" | mail -s " " xxxx@vip.qq.com
fi
fi

脚本确实很简单,无非利用nc,nmap,curl等命令也可以来对80端口443端口(其它端口也可以)进行握手,为了防止网络延迟问题,用了二次检测。

 

1
如无特殊说明,文章均为本站原创,转载请注明出处

该文章由 发布

这货来去如风,什么鬼都没留下!!!