本文へ移動
Telemetry
構造化イベント SQL レシピ

欠落しているサービスのハートビートを検出する

障害イベントが発生する前にレポートを停止したサービス、ワーカー、またはスケジュールされたタスクを見つけます。

初心者service_heartbeatsレビュー済み 2026-07-27テスト済み アパッチ DataFusion 45.2.0

レビュー者 Telemetry 製品チーム . SQL の互換性、イベント コントラクト、合成出力、および操作上の注意事項. 基準と所有権を確認する

質問に回答しました

ハートビートの送信を停止したと予想されるテレメトリ ソースはどれですか?

沈黙は多くの場合、プロセスのクラッシュまたは取り込みパスの破損の最初の症状です。このクエリは、各ソースの最新のハートビートを予想されるレポート間隔と比較します。

イベント契約

クエリが期待するフィールド

フィールド種類なぜ存在するのか
timestamp_utcTimestamp心拍を確認したとき。
service_nameUtf8安定したソース名またはサービス名。
environmentUtf8プロダクション、ステージング、または開発。
statusUtf8心拍時に健康または低下します。
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_nameenvironmentlast_seen_atheartbeats_in_window
billing_syncproduction2026-07-27 15:04:00Z132
email_workerproduction2026-07-27 15:11:00Z139

合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。

Production sources past the heartbeat deadline: Detect Missing Service Heartbeats 結果例からの合成 last_seen_at 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

パブリックフィクスチャをダウンロードする

JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。

SQL の仕組み

  1. 1MAX(timestamp_utc) は、各ソースに対して観測された最新のハートビートを返します。
  2. 2HAVING はグループ化後にフィルターを適用し、最新のイベントが許可された沈黙ウィンドウよりも古いサービスのみを保持します。
  3. 3カウントは有用なコンテキストを提供します。ルックバック ウィンドウ全体にイベントがないソースには、このイベントのみのクエリではなく、期待されるソース テーブルが必要になる場合があります。

決定すべきエッジケース

  • ハートビートを一度も発したことがないソースは表示されません。完全なカバレッジが重要な場合は、予想されるソース レジストリを維持します。
  • 通常の間隔に取り込みとスケジュールのジッターを加えた値よりも高いしきい値を設定します。
  • 騒音アラートを避けるために、計画されたメンテナンス作業者や障害のある作業者を分離します。

推奨されるダッシュボード

  • 統計: 期限を過ぎたソースの数
  • 表: last_seen_at by service_name
  • 折れ線グラフ: ソース別のハートビート量

アラートガイダンス

予想される間隔が 2 つまたは 3 つ失敗するとアラートが送信され、最後に確認された時間とランブックのリンクが含まれます。

アラート設定を読む

レシピを活用する

関連する機器とガイド

分析を続ける

実際のイベントで実行する

テーブルを作成し、フィールドを調整して、結果を保存します

無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。

API キーを取得する