イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | UTC でのメトリック サンプル時間。 |
| source | Utf8 | 安定したホスト、サービス、またはコンテナーの識別子。 |
| environment | Utf8 | 導入環境。 |
| cpu_utilization_pct | Float64 | CPU 使用率は 0 ~ 100 です。 |
| memory_utilization_pct | Float64 | メモリ使用率は 0 ~ 100 です。 |
| disk_utilization_pct | Float64 | ディスク使用率は 0 ~ 100 です。 |
DataFusion SQL
クエリをコピーする
sql
SELECT
date_trunc('hour', timestamp_utc) AS hour,
source,
COUNT(*) AS samples,
AVG(cpu_utilization_pct) AS average_cpu_pct,
MAX(cpu_utilization_pct) AS maximum_cpu_pct,
AVG(memory_utilization_pct) AS average_memory_pct,
MAX(memory_utilization_pct) AS maximum_memory_pct,
MAX(disk_utilization_pct) AS maximum_disk_pct
FROM system_metrics
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY date_trunc('hour', timestamp_utc), source
HAVING COUNT(*) >= 6
AND (
AVG(cpu_utilization_pct) >= 80.0
OR AVG(memory_utilization_pct) >= 85.0
OR MAX(disk_utilization_pct) >= 90.0
)
ORDER BY average_cpu_pct DESC, average_memory_pct DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
飽和したソースの平均 CPU 使用率
インポート ワーカーは CPU に制約がありますが、API ソースは持続的なメモリ負荷のために結果を入力しました。
worker-imports-03
91.4%
comparison 78.8%
api-primary-02
62.1%
comparison 89.3%
| hour | source | samples | average_cpu_pct | maximum_cpu_pct | average_memory_pct | maximum_memory_pct | maximum_disk_pct |
|---|---|---|---|---|---|---|---|
| 2026-07-27 14:00 | worker-imports-03 | 60 | 91.4 | 99.2 | 78.8 | 84.1 | 66.2 |
| 2026-07-27 14:00 | api-primary-02 | 60 | 62.1 | 88.4 | 89.3 | 93.6 | 72.5 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1時間ごとにグループ化すると、影響を受ける時間枠を表示したままにして、個々のサンプルのノイズが軽減されます。
- 2平均的な CPU とメモリにより、持続的な圧力が特定されます。最大ディスク使用率は、平均化すべきではない容量境界を捉えます。
- 3サンプルを最小限に抑えると、部分的なレポート ソースが少なすぎるデータに基づいて正常または飽和しているように見えることがなくなります。
決定すべきエッジケース
- ソースが複数のコアにわたる使用率を報告する場合、コンテナーの CPU パーセンテージは 100 を超えることがあります。まず契約を正常化します。
- メモリ負荷は、普遍的な割合だけではなく、再利用可能なキャッシュとワークロードの動作によって決まります。
- サンプルが欠落している場合は、別のハートビートまたは取り込み鮮度ビューが必要です。
推奨されるダッシュボード
- バー: ソース別の平均 CPU とメモリ
- 傾向: 最大ディスク使用率
- 表: 飽和したソースとサンプル数および所有サービス
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。