サーバー設定 · 1 min read · Oct 06, 2025
Ubuntu 18.04 LTSにRsyslogサーバーを設定する方法

ログは、Linuxにおけるシステムやアプリケーションに関連する問題を分析し、トラブルシューティングするために非常に役立ちます。デフォルトでは、すべてのログファイルはLinuxベースのオペレーティングシステムの/var/logディレクトリ内にあります。ログファイルには、cron、カーネル、ユーザー、セキュリティなどのいくつかの種類があり、これらのファイルのほとんどはRsyslogサービスによって制御されています。
Rsyslogは、ログ処理のための強力で安全なシステムです。Rsyslogサーバーは、複数の物理または仮想化されたサーバーからネットワーク経由でログを受信し、さまざまなサービスの健康状態を監視します。Rsyslogサーバーを使用すると、中央の場所から他のサーバー、ネットワークデバイス、およびリモートアプリケーションのログを監視できます。
このチュートリアルでは、Ubuntu 18.04サーバーでRsyslogサーバーを構成する方法を説明します。
前提条件
- Ubuntu 18.04を実行している2台のサーバー。
- Rsyslogサーバーマシンに静的IPアドレス192.168.0.101が設定され、Rsyslogクライアントマシンに192.168.0.102が設定されています。
- 両方のサーバーにルートパスワードが設定されています。
Rsyslogのインストール
デフォルトでは、RsyslogはUbuntu 18.04サーバーにインストールされています。インストールされていない場合は、次のコマンドを実行してインストールできます。
apt-get install rsyslog -yRsyslogをインストールした後、次のコマンドでRsyslogのバージョンを確認できます。
rsyslogd -v次の出力が表示されるはずです。
rsyslogd 8.32.0, compiled with:
PLATFORM: x86_64-pc-linux-gnu
PLATFORM (lsb_release -d):
FEATURE_REGEXP: Yes
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
memory allocator: system default
Runtime Instrumentation (slow code): No
uuid support: Yes
systemd support: Yes
Number of Bits in RainerScript integers: 64
See http://www.rsyslog.com for more information.
次のコマンドでRsyslogのステータスも確認できます。
systemctl status rsyslog次の出力が表示されるはずです。
? rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-10-22 04:28:55 UTC; 1min 31s ago
Docs: man:rsyslogd(8)
http://www.rsyslog.com/doc/
Main PID: 724 (rsyslogd)
Tasks: 4 (limit: 1114)
CGroup: /system.slice/rsyslog.service
??724 /usr/sbin/rsyslogd -n
Oct 22 04:28:53 ubuntu1804 systemd[1]: Starting System Logging Service...
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.32.0]
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's groupid changed to 106
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's userid changed to 102
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Oct 22 04:28:55 ubuntu1804 systemd[1]: Started System Logging Service.
Rsyslogサーバーの設定
Rsyslogは現在インストールされ、実行中です。次に、サーバーモードで実行するように構成する必要があります。/etc/rsyslog.confファイルを編集することで行えます。
nano /etc/rsyslog.confまず、プロトコルをUDPまたはTCPまたはその両方を定義する必要があります。
UDPとTCPの接続を同時に使用するには、以下の行を検索してコメントを解除します。
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514次に、アクセスを制限するために特定のサブネット、IP、またはドメインを定義します。
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com次に、Rsyslogサーバーが受信するsyslogメッセージをどのように保存するかを指示するテンプレートを作成する必要があります。GLOBAL DIRECTIVESセクションの直前に以下の行を追加します。
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs作業が完了したら、ファイルを保存して閉じます。次に、次のコマンドでRsyslogの構成に構文エラーがないか確認します。
rsyslogd -f /etc/rsyslog.conf -N1次の出力が表示されるはずです。
rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.最後に、次のコマンドでRsyslogサービスを再起動します。
systemctl restart rsyslogこれで、次のコマンドでRsyslogがTCP/UDPでリッスンしていることを確認します。
netstat -4altunp | grep 514次の出力が表示されるはずです。
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1332/rsyslogd
udp 0 0 0.0.0.0:514 0.0.0.0:* 1332/rsyslogd Rsyslogクライアントの設定
Rsyslogサーバーはインストールされ、リモートホストからのログを受信するように構成されています。
次に、Rsyslogクライアントを構成して、リモートRsyslogサーバーにsyslogメッセージを送信する必要があります。
クライアントマシンにログインし、以下のようにRsyslog構成ファイルを開きます。
nano /etc/rsyslog.confファイルの最後に以下の行を追加します。
## UDP経由でのログ送信を有効にするには、以下の行を追加します。
*.* @192.168.0.101:514
## TCP経由でのログ送信を有効にするには、以下の行を追加します。
*.* @@192.168.0.101:514
## Rsyslogサーバーがダウンしているときのディスクキューを設定します。
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1ファイルを保存して閉じます。次に、構成変更を適用するためにRsyslogサーバーを再起動します。
systemtcl restart rsyslogクライアントログの表示
この時点で、RsyslogクライアントはログをRsyslogサーバーに送信するように構成されています。
次に、Rsyslogサーバーにログインし、/var/logディレクトリを確認します。クライアントマシンのホスト名を含むエントリといくつかのログファイルが表示されるはずです。
ls /var/log/rsyslog-client/出力:
CRON.log kernel.log rsyslogd-2039.log rsyslogd.log sudo.log wpa_supplicant.log結論
上記の記事では、Ubuntu 18.04サーバーにRsyslogサーバーをインストールし、構成する方法を学びました。また、Rsyslogクライアントを構成して、Rsyslogサーバーにログを送信する方法も学びました。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。