2.10. syslog チューニングのヒント
syslog は、ネットワーク経由で任意の数のプログラムからのログメッセージを転送できます。送信の頻度が低いほど、保留中のトランザクションが大きくなる可能性があります。トランザクションのサイズが非常に大きい場合は、I/O 増加が発生する可能性があります。これを防ぐには、間隔を合理的な範囲で小さい値に維持します。
手順2.9 システムロギングに syslogd を使用します。
syslogd と呼ばれるシステムログデーモンは、さまざまなプログラムからメッセージを収集するために使用されます。また、カーネルロギングデーモン klogd からカーネルによって報告された情報も収集します。通常、syslogd はローカルファイルにログを記録しますが、ネットワーク経由でリモートログサーバーにログを記録するように設定することもできます。
- リモートロギングを有効にするには、まずログを受信するマシンを設定する必要があります。詳細は、https://access.redhat.com/solutions/54363 を参照してください。
- リモートロギングサーバーでリモートロギングサポートを有効にすると、ログを送信する各システムは、そのログをローカルファイルシステムに書き込むのではなく、その 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 Enterprise Linux for Real Time システムのリモートロギングは、組織がリモートでログに記録する必要があるメッセージのみに制限することを推奨します。たとえば、カーネルの警告、認証要求などです。他のメッセージはローカルでログに記録されます。
関連する man ページ
詳細は、以下の man ページは本セクションに記載の情報に関連しています。
- syslog(3)
- rsyslog.conf(5)
- rsyslogd(8)