全部產品
Search
文件中心

Managed Service for Prometheus:將Prometheus資料投遞至MaxCompute

更新時間:Dec 25, 2025

當您需要將某個Prometheus執行個體的資料匯出,進行自訂業務處理時,可以使用Prometheus資料投遞功能,將Prometheus執行個體資料投遞至MaxCompute處理。MaxCompute能協助您結合其他的資料來源執行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地址上報上來的資料

  • 僅支援從建立任務開始後的即時資料匯出,不支援歷史資料的投遞。

費用說明

資料投遞至MaxCompute時將建立Function Compute (FC)服務,服務名首碼為{task_name}_SINK_FC_TO_MAXCOMPUTE,由Function Compute (FC)將資料寫入MaxCompute中,因此將收取Function Compute服務費用。資料會攢批後發送給Function Compute (FC),因此調用Function Compute (FC)次數越少,產生的相關費用越少。您可以登入Function Compute控制台查看當前FC資源狀態。

步驟一:準備MaxCompute資源

  1. 根據MaxCompute文檔,任意選擇一種方式串連至MaxCompute專案。具體操作,請參見選擇串連工具

  2. 確定表結構:設定表結構的列名與Prometheus資料標籤名保持一致。若表的列名找不到對應的標籤值,那麼該列會被寫入NULL值。當存在多種指標資料時,表列名應該是這些指標標籤名的並集

假設您匯出的指標為以下的兩種:

指標樣本一

{
	"__name__": "metric1",
	"cluster_id": "***",
	"host": "***",
	"node_id": "***",
	"job": "***",
	"value": 347.51300048828125,
	"timestamp": 1703211584056
}

指標樣本二

{
	"__name__": "metric2",
	"cluster_id": "***",
	"job": "***",
  "instance": "****",
  "cpu": "1",
	"value": 1.0,
	"timestamp": 1703211584056
}

您需要在MaxCompute中根據下面的例子建立SQL表。具體操作,請參見使用SQL分析

CREATE TABLE metric (
  __name__ 		VARCHAR(50) NOT NULL,
  cluster_id 	VARCHAR(50),
  host 				VARCHAR(50),
  node_id 		VARCHAR(50),
  job 				VARCHAR(50),
  instance 		VARCHAR(50),
  cpu 				VARCHAR(50),
  __value__ 			DOUBLE,
  timestamp		BIGINT
);
說明

至少存在以下欄位:__name____value__timestamp,它們是Prometheus資料的基本標籤。建議您根據業務需要構造表結構,並設定足量欄位作為標籤映射。若您丟失關鍵標籤,表將收到大量重複的資料。

步驟二:建立投遞任務

  1. 登入CloudMonitor控制台

  2. 在左側導覽列,單擊Prometheus 監控 > 資料投遞

  3. 資料投遞頁面,單擊頂部功能表列選擇目標地區,然後單擊建立任務

  4. 在對話方塊中輸入任務名稱任務描述後,單擊確定

  5. 任務編輯頁面,配置資料來源和投遞目標。

    1. 單擊+ 添加資料來源,配置以下參數,然後單擊確定

      配置項

      說明

      樣本

      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
    2. 單擊添加目標,選擇目標類型雲原生MaxCompute MaxCompute,請按照表單所需填寫其餘資訊,然後單擊確定

  6. 配置完成後,在任務編輯頁面,單擊確定,然後單擊儲存建立投遞任務。

步驟三:驗證資料被投遞至MaxCompute

在SQL代碼編輯框,輸入以下SQL語句查詢metric表中的資料,單擊運行,在結果頁簽查看執行結果。

select * from metric limit 20;