
リモートデスクトップの接続ログをパラメータストアを使ってCloudWatchLogsに転送してアラート通知してみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
こんにちは。大阪オフィスの林です。
今回やりたいことはタイトルの通りなのですが、基本的な内容としては下記のブログに概ねまとめられています。下記のブログと違う点としては、本ブログではパラメータストアを使用してCloudWatchAgentの設定をしている点とCloudWatch周りのUIが新しくなっている点、といったところでしょうか。
それでは早速やっていきましょう!
前提
下記前提のもと手順を進めていきます。
- 対象のEC2がAWS Systems Managerのマネージドインスタンスとして登録されていること
- 対象のEC2にCloudWatchAgentがインストール済みであること
- 通知アクションで使用するSNSトピックが作成済みであること
やってみた
AWS Systems Managerのダッシュボードから「パラメータストア」-「パラメータの作成」を選択します。

今回は下記パラメータで進めます。
| 名前 | rdp-log |
|---|---|
| 説明 | rdp-log |
| 利用枠 | 標準 |
| タイプ | 文字列 |
| データ型 | text |
下記のJSONを「値」に入力し「パラメータを作成」を選択します。
{
"logs": {
"logs_collected": {
"windows_events": {
"collect_list": [
{
"event_name": "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational",
"event_levels": [
"INFORMATION",
"WARNING",
"ERROR",
"CRITICAL",
"VERBOSE"
],
"log_group_name": "Windows_TerminalServices-Log",
"log_stream_name": "{local_hostname}_{instance_id}"
}
]
}
}
}
}
パラメータストアで定義した内容をEC2に反映させます。AWS Systems Managerのダッシュボードから「Run Command」-「Run Command」を選択します。

コマンドドキュメントから「AmazonCloudWatch-ManageAgent」を検索し、選択します。

「Optional Configuration Location」に先ほど作成したパラメータストアの名前を入力します。(本手順では「rdp-log」を指定)

実行結果の画面に遷移したあと、ステータスが「成功」になったことを確認します。

CloudWatchLogsを見てみます。既に対象のログがある場合、ロググループが作成されています。(本手順では「Windows_TerminalServices-Log」というロググループが作成されている)

ロググループを選択し、「アクション」-「メトリクスフィルターを作成」を選択します。

フィルタパターンに"リモート デスクトップ サービス: セッション ログオンに成功しました"と入力し「Next」を選択します。(ダブルクォーテーションも忘れずに入力します)

フィルター名に任意の名前を入力し「次へ」を選択します。(本手順では「RDP-Connection-Success」とする)

メトリクスの詳細について、今回は下記パラメータを指定し「Next」を選択します。
| メトリクス名前空間 | RDP-Connection-Success |
|---|---|
| メトリクス名 | RDP-Connection-Success |
| メトリクス値 | 1 |
作成したメトリクスフィルターにチェックを入れ、「アラームを作成」を選択します。

メトリクス名に前述で作成したメトリクスが指定されていることを確認し「統計」を「合計」、「期間」を「1分」とします。

条件について、今回は下記パラメータを指定し「次へ」を選択します。
| しきい値の種類 | 静的 |
|---|---|
| 次の時... | より大きい |
| ...よりも(しきい値を定義) | 0 |
| 欠陥データの処理 | 欠陥データを適正(しきい値をこえていない)として処理 |
アクションの設定について、今回は下記パラメータを指定します。
| アラーム状態トリガー | アラーム状態 |
|---|---|
| SNSトピックを選択 | 既存のSNSトピックを選択 |
| 通知の送信先 | [予め作成済みのSNSトピックを指定] |
アラーム名に任意の名前を入力し「次へ」を選択します。(本手順では「RDP-Connection-Alarm」とする)

少しすると、CloudWatchAlarm上で「アラーム状態」となりました。

まとめ
最近ではパラメータストアを使用した設定の配布がスタンダードになってきているのではないでしょうか?どなたかの参考になりましたら幸いです!
以上、大阪オフィスの林がお送りしました!




















