CloudWatchでプロセス監視をする
タイトル通りでございます。
CloudWatchでプロセス監視の設定をする作業をやったのでその備忘。
前提として以下の作業が必要です。
Amazon Linux2にCloudWatch エージェントをインストールする
上記の作業を完了後に追加する形で設定します。
パラメータストアに監視したいプロセス用の設定を追加します。
監視したいのがcronの場合はこんなん。
{ "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "metrics": { "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}", "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}" }, "metrics_collected": { "procstat": [{ "pattern": "cron", "measurement": [ "pid_count" ], "metrics_collection_interval": 60 }] } } }
重要なこととして、append_dimensionsの内容は、先に登録したCloudWatchの設定と合わせる必要があります。
合ってないとエラーが出て失敗します。
そんでもって登録したら>AWS Systems Manager Run Command コマンドの実行で、
AmazonCloudWatch-ManageAgentを選択して、
Action:configure(append)※appendにしないとCloudWatchエージェントの設定ファイルが上書きされるので注意。
Optional configuration Location:(パラメータストアに追加した設定の名前)
これで実行。
CloudWatchエージェントに設定が追加されます。
うまく行っていればCloudWatchアラームのメトリクスのCWAgentに、patternとpid_finderを含んだメトリクスが増えているはず。
選択して表示される項目にpattern: cronが出ていれば成功。
あとはこのメトリクスを選択して、アラーム内容を設定してやればオッケーです。
patternをsyncに変えればsyncのプロセスを拾ってくるようになるので、そんな感じでうまく使っていきたい所存。
……そのsyncのプロセス監視を作ろうとして、やりかたがイマイチ通り越してイマサン思い出せなかったので調べながらこの記事を書いたのは秘密(੭ ᐕ)੭