暑假里我們團(tuán)隊(duì)做了一套監(jiān)控linux的系統(tǒng),在里很想跟大家分享一下。
1.監(jiān)控獲取cpu信息的腳本:
#!/bin/bash
awk '$0 ~/cpu[0-9]/' /proc/stat | while read line
do
echo "cpu使用信息:"
echo "$line" | awk '{total=$2+$3+$4+$5+$6+$7+$8;free=$5;\
print$1" 剩余(free) "free/total*100"%",\
"已用(used) " (total-free)/total*100"%"}
done
2.監(jiān)控獲取磁盤空間的腳本:
#!/bin/sh
file_dir="/var/www/html/wangwang/"
df -h > ${file_dir}/cipan.txt
cat cipan.txt
3. 監(jiān)控獲取內(nèi)存信息的腳本:
#/bin/bash
file_dir="/var/www/html/wangwang/"
free -m | grep Mem | sed 's/ \{1,\}/\n/g;' | sed '2 s/.\{1,\}/總共(total):&M/g;3 s/.\{1,\}/使用(used):&M/g;4 s/.\{1,ee):&M/g;/M$/ !d' > ${file_dir}/neicun.txt
echo 內(nèi)存使用狀況
cat neicun.txt
4.監(jiān)控查看登陸服務(wù)器的用戶的腳本:
#/bin/bash
file_dir="/var/www/html/wangwang/"
who -aH > ${file_dir}/yonghu.txt
cat yonghu.txt
5.監(jiān)控查看http服務(wù)是否正常運(yùn)行的腳本:
#!/bin/sh
server_all_list=(\
:80 \
)
server_all_len=${#server_all_list[*]}
i=0
while [ $i -lt $server_all_len ]
do
server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')
server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')
if curl -m 30 -G http://${server_all_list[$i]}/ > /dev/null 2>&1
then
status=1
echo "ok"
else
if ping -c 1 $server_ip > /dev/null 2>&1
then
status=2
echo "ping ok"
else
status=0
echo "error"
fi
fi
let i++
done
6.監(jiān)控查看ftp服務(wù)是否正常運(yùn)行的腳本:
#!/bin/sh
server_ip=211.64.47.184
if wget -t 3 -T 3 --spider > /dev/null 2>&1 ;
then
echo "ftp 1¤×÷?y3£"
else
if ping -c 1 $server_ip > /dev/null 2>&1
then
echo "ping ok"
else
echo "error"
fi
fi
7.監(jiān)控查看ssh是否正常運(yùn)行的腳本:
#!/bin/sh
server_all_list=(\
:22 \
)
server_all_len=${#server_all_list[*]}
i=0
while [ $i -lt $server_all_len ]
do
server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')
server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')
if curl -m 30 -G http://${server_all_list[$i]}/ > /dev/null 2>&1
then
status=1
echo "ok"
else
if ping -c 1 $server_ip > /dev/null 2>&1
then
status=2
echo "ping ok"
else
status=0
echo "error"
fi
fi
let i++
done
聯(lián)系客服