Cloudwatchアラームで実行中のプロセスのリストを取得することは可能ですか?


9

JavaベースのアプリケーションがいくつかあるEC2インスタンス(Ubuntu)があり、最近、CPU使用率が急上昇してCloudwatchアラームの1つをトリガーするようになっています。サーバーに入ってCPU使用率を確認するまでに、状況は落ち着きました。

アラームメールの1つに表示したいのは、アラーム発生時の実行中のプロセスとそのCPU使用率(%)のリストです。これは可能ですか?

回答:


0

あなたの質問に答えません。しきい値に達したときにサーバー上のプロセスをリストするようにCloudWatchを構成することはできません。これを行うには、他のソフトウェアを使用する必要があります。CloudWatchはメトリクスのみを記録します。たとえば、実行中のプロセスの数を知りたい場合は、それを監視するようにCloudWatchを設定できます。


1

プロセスアカウンティングを使用して、10分ごと(デフォルト)にシステムデータのスナップショットを収集するように実行するか、より高い解像度が必要な場合は5分を減らすことをお勧めします。

apt-get install atop acct

次に、次のような構文を使用して、ある時点で何が起こっていたかを簡単に確認できます

atop -r atop.log.file -b 00:00 -e 00:05

上記の例は、00:00から00:05までのシステム使用状況のスナップショットで何が起こっていたかを示します。


1

私は似たようなことをした経験はありませんが、理論的には、既存のビルディングブロックでそれを行うことは可能です。

CloudWatch -> SNS -> HTTP/HTTPS -> homebrew webapp -> collect data and email it
  • CloudWatchアラームをセットアップして、オフになったときにトピックにSNSメッセージを発行するようにします。
  • EC2インスタンスでWebアプリケーションを実行します。特定のアドレスに到達すると、実行中のプロセスのリストを収集してメールで送信します。
  • Webアプリのエンドポイントを使用して、SNSトピックにサブスクリプションを追加します。プロトコルとしてHTTPまたはHTTPSを選択できます。

これを提案と組み合わせてatop、最近のN分の出力を送信するようにWebアプリケーションを使用および構成することができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.