異なるマシンで複数のマシンのCPU使用率を監視する方法は?

異なるマシンで複数のマシンのCPU使用率を監視する方法は?

Ubuntu 12.04を実行しているコンピュータ(以下を参照)があり、CPU使用率が70%を超えるプロセスとそのPIDの名前を見つける必要があります。

以下に機械を例に説明する。

machineA
machineB
machineC
machineD

15分ごとに定期的に実行し、上記のマシンのCPU使用率が70%以上であることを確認するシェルスクリプトが必要です。コンピュータのCPU使用率が70%を超えると、コンピュータ名、プロセス名、およびそのIDを含む電子メールが送信されます。

シェルスクリプトを実行し、machineXmachineXから上記のすべてのシステムに至るユーザーのためにパスワードなしのSSHキーを設定しました。david

これらすべてのモニタリングを実行する最良の方法は何ですか?

PID, %CPU and COMMAND nameCPU使用率が70%を超えるプロセスを取得するには、次のコマンドがあります。

ps aux --sort=-%cpu | awk 'NR==1{print $2,$3,$11}NR>1{if($3>=70) print $2,$3,$11}'

このプロセスを完全に自動化する方法がわかりませんか?

答え1

この目的のためには、既存の監視ソリューションを試してみる必要があります。これは、ステータスを監視し、警告(SMSまたは電子メール)を送信するなどのタスクを実行するように設計されています。無料の監視ソリューションを確認nagiosまたは取得できます。zabbix

私は書いていませんが、そうです。Cactiはしきい値警告をサポートします。

collectd警告も可能ですが、主にcollectdパフォーマンス統計の履歴収集にのみ使用し、何も警告する必要はありません。

結論として、これを直接実行することは、時間とエネルギーを無駄にし、監視メカニズムにエラーが発生する可能性があることです。これはさまざまなプレハブソリューションの一般的な問題です。

関連情報