前端之家收集整理的这篇文章主要介绍了
shell学习之十五--网站web服务监控,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
网站web服务的监控6中
方法 1、端口 本地:ss netstat lsof 远程:telnet、nmap,nc 2、本地进程 3、header(http code)curl -I 返回200就ok 4、URL(wget、curl),模拟
用户的方式 5、
PHP、java写监控程序,模拟
用户方式。 实例: 本地端口 [root@node01 day7]# lsof -i :80 (大于等于1) COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME clock-app 2195 root 21u IPv4 604135 0t0 TCP bogon:45729->199.239.182.178:http (ESTABLISHED) httpd 130342 root 4u IPv6 329242 0t0 TCP *:http (LISTEN) httpd 130348 apache 4u IPv6 329242 0t0 TCP *:http (LISTEN) httpd 130349 apache 4u IPv6 329242 0t0 TCP *:http (LISTEN) httpd 130350 apache 4u IPv6 329242 0t0 TCP *:http (LISTEN) httpd 130351 apache 4u IPv6 329242 0t0 TCP *:http (LISTEN) httpd 130352 apache 4u IPv6 329242 0t0 TCP *:http (LISTEN) httpd 130353 apache 4u IPv6 329242 0t0 TCP *:http (LISTEN) httpd 130354 apache 4u IPv6 329242 0t0 TCP *:http (LISTEN) httpd 130355 apache 4u IPv6 329242 0t0 TCP *:http (LISTEN) [root@node01 day7]# lsof -i :80|wc -l 11 远程端口 [root@node01 day7]# nmap 192.168.145.130 -p 80 (等于1) Starting Nmap 5.51 ( http://nmap.org ) at 2017-08-01 21:26 CST Nmap scan report for bogon (192.168.145.130) Host is up (0.000038s latency). PORT STATE SERVICE 80/tcp open http Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds [root@node01 day7]# nmap 192.168.145.130 -p 80|grep open 80/tcp open http [root@node01 day7]# nmap 192.168.145.130 -p 80|grep open|wc -l 1 进程 [root@node01 day7]# ps -ef|grep apache|wc -l (大于等于2) 9 curl [root@node01 day7]# curl -I 192.168.145.130 2>/dev/null|head -1 HTTP/1.1
403 Forbidden [root@node01 day7]# curl -I -s -w "%{http_code}" 192.168.145.130 -o /dev/null (等于200) 200 [root@node01 ~]# curl -I -s -w "%{http_code}" www.baidu.com -o /dev/null 200 wget [root@node01 day7]# wget --spider --timeout=100 --tries=2 192.168.145.130 &>/dev/null (返回值为0) [root@node01 day7]# echo $? 以上每种
方法都有不同的命令实现,详细可以看man。 实际检查脚本: [root@node01 day7]# vi check_web.sh #!/bin/sh http_code=`curl -I -s -w "%{http_code}" 192.168.145.130 -o /dev/null` if [ $http_code -ne 200 ] then echo "web is error" else echo "web is ok" fi [root@node01 day7]# sh check_web.sh web is error [root@node01 day7]# vi check_web.sh #!/bin/sh http_code=`curl -I -s -w "%{http_code}" www.baidu.com -o /dev/null` if [ $http_code -ne 200 ] then echo "web is error" else echo "web is ok" fi [root@node01 day7]# sh check_web.sh web is ok ==================================== curl -I -m 10 -o /dev/null -s -w %{http_code} www.baidu.com -I 仅测试HTTP头 -m 10 最多
查询10s -o /dev/null
屏蔽原有
输出信息 -s silent -w %{http_code} 控制额外
输出