最近有朋友问我怎么监控公司网站:目的是网站不能访问及时报警。

当然一些云服务器肯定是自带功能,可是物理服务器可没有那么智能,但是开源是强大的,这里就分享一下个人监控网站的两种方式。

一、zabbix自带的web检测:

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

Zabbix+shell监控报警任意web_第1张图片

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

Zabbix+shell监控报警任意web_第2张图片

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

Zabbix+shell监控报警任意web_第3张图片1.3)监测中>Web检测

Zabbix+shell监控报警任意web_第4张图片1.4)触发

Zabbix+shell监控报警任意web_第5张图片

二、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 " [email protected]
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 " " [email protected]
fi
fi

脚本确实很简单,无非利用nc,nmap,curl等命令也可以来对80端口443端口(其它端口也可以)进行握手,为了防止网络延迟问题,用了二次检测。此脚本一年多来用起来很方便,自己想的,比较简单。

如果大家有什么更好的方式,也可以分享!