GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04LTSでRsyslogサーバーをセットアップする方法

ログは、Linuxのシステムとアプリケーションに関連する問題の分析とトラブルシューティングに非常に役立ちます。デフォルトでは、すべてのログファイルはLinuxベースのオペレーティングシステムの/ var/logディレクトリ内にあります。ログファイルには、cron、カーネル、ユーザー、セキュリティなどいくつかの種類があり、これらのファイルのほとんどはRsyslogサービスによって制御されます。

Rsyslogは、ログ処理のための強力で安全なシステムです。 Rsyslogサーバーは、複数の物理サーバーまたは仮想サーバーからネットワーク経由でログを受信し、さまざまなサービスの状態を監視します。 Rsyslogサーバーを使用すると、他のサーバー、ネットワークデバイス、およびリモートアプリケーションのログを一元化された場所から監視できます。

このチュートリアルでは、Ubuntu18.04サーバーでRsyslogサーバーを構成する方法を説明します。

前提条件
  • Ubuntu18.04を実行している2台のサーバー。
  • 静的IPアドレス192.168.0.101はRsyslogサーバーマシンで構成され、192.168.0.102はRsyslogクライアントマシンで構成されます。
  • ルートパスワードは両方のサーバーで構成されています。

Rsyslogをインストール

デフォルトでは、RsyslogはUbuntu18.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

次に、受信したsyslogメッセージを保存する方法をRsyslogサーバーに指示するテンプレートを作成する必要があります。 GLOBALDIRECTIVESセクションの直前に次の行を追加します。

$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サーバーがインストールされ、リモートホストからログを受信するように構成されています。

次に、syslogメッセージをリモートRsyslogサーバーに送信するようにRsyslogクライアントを構成する必要があります。

クライアントマシンにログインし、以下に示すようにRsyslog構成ファイルを開きます。

nano /etc/rsyslog.conf

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

##Enable sending of logs over UDP add the following line:

*.* @192.168.0.101:514


##Enable sending of logs over TCP add the following line:

*.* @@192.168.0.101:514

##Set disk queue when rsyslog server will be down:

$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
結論

上記の記事では、Ubuntu18.04サーバーにRsyslogサーバーをインストールして構成する方法を学びました。また、Rsyslogサーバーにログを送信するようにRsyslogクライアントを構成する方法も学習しました。ご不明な点がございましたら、お気軽にお問い合わせください。


Ubuntu
  1. Ubuntu18.04LTSでiSCSIストレージサーバーをセットアップする方法

  2. Ubuntu20.04LTSでiSCSIストレージサーバーをセットアップする方法

  3. Ubuntu 20.04でRsyslogサーバーをセットアップする-その方法は?

  1. Ubuntu18.04LTSでKerberosサーバーとクライアントをセットアップする方法

  2. Ubuntu18.04LTSでIRedMailサーバーをセットアップする方法

  3. Ubuntu18.04および16.04LTSでElasticsearchをセットアップする方法

  1. Ubuntu18.04LTSでPritunlを使用してVPNサーバーをセットアップする方法

  2. Ubuntu Server18.04LTSのインストール方法

  3. UbuntuサーバーでOpenVPNをセットアップする方法