1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SSMエージェントの死活監視をCloudWatch Agentで行う設定手順について

1
Posted at

はじめに

SSMを使ったサービスを利用する機会があり、SSMエージェントの死活監視をしたいと考えました。
SSMエージェントを監視する標準のメトリクスは用意されていないため※2026年3月時点
今回は、EC2のCloudWatch Agentを利用し、特定のプロセス数(procstat)を監視する方法でSSMエージェントの死活監視をする方法について記載します。

前提

・EC2のOSはwindwosを想定
・対象のEC2にSSMAgent/CloudWatchAgentがインストールされており既に稼働していること
・CloudwatchにCloudWatchAgentのログが転送できていること
・EC2にRDPできること

設定

CloudWatchAgentの設定ファイルの変更作業

EC2にRDPしてCloudWatchAgentの設定ファイルを編集します。
変更していなければ、通常は以下のフォルダに設定ファイルがあるかと思います。

C:\Program Files\Amazon\AmazonCloudWatchAgent

設定ファイルをエディターなどで開きます。
metricsのprocstat セクションに以下を記述します。

        {
          "exe": "amazon-ssm-agent",
          "measurement": [
            "pid_count"
          ],
          "metrics_collection_interval": 60
        }

※チェックの間隔は1分としています。
その後以下のコマンドなどでCloudWatchAgentを再起動します。
※設定ファイルを読み込ませるために再起動が必要になります。
※ここでは設定ファイル名を推奨のamazon-cloudwatch-agent.jsonとします。

& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" `
-a fetch-config `
-m ec2 `
-c "file:C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json" `
-s

すぐに起動(再起動)するので、以下のコマンドで状態を確認します。

Get-Service -Name 'AmazonCloudWatchAgent'
出力例
  Get-Service -Name 'AmazonCloudWatchAgent'

 Status   Name               DisplayName
 ------   ----               -----------
 Running  AmazonCloudWatc... Amazon CloudWatch Agent

StatusがRunningになっていれば起動しています。

数分待つと、CloudWatch上のAgentのメトリクスにもSSMのプロセス監視のメトリクスが表示されます。
SSMマトリクス_スクリーンショット 2026-03-31 134233.png

アラームの作成

メトリクスが作成できたら、そのメトリクスを利用したアラームを作成します。
本記事では以下のような条件としています。

項目 設定値 挙動
統計 最小 1分間の集計期間中に、一度でもプロセス数が 0 になれば、その数値(0)を評価対象にする
期間 1分 1分ごとに判定を行う
しきい値の種類 静的 以下の値をしきい値として利用
アラーム条件 しきい値:1より低い 1(正常)を下回った場合、0(停止)になった時に異常とみなす
データポイント 1/1 1回(1分間)でも異常を検知したら、アラーム状態とする
欠損データの処理 欠損データを不正(しきい値を超えている)として処理 何らかの理由でデータが届かない場合も「異常(停止)」とみなしてアラートを出す

この設定では「SSMエージェントが少しでも停止している疑いがあれば、即座に(最大1分以内に)アラートを飛ばす」とういう挙動のアラームになります。
アラームの設定手順は以下になります。

CloudWatch>アラーム>アラームの作成をクリックします。
スクリーンショット 2026-03-31 134653.png

「メトリクスの作成」では先程作成したメトリクスを選択します。
「メトリクスと条件の指定」では以下の様に設定するとします。

条件スクリーンショット 2026-03-31 135420.png

「アクションの設定」ではアラーム状態トリガーの指定や通知の送信先を設定します。
スクリーンショット 2026-03-31 141120.png

「アラームの詳細の追加」では任意の「アラーム名」を記載します。
スクリーンショット 2026-03-31 141144.png

「プレビューと作成」画面で設定内容を確認し、問題なければ「アラームの作成」をクリックします。

以上でアラームの作成は完了です。
作成したアラームの状態が「OK」となれば監視できている状態になります。

アラームの動作確認

アラームの動作を確認するには、インスタンスにRDPして以下のコマンドを実行することで
確認ができます。
PowerShellなどを立ち上げ以下のコマンドを実行します。
まずはSSMエージェントが動いていることを確認します。

Get-Service -Name "AmazonSSMAgent"
出力例
 Get-Service -Name "AmazonSSMAgent"
>>

Status   Name               DisplayName
------   ----               -----------
Running  AmazonSSMAgent     Amazon SSM Agent

次にSSMエージェントを停止します。

Stop-Service -Name "AmazonSSMAgent"
出力例
Stop-Service -Name "AmazonSSMAgent"

> Stop-Service -Name "AmazonSSMAgent"
WARNING: Waiting for service 'Amazon SSM Agent (AmazonSSMAgent)' to stop...
WARNING: Waiting for service 'Amazon SSM Agent (AmazonSSMAgent)' to stop...
WARNING: Waiting for service 'Amazon SSM Agent (AmazonSSMAgent)' to stop...

次に、以下のコマンドを入力してSSMエージェントが停止されていることを確認します。

Get-Service -Name "AmazonSSMAgent"
出力例
 Get-Service -Name "AmazonSSMAgent"
>>

Status   Name               DisplayName
------   ----               -----------
Stopped  AmazonSSMAgent     Amazon SSM Agent

ステータスが「Stopped」であることを確認します。
この状態で数分待つとCloudWatchでアラームとして検知されるはずです。

※注意※
FleetManagerなどを使ってRDPしている場合、SSMエージェントを止め続けていると、RDPのセッションが切れてインスタンスにログインできなくなります。
ログインするにもSSMエージェントを起動させる必要があるので、もしそのような場合には、インスタンスを再起動するか、SGなどで3389のプロトコルを有効化してRDPしてください。

アラームが確認できたら、SSMエージェントを起動させます。
以下のコマンドでSSMエージェントを起動します。

Start-Service -Name "AmazonSSMAgent"

以下のコマンドを入力してSSMエージェントが起動されていることを確認します。

出力例
 Get-Service -Name "AmazonSSMAgent"
>>

Status   Name               DisplayName
------   ----               -----------
Running  AmazonSSMAgent     Amazon SSM Agent

ステータスが「Running」であることを確認できれば作業完了です。

まとめ

今回は、SSMエージェントのプロセス監視(procstat)の設定から、アラームの発報テストまでを実践しました。
本記事が、参考にななれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?