CloudWatch LogsでWindowsイベントログを監視する

CloudWatch LogsがWindowsに対応していたので、試しに検証してみます。
現状、監視できるのはWindowsイベントログ(アプリケーション、システム、セキュリティ)とIISのログとのことなので、今回はWindowsイベントログをターゲットにしてみます。

ちなみに、オフィシャルドキュメントはEC2 Configのページにマージされてました。

Configuring a Windows Instance Using the EC2Config Service

CloudWatchLogsSettings_EventLogs


準備

まず、EC2Configサービスのバージョンが2.2.5以降(推奨: 2.2.6以降)である必要があります。
インストール済のEC2Configサービスのバージョンはコントロールパネルの”Programs and Features”から確認できます。
現在の最新バージョンである2.2.6をここからダウンロードすればよいと思います。

Amazon Windows EC2Config Service


設定

All programs から Ec2 Service Propertiesを開くと、EC2Configサービスの設定画面が表示されます。

EC2ServiceProperties

CloudWatch Logsの設定グループで”Enable CloudWatch Logs integration”にチェックを入れて、”Settings”をクリックします。

CloudWatch Logs

CloudWatchLogsSettings_CloudWatchLogs

よしなに設定します。

Event Logs

“Event Logs”タブを開きます。

CloudWatchLogsSettings_EventLogs

Application, Security, System のイベントログに対して、どのイベントレベルのメッセージを監視するか、下記から選択します。

  • Off
  • Error messages
  • Error and warning messages
  • All messages

今回は検証目的なので、とりあえずすべて”All messages”にしておきます。

IIS Logs

ちなみに、”IIS Logs”タブでは、IISのログ格納ディレクトリを指定するようです。

CloudWatchLogsSettings_IISLogs

今回のターゲットはWindowsイベントログなので、今回はスルーします。

以上で設定が完了です。

おまけ

ちなみに、以上のように設定すると、下記のファイルが生成されます。

C:\Program Files\Amazon\Ec2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json

中身はこんな感じになっています。

{
  "EngineConfiguration": {
    "PollInterval": "00:00:15",
    "Components": [
      {
        "Id": "ApplicationEventLog",
        "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
        "Parameters": {
          "LogName": "Application",
          "Levels": "7"
        }
      },
      {
        "Id": "SecurityEventLog",
        "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
        "Parameters": {
          "LogName": "Security",
          "Levels": "7"
        }
      },
      {
        "Id": "SystemEventLog",
        "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
        "Parameters": {
          "LogName": "System",
          "Levels": "7"
        }
      },
      {
        "Id": "CloudWatchLogs",
        "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
        "Parameters": {
          "SecretKey": "",
          "AccessKey": "",
          "Region": "us-east-1",
          "LogGroup": "Default-Log-Group",
          "LogStream": "{instance_id}"
        }
      }
    ],
    "Flows": {
      "Flows": [
        "(ApplicationEventLog,SecurityEventLog,SystemEventLog),CloudWatchLogs"
      ]
    }
  }
}

動作確認

では、さっそくWindowsイベントログを監視してみましょう。

Windows Server上で下記のコマンドを実行します。

> eventcreate /T ERROR /ID 1000 /L APPLICATION /D "Test Message 01"

マネジメントコンソールから確認してみましょう。

monitoring_eventlogs

ばっちり記録されていました。

  1. トラックバックはまだありません。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。