イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | UTC でのレプリケーションのサンプル時間。 |
| consumer_name | Utf8 | 安定したレプリカ、コネクタ、またはダウンストリームのコンシューマ名。 |
| source_type | Utf8 | postgres_replica、cdc_pipeline、または別の制御されたソース タイプ。 |
| region | Utf8 | 承認された展開地域。 |
| lag_seconds | Float64 | ソースからの遅れが観測されました。 |
| replay_bytes_behind | Int64 | 再生または消費を待機しているおおよそのバイト数。 |
| status | Utf8 | 正常、遅延、停止、または利用不可。 |
| environment | Utf8 | 導入環境。 |
クエリをコピーする
SELECT
consumer_name,
source_type,
region,
COUNT(*) AS samples,
AVG(lag_seconds) AS average_lag_seconds,
MAX(lag_seconds) AS maximum_lag_seconds,
MAX(replay_bytes_behind) AS maximum_bytes_behind,
SUM(CASE WHEN lag_seconds > 30 THEN 1 ELSE 0 END) AS stale_samples,
100.0 * SUM(CASE WHEN lag_seconds > 30 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS stale_sample_rate_pct
FROM database_replication_samples
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY consumer_name, source_type, region
HAVING COUNT(*) >= 10
ORDER BY maximum_lag_seconds DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
最大レプリケーションまたは CDC ラグ
西部地域のレプリカは、2 つのサンプルで例示の 32 秒の鮮度閾値を超えています。
| consumer_name | source_type | region | samples | average_lag_seconds | maximum_lag_seconds | maximum_bytes_behind | stale_samples | stale_sample_rate_pct |
|---|---|---|---|---|---|---|---|---|
| replica-us-west | postgres_replica | us-west | 12 | 14.58 | 42 | 44,040,192 | 2 | 16.67 |
| billing-cdc | cdc_pipeline | us-east | 12 | 3 | 6 | 6,291,456 | 0 | 0 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 reproducible 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1平均ラグは通常の状態を表し、最大ラグは短いながらも重大なストールを維持します。
- 2古いサンプルレートは、単一の最大値よりも警告しやすいです。
- 3同じ遅延が非常に異なる量のリプレイ作業を表す可能性があるため、背後のバイト数によってワークロード コンテキストが提供されます。
決定すべきエッジケース
- データベース遅延フィールドは、書き込み、フラッシュ、リプレイ、またはコネクタ遅延を意味する場合があります。測定された境界に名前を付けます。
- 静かなソースは、古いままの下位バイトを報告する可能性があります。時間と量の両方を保ちます。
- 1 つのグローバルな 32 秒しきい値ではなく、ワークロード固有の鮮度目標を使用します。
推奨されるダッシュボード
- バー: maximum_lag_seconds (消費者別)
- トレンド: lag_seconds および replay_bytes_behind
- 表: 最新の遅れているコンシューマまたは利用できないコンシューマ
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。