7.7.3. Fluentd のバッファーチャンク制限の設定


Fluentd ログコレクターが多数のログを処理できない場合、Fluentd はメモリーの使用量を減らし、データ損失を防ぐためにファイルバッファーリングを実行します。

Fluentd ファイルバッファーリングは、記録を chunks に保管します。チャンクは buffers に保管されます。

Fluentd デーモンセットで環境変数を編集して、クラスターでファイルバッファーリングを調整できます。

注記

Fluentd デーモンセットで FILE_BUFFER_LIMIT または BUFFER_SIZE_LIMIT パラメーターを変更するには、クラスターロギングを管理外 (unmanaged) の状態に設定する必要があります。管理外の状態の Operator はサポートされず、クラスター管理者は個々のコンポーネント設定およびアップグレードを完全に制御していることを前提としています。

  • BUFFER_SIZE_LIMITこのパラメーターは、Fluentd が新規チャンクを作成する前に各チャンクファイルの最大サイズを決定します。デフォルトは 8M です。このパラメーターは、Fluentd chunk_limit_size 変数を設定します。

    高い値の BUFFER_SIZE_LIMIT の場合、チャンクファイルごとにより多くのレコードを収集できます。ただし、レコードのサイズが大きくなると、ログストアに送信されるまでにより長い時間がかかります。

  • FILE_BUFFER_LIMITこのパラメーターは、ログ出力ごとにファイルバッファーサイズを決定します。この値は、Fluentd Pod がスケジュールされるノードの利用可能な領域をベースとする要求のみになります。OpenShift Container Platform では、Fluentd がノードの容量を超えることを許可しません。デフォルトは 256Mi です。

    高い値の FILE_BUFFER_LIMIT は出力数に基づいてより高い値の BUFFER_QUEUE_LIMIT に変換される可能性があります。ただし、ノードの領域が不足すると、Fluentd は失敗する可能性があります。

    デフォルトで、number_of_outputs は、すべてのログが単一リソースに送信され、追加のリソースごとに 1 つずつ増分する場合に 1 になります。ログ転送 API、Fluentd Forward プロトコル、または syslog プロトコルを使用してログを外部の場所に転送する場合、複数の出力がある可能性があります。

    永続的なボリュームサイズは、FILE_BUFFER_LIMIT に出力数を乗算した結果よりも大きくなければなりません。

  • BUFFER_QUEUE_LIMIT.このパラメーターは、許可されるバッファーチャンクの最大数です。BUFFER_QUEUE_LIMIT パラメーターは直接調整できません。OpenShift Container Platform は、この値を利用可能なロギングの出力数、チャンクサイズ、およびファイルシステム領域に基づいて計算します。デフォルトは 32 チャンクです。BUFFER_QUEUE_LIMIT を変更するには、FILE_BUFFER_LIMIT の値を変更する必要があります。BUFFER_QUEUE_LIMIT パラメーターは Fluentd queue_limit_length パラメーターを設定します。

    OpenShift Container Platform は BUFFER_QUEUE_LIMIT(FILE_BUFFER_LIMIT / (number_of_outputs * BUFFER_SIZE_LIMIT)) として計算します。

    デフォルトの値のセットを使用すると、BUFFER_QUEUE_LIMIT の値は 32 になります。

    • FILE_BUFFER_LIMIT = 256Mi
    • number_of_outputs = 1
    • BUFFER_SIZE_LIMIT = 8Mi

OpenShift Container Platform は Fluentd ファイル バッファープラグイン を使用してチャンクを保存する方法を設定します。以下のコマンドを使用してバッファーファイルの場所を確認できます。

$ oc get cm fluentd -o json | jq -r '.data."fluent.conf"'
<buffer>
   @type file 1
   path '/var/lib/flunetd/retry-elasticsearch' 2
1
Fluentd ファイル バッファープラグイン。この値は変更しないでください。
2
バッファーチャンクが格納されるパス。

前提条件

  • クラスターロギングを管理外の状態に設定する。管理外の状態の Operator はサポートされず、クラスター管理者は個々のコンポーネント設定およびアップグレードを完全に制御していることを前提としています。

手順

バッファーチャンク制限を設定するには、以下を実行します。

  1. fluentd デーモンセットで以下のいずれかのパラメーターを編集します。

    spec:
      template:
        spec:
          containers:
              env:
              - name: FILE_BUFFER_LIMIT 1
                value: "256"
              - name: BUFFER_SIZE_LIMIT 2
                value: 8Mi
    1
    出力ごとに Fluentd ファイルバッファーサイズを指定します。
    2
    各 Fluentd バッファーチャンクの最大サイズを指定します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.