活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | UTC 格式的取樣或轉換時間。 |
| cluster | Utf8 | 受控叢集名稱。 |
| namespace | Utf8 | Kubernetes 名稱空間。 |
| workload | Utf8 | Deployment、StatefulSet 或作業所有者名稱。 |
| pod | Utf8 | 用於限制向下鑽取的 Pod 識別符號。 |
| event_name | Utf8 | 受控取樣或 container_restarted 事件。 |
| restart_count | Int64 | 觀察到的累積容器重新啟動計數。 |
| ready | Boolean | 樣品艙是否已準備好。 |
| environment | Utf8 | 部署環境。 |
DataFusion SQL
複製查詢
sql
SELECT
cluster,
namespace,
workload,
COUNT(*) AS observations,
SUM(CASE WHEN event_name = 'container_restarted' THEN 1 ELSE 0 END) AS restart_events,
MAX(restart_count) AS max_restart_count,
SUM(CASE WHEN ready THEN 0 ELSE 1 END) AS not_ready_observations,
100.0 * SUM(CASE WHEN ready THEN 0 ELSE 1 END)
/ NULLIF(COUNT(*), 0) AS not_ready_rate_pct
FROM kubernetes_workload_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY cluster, namespace, workload
ORDER BY restart_events DESC, not_ready_rate_pct DESC, workload;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
按工作負載劃分的重啟和就緒訊號
與計費工作人員相比,結帳有更多的重新啟動轉換和未就緒的觀察。
checkout-api
2
2
billing-worker
1
1
| cluster | namespace | workload | observations | restart_events | max_restart_count | not_ready_observations | not_ready_rate_pct |
|---|---|---|---|---|---|---|---|
| production-us | application | checkout-api | 5 | 2 | 4 | 2 | 40 |
| production-us | application | billing-worker | 4 | 1 | 2 | 1 | 25 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1工作負載所有權比 Pod 名稱更穩定,並將結果對映到可部署單元。
- 2重新啟動轉換與累積計數器分開計數,以避免對儀表進行求和。
- 3準備情況觀察將操作症狀與潛在的服務影響放在一起。
需要決定的邊緣情況
- rollout 自然會取代 pod;區分計劃更換和重複容器重啟。
- 重新建立 Pod 時計數器可能會重置,因此請使用轉換事件來計算速率。
- 在將重新啟動歸因於程式碼更改之前,加入部署和應用程式發布上下文。
推薦儀表板
- 堆疊條:按工作負載劃分的 restart_events 和 not_ready_observations
- 趨勢:按叢集和名稱空間重新啟動過渡
- 資料表:最新受影響的 Pod 及其發布和受控原因
讓查詢範例發揮作用
相關埋點和指南
定義源資料
此分析的事件模式
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。