EC2 コンソールログに Windows の System イベントログが出力されない場合の対処法
困っていること
EC2 コンソールログに Windows の System イベントログ が出力されません。
出力させるにはどうすればよいでしょうか、教えてください。
どう対応すればいいの?
原因
対象 EC2 インスタンスにインストールされている EC2Launch または EC2Launch v2 の "C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.json" ファイルの設定が原因と考えられます。
対処法
以下のように記述することで Information レベル及び Error レベルのログが出力されることが想定されます。
※ EC2Launch,EC2Launch v2 同様
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.json 例
{
"events": [
{
"logName": "System",
"source": "",
"level": "",
"numEntries": 100
}
]
}
numEntries ではコンソールログに出力されるログエントリの数を指定できるため、ある程度大きな数にする必要がございます。上記例の場合では、SendEventLogs.ps1 が実行された当時の最新 100 のログエントリをコンソールログに出力します。
Windows PowerShell で以下のコマンドを実行し、Windows のスケジュールされたタスクとして、インスタンスが起動されるたびにスクリプトの実行がスケジュールされるようにします。
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendEventLogs.ps1 -Schedule