我有几台运行Ubuntu 12.04的机器,如下所示,我需要找出进程名称及其pid(其CPU使用率大于70%)。
下面以机器为例-
machineA
machineB
machineC
machineD
我需要有一个可以每15分钟定期运行一次的Shell脚本,并检查以上任何计算机的CPU使用率是否都超过70%。如果有任何计算机的CPU使用率超过70%,则发送一封包含计算机名称和进程名称以及其ID的电子邮件。
我将从中运行Shell脚本,machineX
并为david
从machineX到上述所有计算机的用户设置无密码的ssh密钥。
进行所有此类监视的最佳方法是什么?
我有以下命令,可以让我PID, %CPU and COMMAND name
了解其CPU使用率大于70%的进程。
ps aux --sort=-%cpu | awk 'NR==1{print $2,$3,$11}NR>1{if($3>=70) print $2,$3,$11}'
不确定如何完全自动化此过程?
为此,您可能应该尝试使用现有的监视解决方案。这几乎完全是他们设计的目的,可以监视情况并发送警报(SMS或电子邮件)。您可能想签出nagios
或zabbix
获得免费的监视解决方案。
我没有使用过,但看起来Cacti支持阈值警报
collectd
也可以collectd
发出警报,但我主要只用于性能统计数据的历史记录,而无需发出任何警报。
最重要的是,您自己这样做会浪费您的时间,精力,并在监视机制中引入错误的可能性。各种各样的预制解决方案是一个普遍的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句