免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5008 | 回复: 14
打印 上一主题 下一主题

[其他] 系统自动监控报警 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-20 16:58 |只看该作者 |倒序浏览
本帖最后由 gzhgyzhh 于 2012-11-20 16:58 编辑

目前服务器比较多,经常出问题,领导要求写个脚本,进行自动监控并邮件报警
由于本人对脚本不是很懂,请各位大侠帮忙忙,写个脚本

需求:
监控项目:
1.CPU
2.内存
3.硬盘
设置键值,超出设定键值邮件报警
3.进程:进程是否正常运行,如果进程异常,发送邮件报警并自动重启
4.文件变更(监控每天是否生产文件,如果没有生成文件,邮件报警)
5.判定log日志是否有error如果有error邮件报警,目前日志轮回7天,每天判定一次

各位大侠跪求。

论坛徽章:
0
2 [报告]
发表于 2012-11-20 17:03 |只看该作者
回复 1# gzhgyzhh


    直接nagios

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
3 [报告]
发表于 2012-11-20 17:12 |只看该作者
脚本没什么复杂的.

简单的说, 脚本就是命令的集合. 如果你每个命令都知道, 简单的写在一起就算是脚本了. 当然, 中间要加上适当的输出, 转存, 判断之类的.

建议先从简单的功能入手, 一个个功能加进去.

另外, 不建议 nagios, 一个看上去很美的东西, 却掩盖了很多细节, 而且, 本身越做越复杂了. 等你对你的系统有一点的了解, 再考虑吧.

论坛徽章:
0
4 [报告]
发表于 2012-11-20 21:59 |只看该作者
如果新手安装配置nagios确实有点难度,不过现在一键全自动安装的,非常适合新手使用,你可以参考
http://bbs.chinaunix.net/thread-4046303-1-1.html

论坛徽章:
0
5 [报告]
发表于 2012-11-21 09:28 |只看该作者
感谢各位提的建议,我会考虑的,不过有哪位大侠有现成的监控脚本,贴出了,小生不胜感激。

论坛徽章:
0
6 [报告]
发表于 2012-11-21 10:08 |只看该作者
nagios吧,监控功能还是很强大的。nagios前3项之都能满足,后面3项需要自己在写监控脚本了。

论坛徽章:
0
7 [报告]
发表于 2012-11-21 14:44 |只看该作者
cacti 也可以做到你的前3个,后面的也需要自己写了

论坛徽章:
0
8 [报告]
发表于 2012-11-22 09:11 |只看该作者
哥们还是用nagios,我花了两个周的时间刚配置好,至于你要现成的脚本,我觉得不好,他们写好的脚本肯定和你的环境不一样,你改脚本的时间也把nagios配好了

论坛徽章:
0
9 [报告]
发表于 2012-11-22 12:35 |只看该作者

判定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 "NOW  ATLAS HDD used is:" >> $ANSWER
echo "Filesystem           1K-blocks      Used Available Use% Mounted on" >> $ANSWER

论坛徽章:
2
拜羊年徽章
日期:2015-03-03 16:15:4315-16赛季CBA联赛之同曦
日期:2018-07-25 19:57:32
10 [报告]
发表于 2012-12-14 17:14 |只看该作者
强烈推荐 nagios
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP