【はじめに】
今回はCloudWatchエージェントの設定ファイルに関する学びがあったので記録に残したいと思います。
【私について】
2026年1月からITエンジニア完全未経験でSESに転職しました。
前職は自動車業界に10年程度在籍していました。
保有資格は下記3つ
- AWS CLF
- AWS SAA
- Linuc レベル1
前職在籍中に時間を作って独学で学習し、1年ほどかけて取得しました。
いずれも試験問題を解くだけの知識としては保有しておりますが、実際にAWSマネジメントコンソールやターミナル上での操作をほとんどやったことがない所謂エアプ状態です。
【結論】
CloudWatchエージェントの設定ファイルが置かれている/opt/aws/amazon-cloudwatch-agent/etc配下に存在するYAMLおよびTOMLファイルは同ディレクトリ内の下記JSONファイルおよびディレクトリ(内のJSONファイル)によって生成されます。
具体的には
- /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json(JSONファイル)
- /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d配下のJSONファイル
前者はデフォルトでは存在せず、基本的には自分で作成する必要があります。
またどちらかは存在していないとダメなようです。
これらのファイルの内容を合体(厳密には違いますがイメージとして…)させて、YAMLおよびTOMLファイルが生成されます。
ちなみにYAMLおよびTOMLファイルはCloudWatchエージェントが直接参照するファイルで起動するたびにJSONファイルの内容によって再生成されるようです。
あと後述するコマンドによっても即時に再生成されます。
参考にした情報は
CloudWatch Agentの設定ファイルについて(TechHarmony)
非常にわかりやすく記載されており助かりました。
amazon-cloudwatch-agent.toml ファイルを用いた設定変更が反映されない場合の対処法(DevelopersIO)
下記内容はAWSドキュメントで確認できませんでした。
見つけられなかっただけの可能性もありますが…
- JSONファイルからYAMLおよびTOMLファイルが生成されること
- CloudWatchエージェントがYAMLおよびTOMLファイルを参照していること
ちなみにYAMLファイルが存在するかどうかは環境次第なようです。
【なぜこの記事を残すのか】
シンプルに設定変更で失敗したからです。
編集するファイルを間違えた結果、設定が反映されませんでした。
Linuxの場合、/opt/aws/amazon-cloudwatch-agent/etc配下にはだいたい下記ファイルおよびディレクトリが存在します。
環境によってはあったりなかったりするようですけど…
amazon-cloudwatch-agent.d #デフォルトで存在
amazon-cloudwatch-agent.json #基本的には自分で作成
amazon-cloudwatch-agent.toml #初めからあることがあるらしい
amazon-cloudwatch-agent.yaml #初めからあることがあるらしい
common-config.toml #不明
env-config.json #不明
log-config.json #不明
CloudWatch エージェントのトラブルシューティング(AWSドキュメント)
■CloudWatch エージェントファイルとロケーション
このトピックに設定ファイルなどの情報が少し載っています。
あまり期待しないで開いてもらえたらと…
【私が編集したファイル】
amazon-cloudwatch-agent.toml
amazon-cloudwatch-agent.yaml
【正解のファイル】
amazon-cloudwatch-agent.json
または
amazon-cloudwatch-agent.d配下のJSONファイル
理由は結論のところで記載した通りです。
せっかく編集したのに再起動したら、編集していないJSONファイルによって、YAMLおよびTOMLファイルが再生成されて、中身が編集前の状態になりました。
【おわりに】
今回はよく調べずに実行してみたことが原因であると痛感しています。
この失敗で特別誰かに迷惑をかけたわけではありませんが、実行に移す前にしっかり調べることは大切ですね。
【おまけ】
ゼロの証明とか存在しないことの証明って難しいですよね。
今回AWSドキュメントで確認できない部分がいくつかありましたが、それが本当に存在しないのか、それとも見つけられていないだけなのか。。。
AWSドキュメントに限らず、自分が欲している情報を検索エンジンで検索してもなかなか引っかからないときにこの膨大な情報が存在するインターネット上に私の必要な情報が本当にないのか、それとも出会えていないだけなのか、、、