Ubuntu 12.04を実行しているコンピュータ(以下を参照)があり、CPU使用率が70%を超えるプロセスとそのPIDの名前を見つける必要があります。
以下に機械を例に説明する。
machineA
machineB
machineC
machineD
15分ごとに定期的に実行し、上記のマシンのCPU使用率が70%以上であることを確認するシェルスクリプトが必要です。コンピュータのCPU使用率が70%を超えると、コンピュータ名、プロセス名、およびそのIDを含む電子メールが送信されます。
シェルスクリプトを実行し、machineX
machineXから上記のすべてのシステムに至るユーザーのためにパスワードなしのSSHキーを設定しました。david
これらすべてのモニタリングを実行する最良の方法は何ですか?
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}'
このプロセスを完全に自動化する方法がわかりませんか?
答え1
この目的のためには、既存の監視ソリューションを試してみる必要があります。これは、ステータスを監視し、警告(SMSまたは電子メール)を送信するなどのタスクを実行するように設計されています。無料の監視ソリューションを確認nagios
または取得できます。zabbix
私は書いていませんが、そうです。Cactiはしきい値警告をサポートします。
collectd
警告も可能ですが、主にcollectd
パフォーマンス統計の履歴収集にのみ使用し、何も警告する必要はありません。
結論として、これを直接実行することは、時間とエネルギーを無駄にし、監視メカニズムにエラーが発生する可能性があることです。これはさまざまなプレハブソリューションの一般的な問題です。