AWS Systems Manager Run Command のステータスが CloudWatchに追加されました!

2019.12.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは 園部です。

地味に嬉しいアップデートを発見しました!

AWS Systems Manager Run Command の実行結果が CloudWatch Metrics としてサポートされたようです!!

CloudWatch support for Run Command metrics and alarms

AWS Systems Manager now publishes metrics about the status of Run Command commands to CloudWatch, enabling you to set alarms based on those metrics. The terminal status values for commands for which you can track metrics include Success, Failed, and Delivery Timed Out. For more information, see Monitoring Run Command Metrics using Amazon CloudWatch.

SSM ドキュメント

サポートされた Metrics は3つです。

  • CommandsDeliveryTimedOut
  • CommandsFailed
  • CommandsSucceeded

何が嬉しいの?

1. (失敗時の)通知

今まで Run Command の実行結果によって通知を行うには CloudWatch Events(CWE) を利用することで実現していました。

今回 CloudWatch Metrics としてサポートされることで Alarm として利用することが出来るため、より簡易かつ柔軟な通知設定を行うことが可能です。

2. 実行結果の可視化

CWE を活用することで通知は実現でき、対象リソース(SSM Automationなども対応)やターゲットでの選択肢も豊富ではあります。(OpsItem に登録してインシデント管理することなんかも可能です)

しかし、上記の方法では単発のステータスを追うことは可能でしたが、全体の状況(成功率など)や傾向を把握することは困難でした。今回 Metrics として CloudWatch に結果が蓄積されるため、ダッシュボードに表示することや Metric Math を利用するなど多様な視点で確認することが可能です。

やってみる

Run Command 実行

※ ここでは Run Command の準備と実行は割愛します。

Run Command を二つほど実行しました。 両方とも、ステータスは 成功 です。

CloudWatch 確認

CloudWatch >>> メトリクス >>> SSM Run Command >>> Across All Commands

今回追加となった3つのメトリクスが表示されています。

わかりやすく 「数値」で、統計は「合計」 で表示してみます。

成功した Run Command が2つ反映されています。

さいごに

re:Invent のガツンとした大型アップデートとは異なりますが、こういった地味なアップデートは運用現場の改善で重宝されるのではないでしょうか。クリスマスも近いので、あと 2,3個素敵なアップデートを期待して待ちたいと思います!!