アレ、Amazon Linux 2023がログを吐かない。。。

# はじめに
某ベンダで、クラウドの人材育成企画と研修トレーニングのデリバリを担当しています。
先日、研修準備のためラボ環境を評価していたのですが、Amazon Linux 2023がシステムログを出力しないトラブルに遭遇。ちょっと焦る事態に発展しちゃいました。

結論から言うと、Ammazon Linux2から仕様変更に伴い、ログの出力が変わったんですね。
Amazon Linux 2023のユーザーガイドの情報はこちら。

>systemd ジャーナルの置き換え rsyslog
>https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/journald.html

Red Hat Enterprise Linuxはどうなんだっけ？と思い調べるとRHEL7からjournaldが導入済み、現状のバージョンは9なので、数年前から変更されてたんですね、、、知りませんでした。
Red Hat Enterprise Linux 7の情報はこちら。

>第23章 ログファイルの表示と管理
ログファイルは、systemd のコンポーネントである journald デーモンで制御することもできます。journald デーモンは全サービスの標準出力および標準エラー出力に書き込まれたメッセージに加えて、Syslog メッセージ、カーネルログメッセージ、初期 RAM ディスクおよび初期起動メッセージを取り込みます。構造化およびインデックス化されたバイナリーファイルであるネイティブジャーナルファイル形式は、検索を改善します。また、より高速に操作を提供するため、タイムスタンプやユーザー ID などのメタデータ情報も格納します。journald が生成するログファイルはデフォルトで永続的ではなく、ログファイルは /run/log/journal/ ディレクトリー内のメモリーまたはリングバッファーにのみ保存されます。ログに記録されるデータの量は、容量制限に達すると、最も古いエントリーが削除されます。ただし、この設定は変更できます。「永続的ストレージの有効化」 を参照してください。ジャーナルの詳細情報は、「Journal の使用」 を参照してください。
https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-viewing_and_managing_log_files#ch-Viewing_and_Managing_Log_Files

# 実機で確認してみる
実際にEC2を立ち上げて/var/logを見てみると`systemd-journal`を発見。

```
# ls -l /var/log/
total 1412
lrwxrwxrwx. 1 root   root                39 Oct 10 21:22 README -> ../../usr/share/doc/systemd/README.logs
drwxr-xr-x. 3 root   root                17 Oct 25 02:50 amazon
drwx------. 2 root   root                23 Oct 25 02:50 audit
-rw-rw----. 1 root   utmp                 0 Oct 10 21:22 btmp
drwxr-x---. 2 chrony chrony              72 Oct 25 02:50 chrony
-rw-r-----. 1 root   adm               3678 Oct 25 02:50 cloud-init-output.log
-rw-r-----. 1 root   adm             148748 Oct 25 02:50 cloud-init.log
-rw-r--r--. 1 root   root            871376 Oct 25 02:50 dnf.librepo.log
-rw-r--r--. 1 root   root            267986 Oct 25 02:50 dnf.log
-rw-r--r--. 1 root   root             83528 Oct 25 02:50 dnf.rpm.log
-rw-r--r--. 1 root   root              2359 Oct 25 02:50 hawkey.log
drwxr-sr-x+ 3 root   systemd-journal     46 Oct 25 02:50 journal
-rw-rw-r--. 1 root   utmp            292292 Oct 25 02:51 lastlog
drwx------. 2 root   root                 6 Oct 10 21:22 private
drwxr-xr-x. 2 root   root                18 Oct 25 02:50 sa
drwxr-x---. 2 root   root                 6 Jun 12 22:04 sssd
-rw-------. 1 root   root                 0 Oct 10 21:22 tallylog
-rw-rw-r--. 1 root   utmp              2688 Oct 25 02:50 wtmp
```
`journalctl`コマンドでシステム情報がマイクロ秒単位で確認できます。地味に感動。

```
# journalctl -o short-precise
# journalctl --system
```

`/var/log/message`が恋しい場合は、`rsyslog`パッケージを追加。

```
# yum install rsyslog
```
`/var/log/message`が復活。
```
# ls -lh /var/log/
total 1.6M
lrwxrwxrwx. 1 root   root              39 Oct 10 21:22 README -> ../../usr/share/doc/systemd/README.logs
drwxr-xr-x. 3 root   root              17 Oct 25 02:50 amazon
drwx------. 2 root   root              23 Oct 25 02:50 audit
-rw-rw----. 1 root   utmp               0 Oct 10 21:22 btmp
drwxr-x---. 2 chrony chrony            72 Oct 25 02:50 chrony
-rw-r-----. 1 root   adm             6.1K Oct 25 03:00 cloud-init-output.log
-rw-r-----. 1 root   adm             260K Oct 25 03:00 cloud-init.log
-rw-r--r--. 1 root   root            854K Oct 25 03:04 dnf.librepo.log
-rw-r--r--. 1 root   root            272K Oct 25 03:04 dnf.log
-rw-r--r--. 1 root   root             83K Oct 25 03:04 dnf.rpm.log
-rw-r--r--. 1 root   root            2.6K Oct 25 03:04 hawkey.log
drwxr-sr-x+ 3 root   systemd-journal   46 Oct 25 02:50 journal
-rw-rw-r--. 1 root   utmp            286K Oct 25 03:03 lastlog
-rw-------. 1 root   root               0 Oct 25 03:04 maillog
-rw-------. 1 root   root               0 Oct 25 03:04 messages
```

# おわりに
研修の演習じゃなくて良かったな〜と思いながら、ログ機能の進化に感動。
Linuxも誕生から早30年以上、まだまだ進化の過程ですね〜、当方もまだまだ修行中です。