最近在学习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端口(其它端口也可以)进行握手,为了防止网络延迟问题,用了二次检测。
- 转载请注明来源:Zabbix+shell监控报警任意web
- 本文永久链接地址:http://www.hongxiaowei.com/xiaowei/286.html