概要
このプロセッサーを使用して、特定の時間枠内に送信されるログ数の制限を設定します。たとえば、1 秒あたり 100 ログのみが送信されるように制限を設定できます。レート制限を設定すると、ログ取り込み数の急増を捕捉し、予期しない請求額の発生を防ぐことができます。
セットアップ
プロセッサーをセットアップするには:
- フィルタークエリを定義します。指定されたフィルタークエリに一致するログのみが処理されます。一致したすべてのログがスロットルされます。スロットル制限内に送信されたログや、フィルターに一致しないログは、次のステップに送信されます。スロットル制限に達した後で送信されたログは破棄されます。詳細については、「検索構文」を参照してください。
- スロットリングレートを設定します。これは、設定された時間枠内に特定のバケットに対して許可されるイベントの数です。注: このレート制限は、ワーカー単位で適用されます。ワーカーの数を増減させる場合は、それに応じてプロセッサーのレート制限を調整することをお勧めします。Observability Pipelines API を使用して、プログラムでレート制限を更新できます。
- 時間枠を設定します。
- フィールド別にグループ化する場合は、[Add Field] (フィールドを追加) をクリックします。
スロットルプロセッサーの動作
スロットルプロセッサーは、指定された時間枠内に送信されるログの数にレート制限を設定します。クォータプロセッサー と似ていますが、スロットルプロセッサーとクォータプロセッサーの主な違いは、クォータプロセッサーの時間枠が 24 時間に固定されており変更できないのに対し、スロットルプロセッサーの時間枠は設定可能である点です。スロットルプロセッサーの時間枠は設定可能なため、このプロセッサーには、設定したスロットリングレートと時間枠に基づいた容量補充レートがあります。詳細については、「容量補充レート」を参照してください。
次の表は、スロットルプロセッサーとクォータプロセッサーを比較したものです。
| 機能 | クォータプロセッサー | スロットルプロセッサー |
|---|
| 時間枠 | 24 時間に固定 | 設定可能 |
| イベントの初期バーストの処理 | 固定された 1 日あたりの上限までデータを処理します。 | 設定したスロットリングレートまでイベントを処理します。 |
| 制限に達した後 | 24 時間の時間枠がリセットされるまで、データの処理を停止します。 | 計算された一定のレートで処理を継続します。 |
| リセットメカニズム | 24 時間ごとにリセットされます。 | 継続的に補充されます。Worker またはパイプラインを再デプロイした場合も、時間枠がリセットされます。 |
| 制限の保存または追跡方法 | クォータ制限はバックエンドに保存されるため、Worker を再起動しても制限が保持されます。 | スロットル制限は Worker のメモリ内で追跡されるため、Worker またはパイプラインを再デプロイすると時間枠がリセットされます。 |
初期容量
スロットルプロセッサーが有効な場合、プロセッサーが即座に通過を許可するログの数は、設定された [Throttling Rate] (スロットリングレート) に基づいて決まります。たとえば、[Throttling Rate] が 60 秒間で 1000 イベントに設定されており、プロセッサーが有効になった瞬間に 5,000 件のイベントを受信した場合は、次のようになります。
- プロセッサーは、初期容量である 1,000 件のイベントの通過を許可します。
- 残りの 4,000 件のイベントは破棄されます。
- この初期動作は、クォータプロセッサーの場合も同じです。
容量補充レート
スロットルプロセッサーは 汎用セルレートアルゴリズム を使用しているため、一定のレートでイベントを通過させることができます。補充レートはスロットルプロセッサーの設定に基づいており、1 秒間に特定の数のイベントの通過を許可します。このレートは次のように計算できます。
$$\text"スロットルレート" / \text"時間枠 (秒数)"$$
例
以下のプロセッサー設定を使用する場合:
- スロットルレート = 1,000 件のイベント
- 時間枠 = 60 分 (3,600 秒)
容量補充レートは次のようになります。
$$\text"1,000 件のイベント" / \text"60 分" ≈ \text"17 件のイベント"/ \text"分" ≈ \text"0.28 件のイベント"/ \text"秒"$$
T がプロセッサーの有効化された時刻であり、その時点でプロセッサーが 5,000 件のイベントを受信した場合、T に基づいてプロセッサーが通過を許可するイベント数は次のようになります。
T + 0 分 (プロセッサーが有効化された時点):- 1,000 件のイベントが処理されます。
- 4,000 件のイベントが破棄されます。
T + 1分: 約 17 件のイベントを処理できます。T + 2 分: 約 17 件のイベントを処理できます。- …プロセッサーは、毎分約 17 件という一定のレートでイベントの処理を継続し、1 分経過するまで残りのイベントは破棄します。
注: 補充レートによって、初期容量後の最大スループットが決まります。必要に応じて、スロットリングレートを調整し、スループットを高くしたり低くしたりできます。