amazon-cloudwatch-agent.toml ファイルを用いた設定変更が反映されない場合の対処法

2023.12.28

困っていること

起動中の Windows EC2 インスタンスには、CloudWatch Agent がインストールされており、カスタムメトリクスを取得しています。
新たに追加して "\Memory\Available MBytes" のカスタムメトリクスを取得するため、"amazon-cloudwatch-agent.toml ファイル"を用いてパラメーター値などの変更を行いました。
Cloudwatch Agent のサービスをリスタートすると、Available MBytes が含まれてない状態のファイルに戻ってしまいました。なぜでしょうか教えてください。

どう対応すればいいの?

amazon-cloudwatch-agent.toml ファイルではなく、amazon-cloudwatch-agent.json ファイル"\Memory\Available MBytes" の追記を行ってください。

エージェント設定ファイルを手動で作成または編集する場合は、任意の名前を付けることができます。トラブルシューティングを簡単にするため、Linux サーバーでは、/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json、Windows Server を実行しているサーバーでは、$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json という名前を付けることをお勧めします。

amazon-cloudwatch-agent.json ファイルが amazon-cloudwatch-agent.toml ファイルに変換されて CloudWathch Agent に読み込まれるので、amazon-cloudwatch-agent.toml ファイルに編集を行っても反映されません。
仮に実施した場合、基になる amazon-cloudwatch-agent.json ファイルから amazon-cloudwatch-agent.toml ファイルへ変換を行うために、変更した amazon-cloudwatch-agent.toml ファイル内容は基になる amazon-cloudwatch-agent.json のファイル内容(設定値)に上書きされます。
そのため、ドキュメント記載の通り amazon-cloudwatch-agent.toml ファイルは直接変更しないことをお勧めします。

JSON 設定ファイルの変換された内容を含む TOML ファイル。amazon-cloudwatch-agent-ctl スクリプトは、このファイルを生成します。このファイルは直接変更しないでください。JSON から TOML への変換が正常に完了したことを確認するのに役立ちます。

参考資料