AlmaLinuxにrsyslogをインストールする

# 0.本稿について
- 環境：本稿ではAlmaLinux9.xをMinimalで最小インストールした環境を使用しています。

:::note warn 
#### 正確さの省略について
本稿では概念をわかりやすくするために、簡略化した表現を使用し、一部専門的な詳細を省略している事があります。
:::

# 1.はじめに

Linux のカーネルや各種アプリケーションは、基本的にログを 「排出」 する仕組みになっています。しかし、rsyslog などのログ収集サービスが動作していないと、それらのログを 「保存」 することができません。

例えば、AlmaLinux における SSH のログは通常 `/var/log/secure` に 「保存」 されますが、`rsyslog` が動作していない場合、ログは適切に記録されません。そのため、sshd が動作していて、ログの保存先が `/var/log/secure` に設定されているにもかかわらず、ログファイルが見当たらないという状況が発生します。

Linux（および各種アプリケーション）が排出するログは、そのままでは 「垂れ流し状態」 になっており、ログ収集サービスがそれらのログを収集し、適切なログファイルに振り分けることで初めて保存されます。ログが垂れ流されるこの 「受け皿」 の役割を果たすのが `syslog ソケット` と呼ばれています。

そのため、rsyslog がインストールされていない場合、以下のようにログファイルが存在しないと表示されることがあります。

```bash
[yoyo@dev1 ~]$ cat /var/log/secure
cat: /var/log/secure: そのようなファイルやディレクトリはありません
```

本稿では、ログ収集サービスが入っていない環境で`rsyslog`をインストールし、ログの一つである`/var/log/secure`を確認してみます。

:::note warn
本稿ではログ収集サービスが入っていない状態からスタートします。実際に本稿での作業をしたい場合は、お使いの環境で競合するログ収集サービスが入っていない事などを確認したうえで作業を行う必要があります。
:::

# 2.手順
まずはrsyslogをインストールします。
```bash
sudo dnf install rsyslog
```

実行例
```bash
[yoyo@dev1 ~]$ sudo dnf install rsyslog
メタデータの期限切れの最終確認: 1:48:27 前の 2025年02月11日 19時45分32秒 に実施しました。
依存関係が解決しました。
====================================================================================================================
 パッケージ                      アーキテクチャー     バージョン                      リポジトリー            サイズ
====================================================================================================================
インストール:
 rsyslog                         x86_64               8.2310.0-4.el9                  appstream               781 k
依存関係のインストール:
 libestr                         x86_64               0.1.11-4.el9                    appstream                25 k
 libfastjson                     x86_64               0.99.9-5.el9                    appstream                37 k
弱い依存関係のインストール:
 rsyslog-logrotate               x86_64               8.2310.0-4.el9                  appstream                11 k

トランザクションの概要
====================================================================================================================
インストール  4 パッケージ

ダウンロードサイズの合計: 854 k
インストール後のサイズ: 2.7 M
これでよろしいですか? [y/N]: y             ←yを入力してEnter
パッケージのダウンロード:
(1/4): libestr-0.1.11-4.el9.x86_64.rpm                                              2.5 kB/s |  25 kB     00:10
(2/4): rsyslog-logrotate-8.2310.0-4.el9.x86_64.rpm                                  672 kB/s |  11 kB     00:00
(3/4): libfastjson-0.99.9-5.el9.x86_64.rpm                                          3.6 kB/s |  37 kB     00:10
(4/4): rsyslog-8.2310.0-4.el9.x86_64.rpm                                             74 kB/s | 781 kB     00:10
--------------------------------------------------------------------------------------------------------------------
合計                                                                                 76 kB/s | 854 kB     00:11
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
  準備中           :                                                                                            1/1
  インストール中   : libfastjson-0.99.9-5.el9.x86_64                                                            1/4
  インストール中   : libestr-0.1.11-4.el9.x86_64                                                                2/4
  インストール中   : rsyslog-logrotate-8.2310.0-4.el9.x86_64                                                    3/4
  インストール中   : rsyslog-8.2310.0-4.el9.x86_64                                                              4/4
  scriptletの実行中: rsyslog-8.2310.0-4.el9.x86_64                                                              4/4
Created symlink /etc/systemd/system/multi-user.target.wants/rsyslog.service → /usr/lib/systemd/system/rsyslog.service.

  検証中           : libestr-0.1.11-4.el9.x86_64                                                                1/4
  検証中           : libfastjson-0.99.9-5.el9.x86_64                                                            2/4
  検証中           : rsyslog-8.2310.0-4.el9.x86_64                                                              3/4
  検証中           : rsyslog-logrotate-8.2310.0-4.el9.x86_64                                                    4/4

インストール済み:
  libestr-0.1.11-4.el9.x86_64                 libfastjson-0.99.9-5.el9.x86_64     rsyslog-8.2310.0-4.el9.x86_64
  rsyslog-logrotate-8.2310.0-4.el9.x86_64

完了しました!
```

インストールが完了しました。ただ、このままだとまだrsyslogは動作をしていません。念のため、activeかどうかを確認しておきます。

```bash
systemctl is-active rsyslog
```

```bash
inactive
```

:::note info
`systemctl status rsyslog`を実行すると分かりますが、インストール後は自動でenabledとなっているため、startするか、Almalinuxの再起動で動きだします。
:::

今回は再起動はぜすに、手動で動かします。

```bash
sudo systemctl start rsyslog
```

もう一度確認してみます。

```bash
systemctl is-active rsyslog
```

```bash
active
```

ログアウト・ログインを試してから再度`/var/log/secure`を開いてみます。

:::note info
ここでリログを行うのは、sshのログを出させるためです。
:::

```bash
sudo cat /var/log/secure
```

ログが表示されれば成功です。