AWS の CloudWatch Logs は CloudWatch Logs エージェントではなく 統合 CloudWatch エージェントを使ってインストールする

表題の通りで、それだけなのですが、一応続けます。

AWSにはCloudWatch Logsというサービスがあり、AWS上のあらゆるリソースであったり、EC2インスタンス、さらにはオンプレサーバーから、ログを収集して保存や監視を行うことができます。
特にEC2インスタンスからログを収集することで、ログの分析も容易になるので便利です。

さて、そんなCloudWatch Logsのインストール方法ですが、情報を探そうと検索すると、公式ではないブログなどでは、基本的に「CloudWatch Logs エージェント」をダウンロードしそれを使ってインストールする方法がたくさん紹介されています。
ですが、実はこの方法はすでに非推奨となっています。 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CWL_GettingStarted.htmldocs.aws.amazon.com

現在推奨されているのは、統合CloudWatchエージェントを使ってログを収集する方法です。
CloudWatch Logsを使おうとしている場合は、高確率でCloudWatchエージェントを使ったカスタムメトリクスの収集もしていると思うので、CloudWatch Logs エージェントなるものを使わなくとも設定を書き換えるだけでCloudWatch Logsが使えるようになるという優しい設計です。
これに気づいたのは最近なんですけど...

具体的にどうやって設定するかというと、CloudWatchエージェントの設定ファイルにはlogsセクションというものが用意されており、そこにこれまでのCloudWatch Logsエージェントの設定ファイルに書いていたものをほぼ同じ形で書くだけです。 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html#CloudWatch-Agent-Configuration-File-Logssectiondocs.aws.amazon.com

CloudWatch LogsエージェントではなくCloudWatchエージェントのlogsセクションを使うにあたって、2つ注意することがあります。

1つ目は、公式サイトでも紹介されているように、タイムスタンプ形式で使用できる記号に差異があります。
もし移行など古い設定を参照することがあるなら注意した方が良いです。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-common-scenarios.html#CloudWatch-Agent-logs-timestamp-differencesdocs.aws.amazon.com

2つ目は、公式サイトのどこにも明示的には載っていないのですが、なぜかタイムスタンプ形式を表すフィールド名が datetime_format から timestamp_format に変更されているということです。
こちらも移行などで古い設定を参照することがあるなら注意した方が良いです。
私は、この違いにPullRequestのレビューで気づきました。

長々と書きましたが、CloudWatch Logsを利用する場合は、これまで通りCloudWatch Logsエージェントを使うのではなく、統合CloudWatchエージェントを使った方が推奨されているし楽だよ、というお話でした。