やること
CloudWatchLogsで、Windowsイベントログを見たい場合の最小(?)セットアップ方法をまとめてみた。
ここに、Windowsイベントログが表示されるというアレです。
概要
-
AWS管理コンソールでやる事
1-1, 【IAM】EC2に割り当てるIAMロールを準備する
1-2, 【EC2】インスタンスにIAMロールを割り当てる -
WindowsOS上でやる事
2-1, EC2インスタンス内で、Agentアプリインストール
2-2, コンフィグファイル作成・設置
2-3, コンフィグファイル適用・サービス起動
おはり
1-1, 【IAM】EC2に割り当てるIAMロールを準備する
ポリシーは👇
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
}
]
}
1-2, 【EC2】インスタンスにIAMロールを割り当てる
IAM ロールの割り当て/置換 で1-1のロールをEC2インスタンスに割り当てる
2-1, EC2インスタンス内で、Agentアプリインストール
ダウンロードリンクは、コマンドラインを使用して CloudWatch エージェントをダウンロードおよび設定する
Windowsのインストーラはこのあたり
2-2, コンフィグファイル作成・設置
{
"logs": {
"logs_collected": {
"windows_events": {
"collect_list": [
{
"event_format": "xml",
"event_levels": [
"WARNING",
"ERROR",
"CRITICAL"
],
"event_name": "System",
"log_group_name": "hogeHoge",
"log_stream_name": "{local_hostname}"
}
]
}
}
}
}
AWS管理コンソールに、ロググループ名「hogeHoge」に、
「Windowsホスト名(local_hostname)」グループが作成されて
その中に、Windowsイベントログのうち、警告・エラー・クリティカルのSystemログが転送される
という意味です。
このファイルを
C:\Program Files\Amazon\AmazonCloudWatchAgent
におきます
ファイル名は、config.json としておく(次の項目で使う)
2-3, コンフィグファイル適用・サービス起動
PowerShellで
cd "C:\Program Files\Amazon\AmazonCloudWatchAgent"
.\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -c file:config.json
これで、コンフィグファイルが適用(どこかにコピーされるてきな動き)されます。
正常に適用されると👇こんなメッセージになりまする。
Start configuration validation...
3019/08/35 00:01:01 Reading json config file path: C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs\file_config.json.
tmp ...
Valid Json input schema.
No csm configuration found.
No metric configuration found.
Configuration validation first phase succeeded
Configuration validation second phase succeeded
Configuration validation succeeded
で、Windowsサービスを起動します
Restart-Service -Name AmazonCloudWatchAgent
完成図
config.jsonで指定したロググループ名が表示されてます
その中に、Windowsのコンピュータ名が表示されてます
開くと、ログっぽいものが表示されてます。
取得したいログを増やす
config.jsonを修正
適用
サービス再起動
でできますー
できない場合
上記手順が完了すると、すぐにログが転送されるみたいです。
ロググループ名が表示されない場合は・・・
環境が正しいか確認
OSからインターネットに繋がる。もしくはVPCエンドポイントへ出力できる。
Agentログの確認
👇ここにあります
C:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs