shell監控web服務的多種方案

weixin_34117211發表於2017-11-12

1.埠

本地:ss.netstat,lsof

遠端:telnet,nmap.nc

2.本地程式數

3.header(http,curl),模擬使用者的方式

4.URL(wget,curl).模擬使用者的方式

5.php,java寫監控的程式,模擬使用者的方式(讓開發提供)



範例判斷條件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@XCN ~]# lsof -i :80|wc -l    #本地埠  
2
[root@XCN ~]# nmap 127.0.0.1 -p 80    #遠端埠
 
Starting Nmap 5.51 ( http://nmap.org ) at 2017-06-28 14:13 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000080s latency).
PORT   STATE SERVICE
80/tcp open  http
 
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
[root@XCN ~]# nmap 127.0.0.1 -p 80|wc -l
8
[root@XCN ~]# nmap 127.0.0.1 -p 80|grep open|wc -l  
1
[root@XCN ~]# ps -ef|grep nginx |wc -l    #程式
12
[root@XCN ~]# culr -I -s -w "%{http_code}" -o /dev/null 127.0.0.1
200      #curl
[root@XCN ~]# wget --spider --timeout=10 --tries=2 127.0.0.1 &>/dev/null
[root@XCN ~]# echo $?     #wget看返回值
0

案例shell

1
2
3
4
5
6
7
8
#!/bin/bash
http_code=`culr -I -s -w "%{http_code}" -o /dev/null 127.0.0.1`
if [ $http_code -ne 200 ]
then
  echo "web is erro"
else
  echo "web is ok"
fi

本文轉自 baishuchao 51CTO部落格,原文連結:http://blog.51cto.com/baishuchao/1942710

相關文章