自由気ままに書いちゃおう

好きなことをつらつらと・・・

【AWS】WindowsServer2019でCloudwatchAgentの設定ファイルを作成

前回の記事からの続きです。 

www.guri2o1667.work


今回はCloudwatchAgentを使用する際に必要になる設定ファイルについてです。

 

■CloudwatchAgentの設定ファイルについて

CloudwatchAgentで収集するメトリクスの内容を定義したり、
CloudwatchLogsにログデータを転送するための設定を定義します。

■CloudwatchAgentの設定ファイルの格納先について

WindowsServerの場合、以下に格納されます。
C:\Program Files\Amazon\AmazonCloudWatchAgent

f:id:guri2o1667:20210202180552p:plain

 

■CloudwatchAgentの設定ファイル名について

CloudwatchAgentの設定ファイルは自動作成(ウィザード形式による作成)と
手動作成が可能です。

自動作成後に出力された設定ファイルを手動で変更することもできます。

そのため、本記事では自動作成したファイルを手動で修正する、と言う流れで行います。

尚、自動作成した設定ファイルは自動的にconfig.jsonというファイル名になります。


■CloudwatchAgentの設定ファイル名を作成(ウィザード形式)

※全部で26手順あります。。。

1.コマンドプロンプトを管理者権限で起動します。

2.以下コマンドを実行します。
cd "C:\Program Files\Amazon\AmazonCloudWatchAgent"
amazon-cloudwatch-agent-config-wizard.exe

f:id:guri2o1667:20210202121631p:plain


3.「On which OS are you planning to use the agent?」で2を入力し、Enterキーを押します。

f:id:guri2o1667:20210202121725p:plain


4.「Are you using EC2 or On-Premises hosts?」で1を入力し、Enterキーを押します。

f:id:guri2o1667:20210202121815p:plain

5.「Do you want to turn on StatsD daemon?」で1を入力し、Enterキーを押します。

Amazon CloudWatch エージェントでカスタムメトリクスのサポートを開始

StatsD を使用したカスタムメトリクスの取得 - Amazon CloudWatch

collectd を使用したカスタムメトリクスの取得 - Amazon CloudWatch


※Windowsであれば、「StatsDを使う」で問題ないです。

f:id:guri2o1667:20210202122206p:plain

6.「Which port do you want StatsD daemon to listen to?」でEnterキーを押します。
※デフォルトの8125を使います。

f:id:guri2o1667:20210202122248p:plain

7.「What is the collect interval for StatsD daemon?」で任意の収集期間(1~3)を入力し、Enterキーを押します。
※今回は1を選択しました。

f:id:guri2o1667:20210202122401p:plain

8.「What is the aggregation interval for metrics collected by StatsD daemon?」で任意の集計間隔(1~4)を入力し、Enterキーを押します。
※"StatsDデーモンが収集したメトリクスの集計間隔は?"って意味です。
※今回は4を選択しました。

f:id:guri2o1667:20210202122556p:plain


9.「Do you have any existing CloudWatch Log Agent configuration file to import for migration?」で1か2を選択し、Enterキーを押します。
※"移行のためにインポートする既存のCloudWatch Log Agent設定ファイルはありますか?"って意味です。
※今回は2を選択しました。(インポートファイルはないので。)

f:id:guri2o1667:20210202122637p:plain

10.「Do you want to monitor any host metrics? e.g. CPU, memory, etc」で1か2を選択し、Enterキーを押します。
※"ホストのメトリクスを監視しますか? CPU、メモリなど"って意味です。
※今回は1を選択しました。

f:id:guri2o1667:20210202122754p:plain

11.「Do you want to monitor cpu metrics per core? Additional CloudWatch charges may apply.」で1か2を選択し、Enterキーを押します。
※"コアごとのCPUメトリクスを監視したいですか?CloudWatchの追加料金がかかる場合があります。"って意味です。
※今回は2を選択しました。

f:id:guri2o1667:20210202123200p:plain

12.「Do you want to add ec2 dimensions (ImageId, InstanceId, InstanceType, AutoScalingGroupName) into all of your metrics if the info is available?」で1か2を選択し、Enterキーを押します。
※"情報が利用可能であれば、すべてのメトリクスに ec2 ディメンション(ImageId, InstanceId, InstanceType, AutoScalingGroupName)を追加しますか?"って意味です。
※今回は1を選択しました。

f:id:guri2o1667:20210202123329p:plain


