|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
有一段工夫没更新Blog了次要是工夫有点严重。但是比来时不时有互联网的伴侣问我关于服务器监控方面的成绩?问经常使用的服务器监控除用开源软件,好比:cacti,nagios监控外是不是能够本人写shell剧本呢?依据本人的需求写出的shell剧本更能满意需求,更能细化主机监控的周全性。
上面是我经常使用的几个主机监控的剧本,人人能够依据本人的情形在举行修正,但愿能给人人一点匡助。
1、检察主机网卡流量#!/bin/bash
#network
#Mike.Xu
while:;do
time=date+%m"-"%d""%k":"%M
day=date+%m"-"%d
rx_before=ifconfigeth0|sed-n"8"p|awk{print$2}|cut-c7-
tx_before=ifconfigeth0|sed-n"8"p|awk{print$6}|cut-c7-
sleep2
rx_after=ifconfigeth0|sed-n"8"p|awk{print$2}|cut-c7-
tx_after=ifconfigeth0|sed-n"8"p|awk{print$6}|cut-c7-
rx_result=$[(rx_after-rx_before)/256]
tx_result=$[(tx_after-tx_before)/256]
echo"$timeNow_In_Speed:"$rx_result"kbpsNow_OUt_Speed:"$tx_result"kbps"
sleep2
done 2、体系情况监控#!/bin/sh
#systemstat.sh
#Mike.Xu
IP=192.168.1.227
top-n2|grep"Cpu">>./temp/cpu.txt
free-m|grep"Mem">>./temp/mem.txt
df-k|grep"sda1">>./temp/drive_sda1.txt
#df-k|grepsda2>>./temp/drive_sda2.txt
df-k|grep"/mnt/storage_0">>./temp/mnt_storage_0.txt
df-k|grep"/mnt/storage_pic">>./temp/mnt_storage_pic.txt
time=`date+%m"."%d""%k":"%M`
connect=`netstat-na|grep"219.238.148.30:80"|wc-l`
echo"$time$connect">>./temp/connect_count.txt 3、监控主机的磁盘空间,当利用空间凌驾90%就经由过程发mail来发告诫#!/bin/bash
#monitoravailablediskspace
SPACE=df|sed-n//$/p|gawk{print$5}|seds/%//
if[$SPACE-ge90]
then
fty89@163.com
fi 4、监控CPU和内存的利用情形#!/bin/bash
#scripttocapturesystemstatistics
OUTFILE=/home/xu/capstats.csv
DATE=date+%m/%d/%Y
TIME=date+%k:%m:%s
TIMEOUT=uptime
VMOUT=vmstat12
USERS=echo$TIMEOUT|gawk{print$4}
LOAD=echo$TIMEOUT|gawk{print$9}|sed"s/,//
FREE=echo$VMOUT|sed-n/[0-9]/p|sed-n2p|gawk{print$4}
IDLE=echo$VMOUT|sed-n/[0-9]/p|sed-n2p|gawk{print$15}
echo"$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE">>$OUTFILE 5、全方位监控主机#!/bin/bash
#check_xu.sh
#0****/home/check_xu.sh
DAT="`date+%Y%m%d`"
HOUR="`date+%H`"
DIR="/home/oslog/host_${DAT}/${HOUR}"
DELAY=60
COUNT=60
#whethertheresponsibledirectoryexist
if!test-d${DIR}
then
/bin/mkdir-p${DIR}
fi
#generalcheck
exportTERM=linux
/usr/bin/top-b-d${DELAY}-n${COUNT}>${DIR}/top_${DAT}.log2>&1&
#cpucheck
/usr/bin/sar-u${DELAY}${COUNT}>${DIR}/cpu_${DAT}.log2>&1&
#/usr/bin/mpstat-P0${DELAY}${COUNT}>${DIR}/cpu_0_${DAT}.log2>&1&
#/usr/bin/mpstat-P1${DELAY}${COUNT}>${DIR}/cpu_1_${DAT}.log2>&1&
#memorycheck
/usr/bin/vmstat${DELAY}${COUNT}>${DIR}/vmstat_${DAT}.log2>&1&
#I/Ocheck
/usr/bin/iostat${DELAY}${COUNT}>${DIR}/iostat_${DAT}.log2>&1&
#networkcheck
/usr/bin/sar-nDEV${DELAY}${COUNT}>${DIR}/net_${DAT}.log2>&1&
#/usr/bin/sar-nEDEV${DELAY}${COUNT}>${DIR}/net_edev_${DAT}.log2>&1& 放在crontab里每小时主动实行:如许会在/home/oslog/host_yyyymmdd/hh目次下天生各小时cpu、内存、收集,IO的统计数据。
假如某个工夫段发生成绩了,就能够往看对应的日记信息,看看事先的主机功能怎样。
在这里你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪求其解为耻; |
|