本文介紹PromQL資源群組在生產環境中的營運與精細化使用,包括按負載規劃資源、理解多租戶資料群組織、使用VM UI與VM叢集監控排查問題、修改參數與擴縮容,以及常見錯誤的處理方法。
資源規劃
PromQL資源群組由四類節點群組成,每類節點的規格和數量需要在建立時一併規劃。ACU是AnalyticDB for MySQL的計算計量單位,1 ACU等於1 vCPU + 4 GB記憶體。
不同負載下的推薦配置樣本如下,您可以參考所選情境的配置作為起點,再按下方表格的規則進行調整:
功能驗證 / PoC:四類節點均採用最小規格(儲存 / 寫入 / 查詢節點各4 ACU、認證節點1 ACU),節點數量採用系統預設值(儲存3 / 寫入2 / 查詢2 / 認證2),儲存磁碟500 GB。總ACU為30,可承載約80萬 samples/s 的寫入吞吐。
中等生產負載(活躍series ≤ 100萬、寫入速率 ≤ 5000樣本/秒):儲存節點8 ACU × 3、寫入節點8 ACU × 2、查詢節點8 ACU × 2 並分配1 TB緩衝盤、認證節點1 ACU × 2。
大規模負載:根據峰值寫入QPS和活躍series數線性擴充儲存節點與寫入節點;查詢節點根據並發數和快取命中率調整規格與緩衝盤容量。
各類節點的可選規格與擴容時機如下:
節點 | 可選規格 | 規劃建議 |
儲存節點 | 4 / 8 / 16 / 32 / 64 / 128 ACU | 當資料量或活躍series增長、磁碟水位接近上限時,建議擴容儲存節點的規格、數量或磁碟空間。 儲存節點的資料磁碟使用ESSD雲端硬碟,按GB為單位分配。單節點磁碟容量可按以下公式估算: 單節點磁碟空間 ≈ 保留期(天) × 每秒樣本數 × 1.3 位元組 ÷ 儲存節點數。 |
寫入節點 | 4 / 8 / 16 / 32 / 64 / 128 ACU | 當寫入QPS或樣本量增長、寫入出現抖動時,建議擴容規格或增加節點數量。 |
查詢節點 | 4 / 8 / 16 / 32 / 64 / 128 ACU | 當查詢並發或大範圍掃描增多時,建議擴容規格或增加節點數量;如需進一步加速重複查詢,可為查詢節點分配緩衝盤。 |
認證節點(Auth) | 1 ACU(固定) | 當用戶端並發量增加導致認證壓力上升時,建議增加節點數量。 |
資料群組織與多租戶
PromQL資源群組對外提供一套統一的指標庫。您只需關注指標名稱(metric)與標籤(labels),無需關注底層的租戶切分。但VictoriaMetrics協議要求在URL中指定租戶ID,理解其行為可避免資料寫入成功但查詢不到的問題。
預設租戶
PromQL資源群組的控制台、VM UI與預設查詢入口均綁定到租戶ID0。所有寫入與查詢URL都應使用/insert/0/...和/select/0/...,否則資料雖然落盤,但在控制台和VM UI中不可見。
常見誤用:寫入非0租戶後查詢為空白
VictoriaMetrics引擎對任意accountID(例如/insert/1/...)都會按需自動建立租戶並接收寫入,HTTP返回204,不會報錯。但是:
從預設查詢入口
/select/0/...查詢時,無法看到這些資料。VM UI與控制台的VM叢集監控中,這些資料也不會被統計。
資料雖然真實存在於vmstorage中,但從使用者視角看起來如同丟失。
用戶端寫入路徑中的租戶ID段必須固定為0。如果使用vmagent等中介軟體轉寄,請確認其remoteWrite.url中包含/insert/0/。
多業務隔離方案
針對多業務、多環境、多團隊情境,PromQL資源群組推薦以下隔離方案:
隔離強度 | 方案 | 適用情境 |
邏輯隔離(推薦) | 同一資源群組內,使用metric名稱與labels區分業務、環境與叢集。 label設計建議:使用 避免將業務標籤塞進metric名稱(例如 | 多業務共用一套監控底座,跨業務統一看板,營運成本最低。 |
物理隔離 | 在同一AnalyticDB for MySQL執行個體下建立多個PromQL資源群組。 | 需要計費獨立、SLA獨立、容量配額獨立。 |
環境隔離 | 不同環境(生產 / 測試)使用不同資源群組。 | 避免測試流量影響生產查詢效能。 |
使用VM UI
VM UI是VictoriaMetrics內建的可視化查詢介面,無需自建Grafana即可執行PromQL查詢與問題排查。訪問入口與登入方式參見快速使用PromQL資源群組。VM UI主要功能頁如下:
頁面 | 用途 |
Query | 輸入PromQL執行即時查詢,結果支援表格、圖表、JSON三種視圖。 |
Explore > Metrics | 瀏覽所有已寫入的指標名稱。 |
Cardinality Explorer | 按label維度分析資料基數,定位高基數標籤。 |
Top Queries | 查看最耗時或最頻繁的查詢,用於效能最佳化。 |
查看VM叢集監控
控制台為每個PromQL資源群組提供開箱即用的營運監控儀錶盤。在資源組管理列表中,單擊目標PromQL資源群組操作列的VM叢集監控,即可在抽屜中查看以下內容:
即時統計:Total datapoints、Ingestion rate、Read requests、Active series、Disk space usage、Available CPU / Memory、Bytes per point等關鍵計量。
叢集組件狀態:按pod_type(storage / select / insert)分組展示每類節點的運行情況與版本號碼。
趨勢圖:Uptime、Datapoints ingestion rate、Requests rate等折線圖,支援調整時間範圍。
VM Auth子頁:單獨查看認證節點的請求量與錯誤率。
所有vm_*自監控指標對外暴露,您可以將PromQL資源群組接入自有的Grafana或警示系統,實現自身監控閉環。
修改參數
在資源群組詳情面板的參數配置區塊,單擊右上方的修改配置,可調整以下參數:
參數 | 預設值 | 說明 |
| 32 | 寫入節點的最大並發寫入數。 |
|
| 查詢節點的快取資料路徑,位於緩衝盤上。 |
| 2 | 資料副本數,保障儲存節點故障時不丟資料。 |
| 15s | 去重的最小抓取間隔,相同時間戳記的樣本僅保留最新值。 |
| 15d | 資料保留周期。支援單位 |
修改參數將觸發對應節點的滾動重啟,期間寫入與查詢可能出現短暫抖動,建議在業務低峰期操作。如需匯出當前完整參數檔案,可單擊下載配置。
節點擴縮容
在詳情面板的節點配置表中,單擊對應節點行的修改,可調整以下項:
節點規格:在 4 / 8 / 16 / 32 / 64 / 128 ACU 之間切換(認證節點固定為1 ACU)。
節點數量。
單節點磁碟空間:僅儲存節點支援調整。
擴縮容期間叢集整體保持可用,單個節點重啟時其請求將自動路由到其他健康節點,但可能出現短暫的效能波動,建議在業務低峰期操作。
常見問題
寫入或查詢返回HTTP 400 unsupported path requested
URL路徑中缺少/prometheus/段。叢集版協議要求寫入路徑為/insert/0/prometheus/api/v1/...,查詢路徑為/select/0/prometheus/api/v1/...。
返回HTTP 401 Unauthorized
帳號或密碼錯誤,請到資源群組詳情面板重新複製管理員憑證;或用戶端使用了https://首碼,連接埠8427僅支援HTTP,請改為http://。
寫入返回204但查詢無資料
索引延遲:寫入後1~2秒索引才可見,稍候重試即可。
租戶ID錯誤:本產品的預設租戶ID固定為
0,請檢查URL中/insert/<租戶ID>/段是否為0。詳情參見常見誤用:寫入非0租戶後查詢為空白。
連線逾時
用戶端來源IP是否已加入執行個體白名單。
所用地址與用戶端網路位置是否匹配:使用VPC地址要求用戶端與執行個體位於同一VPC內,跨VPC使用VPC地址也會連線逾時;用戶端在阿里雲外或不同VPC時,必須開通並使用公網地址。
訪問URL是否使用了
http://首碼和連接埠8427。
如何延長資料保留期
在參數配置中將common.retentionPeriod調整為目標值,例如180d表示保留180天。修改後會觸發節點滾動重啟。延長保留期會增加歷史資料佔用的磁碟空間,請同時評估是否需要擴容儲存節點的磁碟容量。
如何釋放資源群組以停止計費
在資源群組列表中,單擊目標PromQL資源群組操作列的更多菜單,選擇釋放。釋放後資源群組與其中的所有指標資料都會被刪除,且無法恢複。釋放操作提交後立即停止計費,按已用時間長度(不滿1小時按1小時)結算。