Linux学习与应用技巧linux运维运维日常

Shell脚本自动检测HTTP状态

2019-11-25  本文已影响0人  大白菜的猪猪

编程需求说明:


监控web服务器运行状态的方式有很多种,最简单的就是监控该服务器是否宕机,客户端是否无法访问.Ping的方式检测虽然可以完成此需求,但是却无法检测到web服务器上对应的服务是否开启或关闭.

所以使用Nmap工具就可以解决此问题,它是一个网络探测及端口监测的工具,不但可以扫描到端口是否打开,还可以监测主机是否存活.


源代码:


#!/bin/bash

#功能描述:使用namp的端口扫描功能监控HTTP端口

#http服务器地址

ip=127.0.0.1

#邮件报警账户

mail_to=root@localhost

nmap -n -sS -p80 127.0.0.11 | grep -q "^80/tcp open"

if [ $? -eq 0 ];then

        #给管理员发送邮件汇报状态

        echo "$ip 上的HTTP服务正在运行" | mail -s http_status_ok $mail_to

else

        echo "$ip 上的HTTP服务状态异常,请及时处理" | mail -s http_status_error $mail_to

fi


脚本运行结果

状态正常情况下

/check_http_nmap.sh

您在 /var/spool/mail/root 中有新邮件

127.0.0.1 上的HTTP服务正在运行


状态异常情况下

关闭httpd,模拟状态异常
systemctl stop httpd

/check_http_nmap.sh

127.0.0.1 上的HTTP服务状态异常,请及时处理

上一篇 下一篇

猜你喜欢

热点阅读