活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| 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 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1每小時分組可減少單個樣本的噪音,同時保持受影響的時間視窗可見。
- 2平均CPU和記憶體識別持續壓力;最大磁碟利用率捕獲了不應被平均掉的容量邊界。
- 3最小樣本可以防止部分報告源因資料太少而顯得健康或飽和。
需要決定的邊緣情況
- 當源報告多個核心的利用率時,容器 CPU 百分比可能會超過 100;首先使合約正常化。
- 記憶體壓力取決於可回收的快取和工作負載行為,而不僅僅是通用百分比。
- 丟失的樣本需要單獨的心跳或攝入新鮮度檢視。
推薦儀表板
- 條形圖:按來源劃分的平均 CPU 和記憶體
- 趨勢:最大磁碟利用率
- 資料表:包含樣本數量和擁有服務的飽和來源
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。