0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AmazonLinux 2023のログをCloudWatchに転送するのに苦労した話

Posted at

はじめに

Amazon Linux 2023(AL2023)で EC2 を構築し、
「/var/log配下の主なログをCloudWatchに転送したい」
——よくある要件だと思います。

ところが、いざ設定しようとすると 想定外の壁にぶつかりました。

/var/log/secure が無い
/var/log/messages も無い
その為CloudWatch Logs にロググループが作られない…

最初は「設定ミスかな?」と思いましたが、
これは Amazon Linux 2023 の仕様が原因でした。

Amazon Linux 2023 の落とし穴

Amazon Linux 2 までと違い、AL2023 ではログの管理方式が変更されています。
・旧来:rsyslog → /var/log/secure や /var/log/messages
・AL2023:systemd-journald(バイナリログ)

つまり、最初から secure / messages というテキストログは存在しません。
CloudWatch Agent にファイル監視を設定しても、
「監視対象のファイルが無い」ため何も起きない、というわけです。

解決策:rsyslog を導入してログをテキスト化

いくつか方法はありますが、
確実・シンプル・短時間で成功するのが rsyslog を使う方法でした。


rsyslog の導入

sudo dnf install -y rsyslog
sudo systemctl enable --now rsyslog

これだけで、
・/var/log/secure
・/var/log/messages
が自動生成され、従来どおりのログ形式に戻ります。

CloudWatch Agent でログを転送

あとは CloudWatch Agent の設定です。

/opt/aws/amazon-cloudwatch-agent/bin/config.json に以下を記載:

{
  "logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/var/log/secure",
            "log_group_name": "/ec2/amazonlinux/secure",
            "log_stream_name": "{instance_id}"
          },
          {
            "file_path": "/var/log/messages",
            "log_group_name": "/ec2/amazonlinux/messages",
            "log_stream_name": "{instance_id}"
          }
        ]
      }
    }
  }
}

反映コマンドを実行:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s

数分後、CloudWatch Logs に
/ec2/amazonlinux/secure が現れた瞬間は、正直ホッとしました。

おわりに

Amazon Linux 2023 はモダンで良い OS ですが、
「従来の知識がそのまま通用しない」ポイントが確実に存在します。

今回の学びはこの一言に尽きます。
「ログが無い」のではなく、 「ログの前提が変わっている」
同じところでハマる方の助けになれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?