DUICUO

CentOS 8/RHEL 8でRsyslogサーバーを設定する方法

[[280503]]

Rsyslog は、CentOS 8 および RHEL 8 システムでデフォルトで使用できる、無料のオープンソース ログ プログラムです。クライアント ノードからのログを単一の中央サーバーに一元化する、シンプルで効率的な方法を提供します。集中ログには、主に 2 つの利点があります。1 つ目は、ログの表示が簡素化されることです。システム管理者は、各クライアント システムにログインしてログを確認することなく、中央ノードからリモート サーバーのすべてのログを表示できます。これは、複数のサーバーを監視する必要がある場合に非常に便利です。2 つ目は、リモート クライアントがクラッシュしても、ログが失われる心配がないことです。すべてのログは中央の Rsyslog サーバーに保存されます。Rsyslog は、UDP プロトコルのみをサポートする syslog に代わるものです。ログ送信時に UDP と TCP の両方のプロトコルをサポートする、強化されたフィルタリング機能、柔軟な構成オプションなどの優れた機能で、基本的な syslog プロトコルを拡張します。それでは、CentOS 8/RHEL 8 システムで Rsyslog サーバーを構成する方法を見ていきましょう。

rsyslog-centos8-rhel8 を構成する

前提条件

集中ログ記録プロセスをテストするために、次の実験環境を設定します。

  • Rsyslog サーバー CentOS 8 最小 IP アドレス: 10.128.0.47
  • クライアントシステム RHEL 8 最小 IP アドレス: 10.128.0.48

上記の設定を使用して、Rsyslog サーバーを設定し、監視のためにログを Rsyslog サーバーに送信するようにクライアント システムを構成する方法を説明します。

さあ始めましょう!

CentOS 8 で Rsyslog サーバーを構成する

CentOS 8/RHEL 8 サーバーにはデフォルトで Rsyslog がインストールされています。Rsyslog の状態を確認するには、SSH 経由でログインし、次のコマンドを実行します。

  1. $ systemctl status rsyslog

出力例:

rsyslog サービス ステータス Centos8

何らかの理由で Rsyslog が見つからない場合、次のコマンドを使用してインストールできます。

  1. $ sudo yum install rsyslog

次に、Rsyslog設定ファイルの設定を変更する必要があります。設定ファイルを開きます。

  1. $ sudo vim / etc / rsyslog . conf

下にスクロールして次の行のコメントを解除し、UDP プロトコル経由でログを受信できるようにします。

  1. module ( load = "imudp" ) # needs to be done just once
  2. input ( type = "imudp" port = "514" )

rsyslog-conf-centos8-rhel8

同様に、TCP rsyslog 受信を有効にする場合は、次の行のコメントを解除します。

  1. module ( load = "imtcp" ) # needs to be done just once
  2. input ( type = "imtcp" port = "514" )

rsyslog-conf-tcp-centos8-rhel8

設定ファイルを保存して終了します。

クライアントシステムからログを受信するには、ファイアウォールでRsyslogのデフォルトポート514を開く必要があります。これを行うには、次のコマンドを実行します。

  1. # sudo firewall - cmd -- add - port = 514 / tcp -- zone = public -- permanent

次に、ファイアウォールをリロードして変更を保存します。

  1. # sudo firewall - cmd -- reload

出力例:

ファイアウォールポート-rsyslog-centos8

次に、Rsyslog サーバーを再起動します。

  1. $ sudo systemctl restart rsyslog

起動時に Rsyslog を実行するには、次のコマンドを実行します。

  1. $ sudo systemctl enable rsyslog

Rsyslog サーバーがポート 514 でリッスンしていることを確認するには、次のようにnetstatコマンドを使用します。

  1. $ sudo netstat - pnltu

出力例:

netstat-rsyslog-ポート-centos8

クライアント システムからログを受信するように Rsyslog サーバーを正常に構成しました。

ログ メッセージをリアルタイムで表示するには、次のコマンドを実行します。

  1. $ tail - f / var / log / messages

それでは、クライアント システムを構成しましょう。

RHEL 8 でのクライアント システムの構成

Rsyslog サーバーと同様に、ログインし、次のコマンドを使用して rsyslog デーモンが実行されているかどうかを確認します。

  1. $ sudo systemctl status rsyslog

出力例:

クライアント-rsyslog-サービス-rhel8

次に、rsyslog 構成ファイルを開きます。

  1. $ sudo vim / etc / rsyslog . conf

ファイルの末尾に次の行を追加します。

  1. *.* @ 10.128 . 0.47 : 514 # Use @ for UDP protocol
  2. *.* @@ 10.128 . 0.47 : 514 # Use @@ for TCP protocol

設定ファイルを保存して終了します。Rsyslogサーバーと同様に、ファイアウォールのデフォルトのRsyslogポートであるポート514を開きます。

  1. $ sudo firewall - cmd -- add - port = 514 / tcp -- zone = public -- permanent

次に、ファイアウォールをリロードして変更を保存します。

  1. $ sudo firewall - cmd -- reload

次に、rsyslog サービスを再起動します。

  1. $ sudo systemctl restart rsyslog

起動時に Rsyslog を実行するには、次のコマンドを実行します。

  1. $ sudo systemctl enable rsyslog

テストログ記録操作

Rsyslog サーバーとクライアントのインストールと構成が正常に完了したら、構成が期待どおりに動作していることを確認します。

クライアント システムで、次のコマンドを実行します。

  1. # logger "Hello guys! This is our first log"

次に、Rsyslog サーバーにアクセスし、次のコマンドを実行してログ メッセージをリアルタイムで表示します。

  1. # tail - f / var / log / messages

クライアント システムでのコマンド実行の出力は Rsyslog サーバーのログに表示されます。これは、Rsyslog サーバーがクライアント システムからログを受信して​​いることを意味します。

ログを集中管理する-rsyslogs-centos8

これで完了です。クライアント システムからログ情報を受信するための Rsyslog サーバーの設定が完了しました。