自建開源Prometheus遷移到阿里雲託管 Prometheus服務

更新時間:
Copy as MD

從自建開源Prometheus遷移到阿里雲可觀測監控Prometheus版包含指標採集、可視化分析、警示配置等三個階段,本文分別對這三個階段在不同自建Prometheus部署情境下的方案進行介紹。

步驟一:指標採集遷移

指標採集是指Prometheus根據採集Job配置,定時從目標監控組件或其對應的Exporter拉取和儲存指標資料。

情境一:阿里雲Container Service(ACK)情境

遷移步驟

  1. 將 ACK 容器叢集接入阿里雲Prometheus ,接入方式參考容器可觀測

    說明

    接入 ACK 叢集時阿里雲 Prometheus 的採集探針(即容器叢集的 ack-arms-prometheus 組件)會自動安裝 node-exporter,可能存在連接埠衝突,導致 node-exporter 無法啟動。可以修改 node-exporter 預設連接埠,進入容器叢集的應用下的Helm,找到 arms-prometheus 這個應用,單擊更新,找到 nodeExporter - args - port 配置參數,修改預設連接埠。

  2. 配置採集任務。阿里雲Prometheus 支援多種採集任務配置方式,包括 Service Monitor、Pod Monitor、自訂採集等方式。具體可參考管理容器環境自訂採集規則

  3. 驗證採集任務是否正常,可以進入CloudMonitor控制台,單擊接入管理,找到對應的容器叢集環境,單擊接入環境詳情,單擊自監控,可以看到該容器環境的採集 Targets,可以展開具體採集 job,查看採集的指標資訊。配置完成後,在容器環境頁面單擊自監控 Tab,在左側選擇 Targets,確認所有採集目標的狀態均為 up,表示採集任務配置正常。

情境二:自建Kubernetes情境

此情境與情境一:阿里雲Container Service(ACK)情境相同,只是需要先將自建Kubernets叢集註冊為阿里雲Container Service註冊叢集即可。註冊完成後可參考情境一的配置。

情境三:阿里雲ECS情境

遷移步驟

  1. 登入CloudMonitor控制台,在接入中心選擇主機監控,並按介面嚮導接入後,建立出ECS環境執行個體,同時部署ECS主機監控的Exporter和採集配置。在ARMS接入中心頁面,選擇基礎設施 > 主機監控,在右側配置頁面選擇環境類型為ECS(VPC),選擇對應VPC執行個體,配置資訊中NodeExporter安裝方式選擇自動安裝主機服務發現方式選擇汙點標籤選擇,設定ECS汙點標籤(如 ack.alibabacloud.com/nodepool,值為 *),開啟採集進程狀態指標Node-Exporter服務連接埠設定為 9100

    說明

    主機監控組件會預設安裝 node-exporter 和 process-exporter,為避免連接埠衝突,可在接入配置中設定預設連接埠,另外接入是也可以按需安裝這些exporter。

  2. 配置自訂採集任務。如果之前在ECS 上部署了其他Exporter,可以在阿里雲ARMS 控制台接入中心,找到自訂指標採集,選擇ECS(VPC)環境,配置Exporter 的服務連接埠、指標採集路徑、採集間隔等資訊,確定後即可。多個Exporter 重複接入即可。

  3. 驗證採集任務是否正常,可以進入CloudMonitor控制台的接入管理,找到對應的ECS環境,單擊接入環境詳情,單擊自監控,可以看到該ECS環境的採集 Targets,可以展開具體採集 job,查看採集的指標資訊。

情境四:自建IDC情境

遷移要求

  • 需要將自建IDC通過VPC專線等方式與使用者的某個阿里雲VPC打通。

  • 需要使用者自行在自建IDC的各個主機上按需安裝Exporter。

遷移步驟

  1. 登入CloudMonitor控制台,在接入中心選擇“主機監控(自助安裝+IP域選擇)”,並按介面嚮導接入後,建立出“ECS環境”執行個體,同時產生主機監控的採集配置。

  2. 在控制台的接入管理中,配置VPC內各個監控組件的接入,以便阿里雲Prometheus產生採集Job、抓取監控資料、產生預設大盤和預設警示規則。

  3. 【可選】對於使用者自訂的採集任務,可在接入管理的對應環境執行個體上進行自訂採集規則配置

  4. 情境三:阿里雲ECS情境,可進入接入管理中查看採集的Targes。

步驟二:Grafana 可視化分析遷移

情境一:自建 Grafana對接阿里雲Prometheus

指標接入阿里雲 Prometheus 後,如果繼續使用原自建的 Grafana,阿里雲 Prometheus 也支援對接自建Grafana,具體參考V2版本

情境二:使用阿里雲的託管 Grafana 服務

如果使用阿里雲託管 Grafana 服務,則涉及將已有的 Grafana 大盤匯入託管的 Grafana。

前提條件

開通Grafana 服務並建立Grafana工作區

遷移步驟

  1. 將阿里雲 Prometheus 執行個體對接託管Grafana。建立好 Grafana 工作區後,登入阿里雲 Grafana 控制台,接入剛建立的工作區,“雲端服務整合”,找到期望整合的Prometheus 執行個體,點擊“整合”,按提示操作,則會自動在託管的Grafana 中建立該Prometheus 資料來源,資料來源命名“prom-${P]rometheusInstanceId}”。在可觀測可視化 Grafana 版的工作區資訊頁面,下方雲端服務整合地區選取項目Prometheus 監控服務,在右側執行個體列表中找到目標 Prometheus 執行個體,單擊對應操作列的整合按鈕完成資料來源整合。

  2. 整合好後,點擊託管的 Grafana 公網地址,登入到 Grafana 工作空間,建立儀錶盤時,匯入已有的儀錶盤JSON 檔案,選擇上面步驟中整合的“資料來源”,按介面提示操作完成即可。

步驟三:警示配置遷移

與可視化分析遷移一樣,在指標採集遷移過程中,涉及到的容器叢集和各個常用組件(如MySQL、Redis等),阿里雲Prometheus也已建立了專業的、開箱即用的警示規則。

  • 對於容器/KubernetesECS接入情境,在CloudMonitor控制台接入管理的“已接入組件”介面,點擊對應組件的“警示列表”即可查看該組件預設產生的警示規則。

  • 對於使用者自訂警示規則,可在CloudMonitor控制台Prometheus監控的Prometheus警示規則菜單中建立和管理,或通過Prometheus警示規則模板匯入已有的Prometheus警示規則。例如,ECS組件預設產生的P1層級警示規則包括ECS傳統網路公網流出頻寬使用率警示(閾值 > 80)、ECS出方向丟包率警示(閾值 > 0)、ECS入方向丟包率警示(閾值 > 0)和ECS磁碟使用率警示(閾值 > 80),均採用自訂PromQL檢測類型,期間為5分鐘,預設處於運行中狀態。

自建Prometheus 歷史資料移轉

若期望遷移自建 Prometheus 歷史資料到阿里雲 Prometheus,可以參考自建開源 Prometheus 歷史資料移轉到阿里雲 Prometheus