Red Hat Training

A Red Hat training course is available for RHEL 8

37.5. UDP でリモートロギング情報を受信するためのサーバー設定

Rsyslog アプリケーションを使用すると、リモートシステムからロギング情報を受信するようにシステムを設定できます。UDP 経由でリモートロギングを使用するには、サーバーとクライアントの両方を設定します。受信サーバーは、クライアントシステムが送信したログの収集および分析を行います。デフォルトでは、rsyslog はポート 514 で UDP を使用して、リモートシステムからログ情報を受信します。

以下の手順に従って、UDP プロトコルでクライアントシステムが送信したログの収集および分析を行うサーバーを設定します。

前提条件

  • rsyslog ユーティリティーがインストールされている。

手順

  1. 必要に応じて、デフォルトのポート 514 以外の rsyslog トラフィックに別のポートを使用するには、次のコマンドを実行します。

    1. SELinux ポリシー設定に syslogd_port_t SELinux タイプを追加し、portnorsyslog で使用するポート番号に置き換えます。

      # semanage port -a -t syslogd_port_t -p udp portno
    2. rsyslog の受信トラフィックを許可するように firewalld を設定します。portno はポート番号に、zonersyslog が使用するゾーンに置き換えます。

      # firewall-cmd --zone=zone --permanent --add-port=portno/udp
      success
    3. ファイアウォールルールを再読み込みします。

      # firewall-cmd --reload
  2. /etc/rsyslog.d/ ディレクトリーに .conf の新規ファイル (例: remotelogserv.conf) を作成し、以下のコンテンツを挿入します。

    # Define templates before the rules that use them
    ### Per-Host Templates for Remote Systems ###
    template(name="TmplAuthpriv" type="list") {
        constant(value="/var/log/remote/auth/")
        property(name="hostname")
        constant(value="/")
        property(name="programname" SecurePath="replace")
        constant(value=".log")
        }
    
    template(name="TmplMsg" type="list") {
        constant(value="/var/log/remote/msg/")
        property(name="hostname")
        constant(value="/")
        property(name="programname" SecurePath="replace")
        constant(value=".log")
        }
    
    # Provides UDP syslog reception
    module(load="imudp")
    
    # This ruleset processes remote messages
    ruleset(name="remote1"){
         authpriv.*   action(type="omfile" DynaFile="TmplAuthpriv")
          *.info;mail.none;authpriv.none;cron.none
    action(type="omfile" DynaFile="TmplMsg")
    }
    
    input(type="imudp" port="514" ruleset="remote1")

    514 は、rsyslog がデフォルトで使用するポート番号です。代わりに別のポートを指定できます。

  3. rsyslog サービスを再起動します。

    # systemctl restart rsyslog
  4. 必要に応じて、rsyslog が有効になっていない場合は、再起動後に rsyslog サービスが自動的に起動するようにします。

    # systemctl enable rsyslog

検証

  1. /etc/rsyslog.conf ファイルの構文と /etc/rsyslog.d/ ディレクトリー内の全 .conf ファイルを確認します。

    # rsyslogd -N 1
    rsyslogd: version 8.1911.0-2.el8, config validation run (level 1), master config /etc/rsyslog.conf
    rsyslogd: End of config validation run. Bye.

関連情報

  • rsyslogd(8) の man ページ
  • rsyslog.conf(5) の man ページ
  • semanage(8) の man ページ
  • firewall-cmd(1) の man ページ
  • file:///usr/share/doc/rsyslog/html/index.htmlrsyslog-doc パッケージでインストールされるドキュメント