サーバー設定 · 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 reloadRsyslogクライアントの設定
次に、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サーバーとクライアントを設定する方法を説明しました。これで、中央の場所からクライアントを監視できます。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。