建立彙總任務
通過配置彙總任務(Recording Rules)最佳化監控效能,降低PromQL複雜度,提升大規模叢集查詢效率。
彙總任務只支援Prometheus V2版本的執行個體。
背景資訊
彙總任務可以對落地的指標資料做二次開發。某些查詢可能需要在查詢端進行大量的計算,導致查詢端壓力過大。您可以配置預彙總規則將計算過程提前到寫入端,減少查詢端資源佔用,尤其在大規模叢集和複雜業務情境下可以有效降低PromQL的複雜度,從而提高查詢效能,解決使用者配置以及查詢慢的問題。
彙總任務的配置與開源Prometheus類似。開源RecordingRule以規則群組(Rule Group)的形式存在,每個規則群組可以有多條規則(Rules)。可觀測監控 Prometheus 版的每個彙總任務只能包含一個規則群組,彙總規則的名稱必須符合Prometheus指標名稱規範。相同組中的規則以一定的間隔順序執行,預彙總後的指標按照新的規則名字存入指定的 Prometheus 執行個體。
前提條件
彙總任務調度時需要AliyunLogETLRole查詢資料,請確保您擁有對應的角色,如果沒有的話,請單擊此處建立:AliyunLogETLRole 建立。
控制台建立彙總任務時,需要校正AliyunLogETLRole是否存在,因此您建立子帳號時,需要增加下面的許可權,使控制台可以校正角色。
{
"Statement": [
{
"Action": [
"ram:GetRole"
],
"Effect": "Allow",
"Resource": [
"*"
]
}
],
"Version": "1"
}配置彙總任務
登入CloudMonitor控制台,在左側導覽列選擇,進入執行個體列表頁面。
在頁面上方選擇目標地區,然後單擊需要配置彙總任務的 Prometheus 執行個體名稱。
在左側導覽列中單擊聚合任务,單擊新建聚合任务。
在彈出的介面中填寫彙總任務的配置,配置完成後單擊確定。
配置項
說明
任務名稱
彙總任務的顯示名稱。
RecordingRule.yaml
YAML 格式的 RecordingRule 設定檔,一個彙總任務的 RecordingRule.yaml 設定檔中要求只包含一個規則群組(Group)。
写入目标
產生指標的寫入的 Prometheus 執行個體,支援寫入到當前執行個體或同 Region 下的其他 Prometheus V2 版本的執行個體。
执行延时
彙總任務規則執行時的延遲時間,預設30秒。例如設定30秒時,10:20:00 應當執行的規則實際調度時間會是 10:20:30,等待30秒確保規則調度時資料均已到齊。
標籤
資源群組標籤。
描述
彙總任務的描述。
RecordingRule.yaml 的參數說明。
配置項
說明
groups
規則群組。一份 RecordingRule.yaml 只能配置一組規則群組。
name
規則群組名稱。
interval
(可選)規則群組的執行循環。預設60秒。
rules
規則。一個規則群組可以包含多條規則。
record
規則的名稱。彙總規則的名稱必須符合 Prometheus指標名稱規範。
預彙總規則命名的推薦格式:
level:metric:operationslevel:表示彙總層級以及規則的輸出標籤。metric:表示指標的名稱。operations:應用於指標的巨集指令清單,最新的操作在前面。
expr
計算運算式。可觀測監控 Prometheus 版將通過該運算式計算得出預彙總指標。計算運算式必須符合PromQL。
labels
(可選)指標的標籤。
查看彙總任務的執行狀態監控指標
單擊監控表徵圖即可跳轉至CloudMonitor對應介面查看當前彙總任務下全部指標的運行監控指標。在彙總任務列表中,找到目標彙總任務,單擊其監控列的監控表徵圖。
單擊下拉式清單可以查看彙總任務計算的不同指標的運行情況。在CloudMonitor介面中,可通過頂部的彙總規則下拉過濾器按 groupName 和 metricName 篩選指定彙總任務。頁面展示六項監控指標圖表:彙總工作群組規則的執行時間和調度時間的差值(s)、查詢位元組量(B)、查詢耗時(ms)、查詢指標量(count)、寫回位元組量(B)、寫回耗時(ms)。