精灵巫婆 发表于 2015-1-18 11:25:27

Linux编程之我经常使用的主机监控shell剧本仓酷云

对于开发环境的选择尽量要轻量级和高度可定制,航空母舰级别的工具往往会让你迷惑不解;
有一段工夫没更新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//p|sed-n2p|gawk{print$4}
IDLE=echo$VMOUT|sed-n//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里每小时主动实行:
0****/home/check_xu.sh
如许会在/home/oslog/host_yyyymmdd/hh目次下天生各小时cpu、内存、收集,IO的统计数据。
假如某个工夫段发生成绩了,就能够往看对应的日记信息,看看事先的主机功能怎样。

在这里你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪求其解为耻;

精灵巫婆 发表于 2015-1-21 06:07:57

直到学习Linux这门课以后,我才知道,原来我错了。?

飘灵儿 发表于 2015-1-21 21:42:41

Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。

若相依 发表于 2015-1-24 12:48:31

其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。

深爱那片海 发表于 2015-1-28 10:22:23

如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。

莫相离 发表于 2015-1-29 06:49:09

然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。

只想知道 发表于 2015-2-3 08:38:50

感谢老师和同学们在学习上对我的帮助。

再现理想 发表于 2015-2-8 20:02:05

在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。

简单生活 发表于 2015-2-11 08:27:35

在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。

不帅 发表于 2015-2-17 06:07:13

当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。

小妖女 发表于 2015-3-5 16:05:04

不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。

愤怒的大鸟 发表于 2015-3-11 19:05:48

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。

再见西城 发表于 2015-3-11 20:39:40

工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。

admin 发表于 2015-3-19 11:47:27

随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。

小魔女 发表于 2015-3-27 20:09:47

Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。
页: [1]
查看完整版本: Linux编程之我经常使用的主机监控shell剧本仓酷云