サーバー設定 · 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 -y

Rsyslogをインストールした後、次のコマンドで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サーバーにログを送信する方法も学びました。質問があればお気軽にお尋ねください。

Share: X/Twitter LinkedIn

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

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