Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

RHEL の実行時に /var/log/messages に 'kernel: audit: backlog limit exceeded' メッセージが表示される

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7

Issue

  • audit_backlog が許可された値よりも大きいことを示すメッセージが繰り返し /var/log/messages に表示されます。
Sep 13 04:02:22 example kernel: audit: audit_backlog=65537 > audit_backlog_limit=65536
Sep 13 04:02:22 example kernel: audit: audit_lost=126533574 audit_rate_limit=0 audit_backlog_limit=65536

Resolution

  • 注意: 'audit backlog exceeded' messages が表示されることは、1 つ以上の原因を持っている可能性のある一般的な事象です。

原因 1: audit システムの設定

  • /etc/audit/audit.rules において -b によって値を増やしてください。
    # Increase the buffers to survive stress events.
    # Make this bigger for busy systems
    -b 320
    # service auditd restart

Note: バッファーの値を増やすことはシステムによっては、悪い影響がある場合があります。以下の点を考慮することが必要となります。

  1. 監査のシステムコールらは、(特にパスを元にしたシステムコールは、ファイル名や現在の動作しているディレクトリ情報を取得するための dentry オペレーションが原因となって、) システム上でオーバーヘッドを引き起します。 監査する必要のあるものだけが有効になっているようにシステムコールを選定する時に注意が必要です。監査する必要のないシステムコールを監査しないことや、もしシステムコールを監査しなければならないときには、問題のある場合だけ監査するといったことを考慮してください。
  2. バックログの増加は、カーネルメモリーをより利用することになりますが、それは非常に少ない量です。しかし、余分なメモリの消費は潜在的に、既にメモリに対する圧力が高い(メモリに対するワークロードが高い)という問題を悪化させることがあります。
  3. 記録が消失しないよう audit デーモンに監査エントリを処理させ続けるようにするために増加したバックログは、audit デーモンが監査エントリをより書き出すということができるため、システム上に余分な負荷をかける可能性があります。(例えば、余分に CPU が利用されたり、ディスク I/O が発生したりするでしょう。)
  • もしくは、このエラーメッセージを防止するために、auditd を停止させてください。

原因 2: (しばしばシステムスナップショットによる) ファイルシステムの凍結

  • この原因である場合、audit メッセージと同じ時間帯にしばしばシステムハングという結果になります。この可能性のある大元の原因についての情報は、https://access.redhat.com/solutions/473223 をご覧ください。

Root Cause

  • マシン上で監査が有効になり、監査メッセージまたはアクティビティの大きな流量を持つ場合は、言及されたメッセージをシステムにログ記録するデフォルトのバッファースペースが不足します。

  • audit_backlog_limit 値を大きくすると、この問題を解決できます。これに対するデフォルトの値は小さく、auditctl がバッファースペースからのログを正確に処理するさらに小さい監視ログを持つマシンへのターゲットになります。巨大な監査トラフィックがあるマシン上でバッファースペースを増加することは、この問題を避けるための解決策となります。

  • 適切なバッファー値を見つけるには、検証が必要になります。システムに十分なメモリがある場合に、それを 2 倍にして、エラーがなくなるかどうかを確認します。値を大きくするとシステムリソースの使用が増える場合は、値を小さくしたほうが適切な場合があります。

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.