13.「Would you like to collect your metrics at high resolution (sub-minute resolution)? This enables sub-minute resolution for all metrics, but you can customize for specific metrics in the output json file.」で1~4のどれかを選択し、Enterキーを押します。
※今回は4を選択しました。

f:id:guri2o1667:20210202123352p:plain

14.「Which default metrics config do you want?」でデフォルトメトリクスを選択します。
※"デフォルトメトリクス設定はどれにしますか?"って意味です。
※今回は1にしました。他の数字については下記リンク先を参照ください。

ウィザードを使用して CloudWatch エージェント設定ファイルを作成する - Amazon CloudWatch

f:id:guri2o1667:20210202123610p:plain


15.設定ファイルが表示されるため、1か2を選択し、Enterキーを押します。
※後で設定ファイルは手動修正できるため、一旦1を選択しました。

f:id:guri2o1667:20210202123846p:plain


16.「Do you want to monitor any customized log files?」で1か2を選択し、Enterキーを押します。
※"カスタマイズされたログファイルを監視しますか?"って意味です。
※今回は2を選択しました。例えばIISログとかを対象にしたい場合には1を選択します。

f:id:guri2o1667:20210202124101p:plain


17.「Do you want to monitor any Windows event log?」で1か2を選択し、Enterキーを押します。
※今回は1を選択しました。

f:id:guri2o1667:20210202124143p:plain

18.「Windows event log name:」で収集対象のWindowsイベントログを選択します。
※今回は最初なので、WindowsイベントログのSystemを取得対象とします。

f:id:guri2o1667:20210202124256p:plain

 

19.「Do you want to monitor VERBOSE level events for Windows event log [System,Application] ?」で1か2を選択し、Enterキーを押します。
※"詳細レベルのモニターを行いますか?"って意味です。
※今回は1を選択しました。

f:id:guri2o1667:20210202124500p:plain

20.「Do you want to monitor INFORMATION level events for Windows event log [System,Application] ?」で1か2を選択し、Enterキーを押します。
※"情報レベルを取得しますか?"って意味です。
※今回は2を選択しました。

 

以降、ログレベルに応じて設定を行います。
f:id:guri2o1667:20210202124636p:plain

f:id:guri2o1667:20210202124741p:plain

f:id:guri2o1667:20210202124807p:plain

f:id:guri2o1667:20210202124823p:plain

21.「Log group name:」でCloudwatchLogsのロググループ名を指定します。
※今回は「System」としました。
※この時点でロググループにSystemというものが存在している必要はありません。
※自動的にSystemロググループが作成されます。

f:id:guri2o1667:20210202181343p:plain

 

22.「Log stream name:」はデフォルトのインスタンスIDとしました。

f:id:guri2o1667:20210202125121p:plain

23.「In which format do you want to store windows event to CloudWatch Logs?」で1か2を選択し、Enterキーを押します。
※"windowsのイベントをCloudWatch Logsに保存するには、どのような形式で保存しますか?"って意味です。
※今回はXML形式を選択しました。

f:id:guri2o1667:20210202125239p:plain

24.「」で1か2を選択し、Enterキーを押します。
※"追加でWindowsイベントログをモニターしますか?"って意味です。
※今回は2を選択しました。

f:id:guri2o1667:20210202125416p:plain

25.「Do you want to store the config in the SSM parameter store?」で1か2を選択します。
※"Do you want to store the config in the SSM parameter store?"って意味です。
※今回は2を選択しました。(SSMは利用していないので。)

f:id:guri2o1667:20210202125629p:plain

26.以下画面が表示されれば、設定完了です。

※「Please press Enter to exit...」でEnterキーを押す必要があります。
f:id:guri2o1667:20210202125702p:plain

 

■CloudwatchLogsでWindowsイベントログの転送状況を確認

今回のようにWindowsイベントログのSystemを転送対象として設定した場合、
転送対象となるログレベル(優先度)のログがサーバ上で出力されると、
自動的にCloudwatchLogsに転送されます。
※転送される間隔はウィザード形式で設定した間隔になります。(若干のタイムラグがあると思っていた方が良いです。)

以下は、ロググループの例です。
※Applicationがありますが、ご放念ください。

f:id:guri2o1667:20210202181759p:plain

Systemをクリックすると、インスタンスIDが表示されます。
(=インスタンスIDはログストリームとして設定した箇所です)

f:id:guri2o1667:20210202181841p:plain

インスタンスIDをクリックすると、WindowsイベントログのSystemが格納されているはずです。


以上です。