サーバー設定 · 1 min read · Nov 15, 2025

Debian 11にRsyslogサーバーを設定する方法

Rsyslogは、すべてのログファイルをIPネットワークを通じて中央のログサーバーに転送する無料でオープンソースのログ記録ソフトウェアです。これにより、システム管理者は中央のポイントからすべてのサーバーを監視できます。Rsyslogはクライアント/サーバーモデルで動作し、TCP/UDPプロトコルを介してポート514でリモートクライアントからログを受信します。

この投稿では、Debian 11にRsyslogサーバーを設定する方法を示します。

前提条件

  • Debian 11を実行している2つのサーバー。
  • サーバーに設定されたrootパスワード。

Rsyslogのインストール

まず、サーバーマシンにRsyslogサーバーパッケージをインストールする必要があります。次のコマンドを使用してインストールできます:

apt-get install rsyslog -y

インストール後、次のコマンドを使用してRsyslogのステータスを確認します:

systemctl status rsyslog

次の出力が表示されるはずです:

? rsyslog.service - System Logging Service
     Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-10-03 13:35:32 UTC; 1h 44min ago
TriggeredBy: ? syslog.socket
       Docs: man:rsyslogd(8)
             man:rsyslog.conf(5)
             https://www.rsyslog.com/doc/
   Main PID: 283 (rsyslogd)
      Tasks: 4 (limit: 2341)
     Memory: 5.0M
        CPU: 90ms
     CGroup: /system.slice/rsyslog.service
             ??283 /usr/sbin/rsyslogd -n -iNONE

Oct 03 13:35:32 debian11 systemd[1]: Starting System Logging Service...
Oct 03 13:35:32 debian11 rsyslogd[283]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.2102.0]
Oct 03 13:35:32 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] start
Oct 03 13:35:32 debian11 systemd[1]: Started System Logging Service.
Oct 03 13:35:34 debian11 systemd[1]: rsyslog.service: Sent signal SIGHUP to main process 283 (rsyslogd) on client request.
Oct 03 13:45:33 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] rsyslog>

Rsyslogの設定

次に、Rsyslogをサーバーモードで実行するように設定する必要があります。Rsyslogのメイン設定ファイルを編集することで行えます:

nano /etc/rsyslog.conf

次の行のコメントを解除します:

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")

次に、クライアントシステムからの受信ログを保存するためのテンプレートを定義するために、次の行を追加します:

$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs

ファイルを保存して閉じたら、変更を適用するためにRsyslogサービスを再起動します:

systemctl restart rsyslog

この時点で、Rsyslogは起動し、ポート514でリッスンしています。次のコマンドを使用して確認できます:

ss -tunlp | grep 514

次の出力が表示されるはずです:

udp   UNCONN 0      0                              0.0.0.0:514       0.0.0.0:*    users:(("rsyslogd",pid=26276,fd=6))                                                                                                                                                                                                                                                                             
udp   UNCONN 0      0                                 [::]:514          [::]:*    users:(("rsyslogd",pid=26276,fd=7))                                                                                                                                                                                                                                                                             
tcp   LISTEN 0      25                             0.0.0.0:514       0.0.0.0:*    users:(("rsyslogd",pid=26276,fd=8))                                                                                                                                                                                                                                                                             
tcp   LISTEN 0      25                                [::]:514          [::]:*    users:(("rsyslogd",pid=26276,fd=9))                                                                                                                                                                                                                                                                             

Rsyslog用のファイアウォールの設定

次に、UFWファイアウォールを通過するようにポート514を許可する必要があります。次のコマンドで許可できます:

ufw allow 514/tcp  
ufw allow 514/udp

次に、変更を適用するためにファイアウォールを再読み込みします:

ufw reload

Rsyslogクライアントの設定

次に、Rsyslogクライアントを設定して、ログファイルをRsyslogサーバーに送信する必要があります。Rsyslogのメイン設定ファイルを編集することで行えます。

nano /etc/rsyslog.conf

ファイルの最後に次の行を追加します:

#Enable sending system logs over UDP to rsyslog server
*.* @rsyslog-server-ip:514

#Enable sending system logs over TCP to rsyslog server
*.* @@rsyslog-server-ip:514

また、Rsyslogサーバーがダウンしているときにディスクキューを設定するために、次の行を追加します:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

ファイルを保存して閉じたら、変更を適用するためにRsyslogサービスを再起動します:

systemctl restart rsyslog

クライアントのログファイルを確認

すべてのクライアントのログファイルは、サーバーマシンの/var/logディレクトリに保存されます。

次のコマンドで確認できます:

ls -l /var/log/

クライアントシステムのホスト名に対応するクライアントのログファイルが表示されるはずです:

alternatives.log    auth.log.2.gz  daemon.log       debian11    dpkg.log    kern.log.1     messages.1     private      syslog.3.gz
clientpc            auth.log.3.gz  daemon.log.1     debug   dpkg.log.1  kern.log.2.gz  messages.2.gz  runit        syslog.4.gz
apt             btmp           daemon.log.3.gz  debug.2.gz  icinga2     kern.log.4.gz  messages.4.gz  syslog
auth.log.1      csm.log    dbconfig-common  debug.4.gz  kern.log    messages       ntpstats   syslog.2.gz

ご覧のとおり、clientpcはクライアントシステムのログディレクトリです。

結論

上記のガイドでは、Debian 11にRsyslogサーバーとクライアントを設定する方法を説明しました。これで、中央の場所からクライアントを監視できます。質問があればお気軽にお尋ねください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。