系统自动监控报警
本帖最后由 gzhgyzhh 于 2012-11-20 16:58 编辑目前服务器比较多,经常出问题,领导要求写个脚本,进行自动监控并邮件报警
由于本人对脚本不是很懂,请各位大侠帮忙忙,写个脚本
需求:
监控项目:
1.CPU
2.内存
3.硬盘
设置键值,超出设定键值邮件报警
3.进程:进程是否正常运行,如果进程异常,发送邮件报警并自动重启
4.文件变更(监控每天是否生产文件,如果没有生成文件,邮件报警)
5.判定log日志是否有error如果有error邮件报警,目前日志轮回7天,每天判定一次
各位大侠跪求。 回复 1# gzhgyzhh
直接nagios 脚本没什么复杂的.
简单的说, 脚本就是命令的集合. 如果你每个命令都知道, 简单的写在一起就算是脚本了. 当然, 中间要加上适当的输出, 转存, 判断之类的.
建议先从简单的功能入手, 一个个功能加进去.
另外, 不建议 nagios, 一个看上去很美的东西, 却掩盖了很多细节, 而且, 本身越做越复杂了. 等你对你的系统有一点的了解, 再考虑吧. 如果新手安装配置nagios确实有点难度,不过现在一键全自动安装的,非常适合新手使用,你可以参考
http://bbs.chinaunix.net/thread-4046303-1-1.html 感谢各位提的建议,我会考虑的,不过有哪位大侠有现成的监控脚本,贴出了,小生不胜感激。 nagios吧,监控功能还是很强大的。nagios前3项之都能满足,后面3项需要自己在写监控脚本了。 cacti 也可以做到你的前3个,后面的也需要自己写了 哥们还是用nagios,我花了两个周的时间刚配置好,至于你要现成的脚本,我觉得不好,他们写好的脚本肯定和你的环境不一样,你改脚本的时间也把nagios配好了
判定CPU和内存,哪位哥们有也共享下:
echo "TIME CPU %user %nice %system %iowait %steal %idle " >> $ANSWER
sar | grep 'Average:'>> $ANSWER
cpuused=`sar | grep 'Average:' | awk '{print$3}'` if [ $cpuused -gt $CPUUSEDERR ] then
echo "NOW CPU USERD $cpuused > 15% ,NG">> $ANSWER
FLAG=NG
else
echo "NOW CPU USERD $cpuused < 15% ,OK" >> $ANSWER fi cpuidle=`sar | grep 'Average:' | awk '{print$8}'` if [ $cpuidle -lt 80 ] then
echo "NOW CPU idle $cpuidle < 80% ,NG" >> $ANSWER
FLAG=NG
else
echo "NOW CPU idle $cpuidle > 80% ,OK" >> $ANSWER fi #sar >> $ANSWER echo >> $ANSWER echo "NOWATLAS HDD used is:" >> $ANSWER
echo "Filesystem 1K-blocks Used Available Use% Mounted on" >> $ANSWER
强烈推荐 nagios
页:
[1]
2