本文へ移動
Telemetry
インフラストラクチャー SQL レシピ

ホストとコンテナのリソースの飽和状態を確認する

サンプル量を維持しながら、持続的な CPU、メモリ、ディスク使用率によってインフラストラクチャ ソースをランク付けします。

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

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

質問に回答しました

どのインフラストラクチャ ソースが永続的にリソース制限を受けていますか?

単一の使用率のスパイクは、多くの場合ノイズです。時間ごとの平均と最大値は、ホストまたはコンテナーがアプリケーションの動作に影響を与えるほど長い間飽和状態にあったかどうかを示します。

イベント契約

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

フィールド種類なぜ存在するのか
timestamp_utcTimestampUTC でのメトリック サンプル時間。
sourceUtf8安定したホスト、サービス、またはコンテナーの識別子。
environmentUtf8導入環境。
cpu_utilization_pctFloat64CPU 使用率は 0 ~ 100 です。
memory_utilization_pctFloat64メモリ使用率は 0 ~ 100 です。
disk_utilization_pctFloat64ディスク使用率は 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 ソースは持続的なメモリ負荷のために結果を入力しました。

hoursourcesamplesaverage_cpu_pctmaximum_cpu_pctaverage_memory_pctmaximum_memory_pctmaximum_disk_pct
2026-07-27 14:00worker-imports-036091.499.278.884.166.2
2026-07-27 14:00api-primary-026062.188.489.393.672.5

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

Average CPU utilization for saturated sources: Find Host and Container Resource Saturation 結果例からの合成 average_cpu_pct 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

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

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

SQL の仕組み

  1. 1時間ごとにグループ化すると、影響を受ける時間枠を表示したままにして、個々のサンプルのノイズが軽減されます。
  2. 2平均的な CPU とメモリにより、持続的な圧力が特定されます。最大ディスク使用率は、平均化すべきではない容量境界を捉えます。
  3. 3サンプルを最小限に抑えると、部分的なレポート ソースが少なすぎるデータに基づいて正常または飽和しているように見えることがなくなります。

決定すべきエッジケース

  • ソースが複数のコアにわたる使用率を報告する場合、コンテナーの CPU パーセンテージは 100 を超えることがあります。まず契約を正常化します。
  • メモリ負荷は、普遍的な割合だけではなく、再利用可能なキャッシュとワークロードの動作によって決まります。
  • サンプルが欠落している場合は、別のハートビートまたは取り込み鮮度ビューが必要です。

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

  • バー: ソース別の平均 CPU とメモリ
  • 傾向: 最大ディスク使用率
  • 表: 飽和したソースとサンプル数および所有サービス

アラートガイダンス

継続的な使用率と、遅延、キューの経過時間、エラーなどのユーザーが直面する症状が同時に目的を達成できない場合にのみアラートを送信します。

アラート設定を読む

レシピを活用する

関連する機器とガイド

分析を続ける

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

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

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

API キーを取得する