ログファイルは、承認とアクセスの試行、起動とシャットダウンの試行などのシステムアクティビティに関する情報を保持するファイルです、 サービスの起動とシャットダウンなど。アクティビティの種類ごとに異なるログファイルがあります。ログファイルは、システムアクティビティのトラブルシューティングと監視を容易にします。 Rsyslogは、ロギングサーバーとクライアントの両方として構成できるLinuxOS用のオープンソースプログラムです。
今日のガイドでは、UbuntuOSでRsyslogサーバーをセットアップします。 2台のUbuntuマシンを使用します。一方のUbuntuマシンでは、Rsyslogをロギングサーバーとして構成し、もう一方のマシンでは構成します。 RsyslogをRsyslogサーバーにログを送信するクライアントとして構成します。
UbuntuでのRsyslogサーバーの構成
ロギングサーバーとして使用するUbuntuマシンの1つでRsyslogを構成します。 RsyslogはUbuntuサーバーにプリインストールされています。ただし、何らかの理由で欠落している場合は、次のコマンドを実行してインストールできます。
$ sudo apt install rsyslog
インストール中に、 y / nのプロンプトが表示されます Rsyslogのインストールを続行するためのオプション。 yを押します 次に入力 続行します。
Rsyslogのインストールを確認し、そのサービスのステータスを表示するには、次のコマンドを実行します。
$ sudo systemctl status 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")
以下は、Rsyslogロギングサーバーの構成がどのように表示されるかのスクリーンショットです。
次に、着信syslogメッセージを保存するためにRsyslogが使用するテンプレートを作成します。これを行うには、Rsyslog構成ファイルに以下の行を追加します。 グローバルディレクティブセクションの前:
$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
以下の出力が表示されます:
ファイアウォールの構成
システムでファイアウォールが有効になっている場合は、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構成ファイルの最後に以下の行を追加します。必ず交換してください RsyslogロギングサーバーのIPアドレスを使用した192.168.72.204。
#Send system logs to rsyslog server over RDP *.* @192.168.72.204:514 #Send system logs to rsyslog server over TCP *.* @@192.168.72.204: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構成ファイルを保存して閉じます。
次に、以下のコマンドを実行して、Rsyslogのサービスを再起動します。
$ sudo systemctl restart rsyslog
Rsyslogサーバーでクライアントのログファイルを表示する
上記のすべての構成が完了すると、クライアントからRsyslogサーバーに送信されたログファイルを表示できます。 Rsyslogサーバーマシンで、ターミナルで以下のコマンドを実行します。
$ ls /var/log/
上記のコマンドの出力には、クライアントシステムのホスト名(この例ではubuntu2)と同じ名前のディレクトリが表示されます。
クライアントマシンのログファイルを表示するには、次のディレクトリの内容を一覧表示します。
$ sudo ls /var/log/ubuntu2
これですべてです。このガイドでは、Ubuntu OSでRsyslogをログサーバーとして、およびRsyslogサーバーにログを送信するクライアントとして構成する方法について説明しました。また、クライアントからログサーバーに送信されたログを表示する方法についても説明しました。