當您需要將某Prometheus實例的監控數據導出,進行自定義業務處理時,可以使用Prometheus數據投遞功能,將Prometheus實例數據投遞至云消息隊列Kafka版或云原生大數據計算服務(MaxCompute)處理。您可以根據業務需求,選擇相應的投遞目標。本文介紹如何創建數據投遞任務。
前提條件
已接入Prometheus實例,具體操作,請參見:
已開通事件總線EventBridge服務,并登錄EventBridge控制臺對需要的投遞目標類型授權。具體操作,請參見開通事件總線EventBridge并授權。
已創建投遞目標相關資源,例如云消息隊列Kafka版或云原生大數據計算服務(MaxCompute)。投遞目標不同,需要創建的資源也不同。具體操作,請參見云消息隊列Kafka版快速入門或將Prometheus數據投遞至大數據計算服務MaxCompute。
注意事項
選擇專有網絡進行數據投遞時,如果Prometheus實例所在VPC與目標VPC不在同一個,您需要保證目標VPC內的vSwitch的IP已加入Prometheus實例的白名單中,否則會導致網絡不通。vSwitch的網段信息可以在專有網絡控制臺的交換機詳情頁面獲取。
支持數據投遞的數據源列表。
實例類型
說明
Prometheus for 云服務
除cloud-product-prometheus名稱開頭的免費實例
Prometheus for 容器服務
無
Prometheus for 應用監控
無
Prometheus for Flink Serverless
無
Prometheus for Kubernetes
無
通用
除通過OpenTelemetry地址上報上來的數據
操作步驟
登錄ARMS控制臺。
在左側導航欄選擇
,進入可觀測監控Prometheus版的數據投遞頁面。在數據投遞頁面,單擊頂部菜單欄選擇目標地域,然后單擊新建任務。
在對話框中輸入任務名稱和任務描述后,單擊確定。
在任務編輯頁面,配置數據源和投遞目標。
單擊+ 添加數據源,配置以下參數,然后單擊確定。
配置項
說明
示例
Prometheus實例
被投遞的Prometheus數據源。
c78cb8273c02*****
數據過濾
設置需要過濾的指標標簽,支持正則表達式。多個條件需要換行,條件需要同時滿足,才會投遞。
__name__=AliyunEcs_CPUUtilization|AliyunEcs_memory_usedutilization regionId=cn-hangzhou id=i-2ze0mxp.*
單擊添加目標,根據投遞類型配置投遞目標,重試區域建議使用默認配置。
目標類型選擇阿里云消息隊列Kafka版時,請參見將Prometheus數據投遞至Kafka。
目標類型選擇云原生大數據計算服務 MaxCompute時,請參見將Prometheus數據投遞至大數據計算服務MaxCompute。
目標類型選擇Prometheus Remote Write時。請參見將Prometheus數據投遞至自建Prometheus實例。
配置完成后,在任務編輯頁面,單擊確定,然后單擊保存創建投遞任務。
新創建的投遞任務為未啟動狀態,在任務詳情頁面,單擊右上角的開啟,即可開始投遞任務。投遞任務啟動后,數據經過2~5分鐘的延遲即可到達投遞目標。
數據示例
為使Prometheus監控數據適用于其他阿里云產品,數據投遞功能會將傳統指標數據轉化為JSON格式的數據。
Prometheus監控數據:
http_requests_total{method="POST", handler="/api/tracks"} 1027 1609459200000
轉化為JSON格式數據:
{ "__name__": "http_requests_total", "method": "POST", "handler": "/api/tracks", "value": 1027, "timestamp": 1609459200000 }