资源描述:
《几个常用的Linux监控脚本》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、最近时不时有互联网的朋友问我关于服务器监控方面的问题,问常用的服务器监控除了用开源软件,比如:cacti,nagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求,更能细化主机监控的全面性。下面是我常用的几个主机监控的脚本,大家可以根据自己的情况再进行修改,希望能给大家一点帮助。1、查看主机网卡流量#!/bin/bash#network#Mike.Xuwhile:;dotime='date+%m"-"%d""%k":"%M'day='date+%m"-"%d'rx_befo
2、re='ifconfigeth0
3、sed-n"8"p
4、awk'{print$2}'
5、cut-c7-'tx_before='ifconfigeth0
6、sed-n"8"p
7、awk'{print$6}'
8、cut-c7-'sleep2rx_after='ifconfigeth0
9、sed-n"8"p
10、awk'{print$2}'
11、cut-c7-'tx_after='ifconfigeth0
12、sed-n"8"p
13、awk'{print$6}'
14、cut-c7-'rx_result=$[(rx_after-rx_before)/2
15、56]tx_result=$[(tx_after-tx_before)/256]echo"$timeNow_In_Speed:"$rx_result"kbpsNow_OUt_Speed:"$tx_result"kbps"sleep2done2、系统状况监控#!/bin/sh#systemstat.sh#Mike.XuIP=192.168.1.227top-n2
16、grep"Cpu">>./temp/cpu.txtfree-m
17、grep"Mem">>./temp/mem.txtdf-k
18、grep"sda1">>./t
19、emp/drive_sda1.txt#df-k
20、grepsda2>>./temp/drive_sda2.txtdf-k
21、grep"/mnt/storage_0">>./temp/mnt_storage_0.txtdf-k
22、grep"/mnt/storage_pic">>./temp/mnt_storage_pic.txttime=`date+%m"."%d""%k":"%M`connect=`netstat-na
23、grep"219.238.148.30:80"
24、wc-l`echo"$time$connect">>
25、./temp/connect_count.txt3、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告#!/bin/bash#monitoravailablediskspaceSPACE='df
26、sed-n'//$/p'
27、gawk'{print$5}'
28、sed's/%//'if[$SPACE-ge90]thenfty89@163.comfi4、监控CPU和内存的使用情况#!/bin/bash#scripttocapturesystemstatisticsOUTFILE=/home/xu/capst
29、ats.csvDATE='date+%m/%d/%Y'TIME='date+%k:%m:%s'TIMEOUT='uptime'VMOUT='vmstat12' USERS='echo$TIMEOUT
30、gawk'{print$4}''LOAD='echo$TIMEOUT
31、gawk'{print$9}'
32、sed"s/,//''FREE='echo$VMOUT
33、sed-n'/[0-9]/p'
34、sed-n'2p'
35、gawk'{print$4}''IDLE='echo $VMOUT
36、sed-n'/[0-9]/p'
37、sed-
38、n'2p'
39、gawk'{print$15}''echo"$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE">>$OUTFILE5、全方位监控主机#!/bin/bash#check_xu.sh#0****/home/check_xu.shDAT="`date+%Y%m%d`"HOUR="`date+%H`"DIR="/home/oslog/host_${DAT}/${HOUR}"DELAY=60COUNT=60#whethertheresponsibledirectoryexistif!te
40、st-d${DIR}then/bin/mkdir-p${DIR}fi#generalcheckexportTERM=linux/usr/bin/top-b-d${DELAY}-n${COUNT}>${DIR}/top_${DAT}.log2>&1cpucheck/usr/bin/sar-u${DELAY}${COUNT}>${DIR}/cpu_${DAT}.log2>