ログファイルは、認証とアクセスの試行、起動とシャットダウンの試行、サービスの起動とシャットダウンなどのシステムアクティビティに関する情報を保持するファイルです。アクティビティの種類ごとに異なるログファイルがあります。ログファイルは、システムアクティビティのトラブルシューティングと監視を容易にします。 Rsyslogは、ロギングサーバーとクライアントの両方として構成できるLinuxOS用のオープンソースプログラムです。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するRsyslogクエリを実行するのを定期的に支援しています。
これに関連して、2台のUbuntuマシンを使用してUbuntuOS20.04でRsyslogサーバーをセットアップする方法を検討します。一方のUbuntuマシンでは、Rsyslogをロギングサーバーとして構成し、もう一方のマシンでは構成します。 RsyslogをRsyslogサーバーにログを送信するクライアントとして構成します。
Ubuntu 20.04 LTS Focal FossaにRsyslogをインストールするにはどうすればよいですか?
1.システムアップデートを実行します
まず、ターミナルで次のaptコマンドを実行して、すべてのシステムパッケージが最新であることを確認します。
$ sudo apt update
$ sudo apt upgrade
2.システムにRsyslogをインストールします
デフォルトでは、RsyslogはUbuntuベースリポジトリで利用できるようになりました。次に、以下のコマンドを実行して、Rsyslogサーバーパッケージをシステムにインストールします。
$ sudo apt install rsyslog
インストールが完了したら、Rsyslogサービスを開始して有効にします。
$ sudo systemctl start rsyslog
$ sudo systemctl enable rsyslog
$ sudo systemctl status rsyslog
Rsyslogのインストールを確認し、そのサービスのステータスを表示するには、次のコマンドを実行します。
$ sudo systemctl status rsyslog
UbuntuでRsyslogサーバーを構成する方法は?
1.Rsyslogを構成します
Rsyslogがインストールされて実行されたので、ログサーバーとして構成します。
Rsyslog構成ファイルetc/rsyslog.confを編集します:
$ sudo nano /etc/rsyslog.conf
Rsyslog構成ファイルに以下の行を追加します。
# Receive syslog over UDP
module(load="imudp")
input(type="imudp" port="514")
# Receive syslog over TCP
module(load="imtcp")
input(type="imtcp" port="514")
次に、受信したsyslogメッセージを保存するためにRsyslogが使用するテンプレートを作成します。これを行うには、Rsyslog構成ファイルのGLOBALDIRECTIVESセクションの前に以下の行を追加します。
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
次に、構成ファイルを保存して閉じます。
次に、以下のコマンドを実行して、Rsyslogのサービスを再起動します。
$ sudo systemctl restart rsyslog
次のコマンドを使用して、RsyslogがTCP/UDPポート514をリッスンしているかどうかを確認することもできます。
$ sudo ss -tunlp | grep 514
2.ファイアウォールを構成する
システムでファイアウォールが有効になっている場合は、TCP / UDPポート514を開く必要があります。このポートは、リモートクライアントからログを受信するためにRsyslogサーバーによって使用されます。次のコマンドを実行して、UbuntuファイアウォールでTCP/UDPポート514を開きます。
$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp
次に、ファイアウォールをリロードします:
$ sudo ufw reload
UbuntuでRsyslogクライアントを構成する方法は?
もう一方のUbuntuシステムで、Rsyslogクライアントの構成を実行します。次に、このクライアントはログをRsyslogログサーバーに送信します。
Rsyslogクライアントとして構成するubuntuマシンで、最初にRsyslogをインストールします(まだインストールされていない場合):
$ sudo apt install rsyslog
次に、次のコマンドを使用してRsyslog構成ファイルを編集します。
$ sudo nano /etc/rsyslog.conf
Rsyslog構成ファイルの最後に以下の行を追加します。 192.168.72.201をRsyslogロギングサーバーのIPアドレスに置き換えてください:
#Send system logs to rsyslog server over RDP
*.* @192.168.72.201:514
#Send system logs to rsyslog server over TCP
*.* @@192.168.72.201:514
##Set disk queue to preserve your logs in case rsyslog server is experiencing any downtime
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Rsyslog構成ファイルを保存して閉じます。
次に、以下のコマンドを実行して、Rsyslogのサービスを再起動します。
$ sudo systemctl restart rsyslog
Rsyslogサーバーでクライアントのログファイルを表示する方法は?
上記のすべての構成が完了すると、クライアントからRsyslogサーバーに送信されたログファイルを表示できます。 Rsyslogサーバーマシンで、ターミナルで以下のコマンドを実行します。
$ ls /var/log/
上記のコマンドの出力には、クライアントシステムのホスト名と同じ名前のディレクトリが表示されます。
クライアントマシンのログファイルを表示するには、次のディレクトリの内容を一覧表示します。
$ sudo ls /var/log/directory