monitoring – 当CPU使用率达到100%时通知的Shell脚本
所以这会给我每秒“CPU空闲”值.我想在这种情况下收到电子邮件,连续10次将值变为“0”? 这样做的适当方法是什么? 我找到了初步解决方案 sar -u 1 | awk '{ if (int($9)==0) { i=i+1; { print i,$9 } } if (int($9)>=0) { i=0 } if (i>=10) print "sending email" }' 但在我打印“发送电子邮件”的最后一行,我不能像这样打电话给mutt sar -u 1 | awk '{ if (int($9)==0) { i=i+1; { print i,$9 } } if (int($9)>=0) { i=0 } if (i>=10) mutt -s "VPNC Problem" test@test.com < /home/semenov/strace.output }' 问题是它在mutt命令调用中说“语法”错误.有任何想法吗?
适当的方法是不要这样做.
CPU利用率(使用百分比或%空闲)是要监控的虚假值 – 在正常操作期间的不同时间它可以(并且应该)为100%.您是否真的想要一堆警报,因为您的监控系统在检查CPU利用率的同时碰巧得到了5-10个Web请求?我打赌答案是否定的. 相反,您应该监视负载平均值(由其他工具中的正常运行时间报告),这是要立即运行的进程数量(OS调度术语中RunQ的长度)的度量. 负载平均值低于1表示“卸载”系统(大量的空闲CPU时间,没有程序等待执行). 我通常使用10作为负载平均警报的阈值 – 一个足够高的值,通常不应该在生产中看到它,但是足够低,以至于一旦警报跳闸就应该有时间响应这种情况. 在任何一种情况下监控的脚本都是微不足道的: # [get your value and stuff it into $value # Pick an appropriate threshold and stuff it into $threshold if [ $value -gt $threshold ]; then # (-gt or -lt as appropriate) echo "`hostname` needs attention!" | mail -s "`hostname` monitoring alert" user@host fi 获取和填充部分留给读者练习. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |