イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | 心拍を確認したとき。 |
| service_name | Utf8 | 安定したソース名またはサービス名。 |
| environment | Utf8 | プロダクション、ステージング、または開発。 |
| status | Utf8 | 心拍時に健康または低下します。 |
DataFusion SQL
クエリをコピーする
sql
SELECT
service_name,
environment,
MAX(timestamp_utc) AS last_seen_at,
COUNT(*) AS heartbeats_in_window
FROM service_heartbeats
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY service_name, environment
HAVING MAX(timestamp_utc) < now() - INTERVAL '10 minutes'
ORDER BY last_seen_at ASC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
ハートビート期限を過ぎた生産ソース
最も古い last_seen_at 値を最初に調査する必要があります。
| service_name | environment | last_seen_at | heartbeats_in_window |
|---|---|---|---|
| billing_sync | production | 2026-07-27 15:04:00Z | 132 |
| email_worker | production | 2026-07-27 15:11:00Z | 139 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1MAX(timestamp_utc) は、各ソースに対して観測された最新のハートビートを返します。
- 2HAVING はグループ化後にフィルターを適用し、最新のイベントが許可された沈黙ウィンドウよりも古いサービスのみを保持します。
- 3カウントは有用なコンテキストを提供します。ルックバック ウィンドウ全体にイベントがないソースには、このイベントのみのクエリではなく、期待されるソース テーブルが必要になる場合があります。
決定すべきエッジケース
- ハートビートを一度も発したことがないソースは表示されません。完全なカバレッジが重要な場合は、予想されるソース レジストリを維持します。
- 通常の間隔に取り込みとスケジュールのジッターを加えた値よりも高いしきい値を設定します。
- 騒音アラートを避けるために、計画されたメンテナンス作業者や障害のある作業者を分離します。
推奨されるダッシュボード
- 統計: 期限を過ぎたソースの数
- 表: last_seen_at by service_name
- 折れ線グラフ: ソース別のハートビート量
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。