當您需要將某Prometheus執行個體的監控資料匯出,進行自訂業務處理時,可以使用Prometheus資料投遞功能,將Prometheus執行個體資料投遞至雲訊息佇列Kafka版或雲原生MaxCompute(MaxCompute)處理。您可以根據業務需求,選擇相應的投遞目標。本文介紹如何建立資料投遞任務。
前提條件
已接入Prometheus執行個體,具體操作,請參見:
已開通事件匯流排EventBridge服務,並登入EventBridge控制台對需要的投遞目標類型授權。具體操作,請參見開通事件匯流排EventBridge並授權。
說明資料投遞功能依賴事件匯流排EventBridge,事件匯流排 EventBridge 已於2025年06月03日正式商業化,事件匯流排 EventBridge 計費資訊,請參見計費概述。
已建立投遞目標相關資源,例如雲訊息佇列Kafka版或雲原生MaxCompute(MaxCompute)。投遞目標不同,需要建立的資源也不同。具體操作,請參見雲訊息佇列Kafka版快速入門或將Prometheus資料投遞至MaxCompute。
注意事項
選擇專用網路進行資料投遞時,如果Prometheus執行個體所在VPC與目標VPC不在同一個,您需要保證目標VPC內的vSwitch的IP已加入Prometheus執行個體的白名單中,否則會導致網路不通。vSwitch的網段資訊可以在專用網路控制台的交換器詳情頁面擷取。
支援資料投遞的資料來源列表。
執行個體類型
說明
Prometheus for 雲端服務
除cloud-product-prometheus名稱開頭的免費執行個體
Prometheus for Container Service
無
Prometheus for Flink Serverless
無
Prometheus for Kubernetes
無
通用
除通過OpenTelemetry地址上報上來的資料
僅支援從建立任務開始後的即時資料匯出,不支援歷史資料的投遞。
操作步驟
在左側導覽列,單擊。
在資料投遞頁面,單擊頂部功能表列選擇目標地區,然後單擊建立任務。
在對話方塊中輸入任務名稱和任務描述後,單擊確定。
在任務編輯頁面,配置資料來源和投遞目標。
單擊+ 添加資料來源,配置以下參數,然後單擊確定。
配置項
說明
樣本
Prometheus執行個體
被投遞的Prometheus資料來源。
c78cb8273c02*****
資料過濾
設定需要過濾的指標標籤,支援Regex。多個條件需要換行,條件需要同時滿足,才會投遞。
__name__=AliyunEcs_CPUUtilization|AliyunEcs_memory_usedutilization regionId=cn-hangzhou id=i-2ze0mxp.*資料打標
設定需要新增的標籤,支援對投遞的指標資料新增多個label。如果存在多個,則換行。
deliver_test_key1=ssss deliver_test_key2=yyyy單擊添加目標,根據投遞類型配置投遞目標,重試地區建議使用預設配置。
目標類型選擇阿里雲訊息佇列Kafka版時,請參見將Prometheus資料投遞至Kafka。
目標類型選擇雲原生MaxCompute 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 }