1.3. ロギングパラメーターのバランシング

syslog サーバーは、プログラムからのログメッセージをネットワーク経由で送信します。送信の頻度が低いほど、保留中のトランザクションが大きくなる可能性があります。トランザクションが非常に大きい場合、I/O スパイクが発生する可能性があります。これを防ぐには、間隔を合理的な範囲で小さい値に維持します。

システムロギングデーモン syslogd は、さまざまなプログラムからメッセージを収集するために使用されます。また、カーネルが報告する情報をカーネルロギングデーモン klogd から収集します。通常、syslogd によりローカルファイルにログが記録されますが、リモートロギングサーバーにネットワーク経由でログを記録するように設定することもできます。

手順

リモートロギングを有効にするには、以下を実行します。

  1. ログの送信先となるマシンを設定します。詳細は、Red Hat Enterprise Linux での rsyslog を使用したリモート Syslog を参照してください。
  2. ログをリモートログサーバーに送信する各システムを設定して、syslog 出力がローカルファイルシステムではなくサーバーに書き込まれるようにします。これを行うには、各クライアントシステムの /etc/rsyslog.conf ファイルを編集します。そのファイルで定義されているロギングルールごとに、ローカルログファイルをリモートロギングサーバーのアドレスに置き換えます。

    # Log all kernel messages to remote logging host.
    kern.*     @my.remote.logging.server

    上記の例では、すべてのカーネルメッセージをリモートマシン (@my.remote.logging.server) に記録するようにクライアントシステムを設定します。

    または、以下の行を /etc/rsyslog.conf ファイルに追加して、ローカルに生成されたすべてのシステムメッセージをログに記録するように syslogd を設定できます。

    # Log all messages to a remote logging server:
    .     @my.remote.logging.server
重要

syslogd デーモンには、生成されたネットワークトラフィックに対する組み込みのレート制限は含まれていません。したがって、Red Hat は、RHEL for Real Time システムを使用する場合は、組織がリモートでのログ記録を要求するメッセージのみをログに記録することを推奨します。たとえば、カーネルの警告、認証要求などです。その他のメッセージはローカルに記録する必要があります。

関連情報

  • syslog(3) の man ページ
  • rsyslog.conf(5) の man ページ
  • rsyslogd(8) の man ページ