KubeSummit 2025 -
當AIOps走入K8s:Prometheus可觀測性進化
探討 AIOps 如何與 Kubernetes 環境整合,透過 Prometheus 實現可觀測性的進化。
AIOpsKubernetesPrometheusObservabilityAutoMLPyCaret
[!NOTE] 本場演講與 HWDC 2025 — Prometheus + AutoML 驅動的 AIOps 革命 內容基本上相同,僅題目與活動不同。
Talk Summary
在 KubeSummit 2025 分享 AIOps 如何走入 Kubernetes 生態系,透過 Prometheus 可觀測性的進化,提升雲原生環境的智慧化維運能力。
涵蓋主題
- 可觀測性的黑洞 — 傳統維運痛點與 Prometheus 監控的局限性
- AutoML 實作 (PyCaret) — 低程式碼機器學習自動化建模流程
- SRE 實戰進化 — ML 問題矩陣選擇與 Prometheus ETL 實務
- MLOps 生態系與未來展望 — 從智慧預測到全自動化自癒系統的演進路徑
一、可觀測性的黑洞:維運痛點
系統真實健康狀態如同黑洞不可見,Prometheus 指標僅是分散雜亂的訊號,單靠人眼難以拼湊出異常全貌。
四大痛點
- 數據孤島 — 指標缺乏關聯分析,各系統 Metrics 各自為政
- 人工依賴 — 極度依賴資深工程師經驗判斷異常
- 反應式監控 — 使用固定閾值告警,通常在問題發生後才發現
二、打造事件視界望遠鏡:AutoML 實作
AutoML 核心 — PyCaret
PyCaret 是一款 Python 低程式碼機器學習庫,旨在自動化建模流程,大幅縮短開發時間。
機器學習生命週期自動化
- 資料準備 —
setup()可一鍵完成清理、編碼、特徵選擇與缺失值填補 - 建模與評估 —
compare_models()自動篩選約 20 種演算法並依效能排名 - 預測與部署 — 透過
finalize_model()重新訓練後,可利用create_api()與create_docker()快速將模型推上生產環境
集成學習
利用混合模型 (Blending)、投票集成 (Voting) 與堆疊模型 (Stacking) 提升模型穩定度。
三、SRE 實戰進化:問題選擇與 ETL
ML 問題矩陣
| 問題類型 | 應用場景 | 說明 |
|---|---|---|
| 二元分類 | Pod OOM 預警 | 預測 Pod 是否即將發生 OOM |
| 多類別分類 | 縮短 MTTR | 直接將異常歸類至可能的根因 |
| 回歸分析 | API Latency 預測 | 預測 Latency 是否即將超過 SLO |
| 分群 (Clustering) | 動態告警閾值 | 自動根據資源波動率調整告警閾值 |
Prometheus ETL 實務
- 利用 PromQL(如
rate(),histogram_quantile(),avg_over_time())在取樣端濃縮特徵,減少 ML Pipeline 負擔 - 避坑指南:需考慮混合型節點 (Node type)、VPA 動態資源調整與 HPA 擴容對指標分析的影響
四、MLOps 生態系與未來展望
實務架構
整合 Kafka 處理高頻資料、MLFlow 管理模型生命週期、以及 OPA (Open Policy Agent) 執行安全決策等。
結合 LLM
將 ML 預測結果(JSON)餵給 LLM,產出三階段診斷:
- Now — 可解釋診斷:當下發生了什麼
- Next — 進一步排查建議:下一步該怎麼做
- Future — 長期修補計畫:如何從根本解決
演進路徑
- 階段 1 — 智慧預測:ML 模型自動偵測異常並預警
- 階段 2 — 半自動化修復:結合策略引擎進行受控的自動修復
- 階段 3 — 全自動化自癒系統:端到端自動偵測、診斷與修復
核心技術工具表
| 階段 | 推薦工具 / 方法 | 關鍵指令 / 特性 |
|---|---|---|
| Model 開發 | PyCaret | compare_models(), tune_model() |
| 資料 ETL | PromQL | rate(), avg_over_time(), quantile |
| 模型部署 | FastAPI / Docker | create_api(), create_docker() |
| 自動化調度 | Airflow / Prefect | 以 DAG 方式管理 retrain 與批次推論流程 |
| 策略管控 | OPA | 確保自動化修復動作符合組織安全政策 |
AIOps 成功的關鍵心法
- 不要為了用而用 — 先從「高價值、低難度」的 Regression(如硬碟預測)或二元分類(Pod OOM)開始練手感
- 數據穩健性 (Data Robustness) — 實務上 ETL Pipeline 可能不穩,必須處理好缺失值補值(如填中位數、線性插值),避免模型偏差
- 引入外生變數 (Exogenous Variables) — 將 CI/CD 部署事件、天氣、油價或特定節假日加入特徵,能顯著減少誤報
- LLM 是 SRE 的擴音器 — ML 雖然能精準檢測異常,但 LLM 能用「人話」解釋診斷結果,並提供具體的
kubectl排查指令,大幅降低維運門檻