如何使用Prometheus監控ECS應用

更新時間:
Copy as MD

本文介紹如何使用阿里雲可觀測監控 Prometheus 版來實現非Kubernetes應用(即ECS應用)的Metric觀測。

ECS應用的典型部署情境

情境1:純公用雲端VPC

該情境的業務應用部署在一個或多個VPC內,且每個VPC內配置了多個ECS,同時在這些ECS上部署了基礎組件(資料庫和中介軟體等)和業務應用。因此我們需要實現對這些ECS OS(LinuxWindows)、基礎組件和業務應用本身進行Metric觀測。

情境2:公用雲端VPC+線下IDC

該情境的業務除了需要部署公用雲端VPC之外,還需要與線下IDC機房進行互連互聯。一般情況下您會選擇使用專線方式打通雲上VPC和線下IDC機房。因此我們需要有一套完整的Metric觀測平台,能夠同時解決線上VPC和線下IDCMetric觀測。

情境3:公用雲端VPC+多雲ECS

該情境的業務除了部署在阿里雲VPC上外,還通過公網與其它雲上的ECS進行互連互聯。因此我們需要有一套完整的Metric觀測平台,實現一體化全域視角觀測。

自建Prometheus觀測ECS應用的痛點

自建Prometheus觀測ECS應用,可能面臨的典型問題有以下幾點:

  1. 由於安全、組織管理等因素,您的業務通常部署在多個相互隔離的VPC,因此這需要您在多個VPC內都重複、獨立部署Prometheus,導致部署和營運成本較高。

  2. 每套完整的自建觀測系統都需要安裝並配置Prometheus、Grafana、AlertManager以及各組件Exporter,其過程複雜,且實施周期較長。

  3. 缺少與阿里雲ECS快速整合的服務發現(ServiceDiscovery)機制,因此無法根據ECS標籤來靈活定義抓取Targets。如果自行實作類別似功能,則需要您使用Golang語言開發代碼調用阿里雲ECS POP介面,以整合開源Prometheus代碼,然後通過編譯打包後部署,這種方式實現門檻高、過程複雜、且版本升級困難。

  4. 常用組件的開源Grafana大盤無法結合觀測組件的原理與最佳實務進行深入定製。

  5. 缺少常用組件的警示項目範本,需要您自行配置警示項,導致消耗的工作量較大,且技術實現困難。

對於ECS應用,Prometheus監控提供以下Metric資料擷取方式

  • 託管Exporter:提供MySQL、Redis等多種常見組件的受管理的部署。您只需要在阿里雲可觀測監控 Prometheus 版控制台配置觀測組件相關資訊(例如IP地址、連接埠等),即可實現VPCECS上這些組件的Metric監控。而且因線下IDC是通過專線與VPC互連,因此託管Exporter同時也可以採集到線下IDC內的組件Metric。

  • 非託管Exporter:對於可觀測監控 Prometheus 版暫未提供託管Exporter的組件,或是您業務應用的自訂Metric,您可以在VPCIDC內部署自訂Exporter,然後阿里雲可觀測監控 Prometheus 版控制台配置自訂服務發現(ServiceDiscovery),通過阿里雲可觀測監控 Prometheus 版主動發現這些Exporter,實現定時抓取和儲存Metric。

  • Node ExporterWindows Exporter:這兩種是一類特殊的非託管Exporter,因為需要部署在每台ECS上,以便採集ECS OS上觀測資訊。阿里雲可觀測監控 Prometheus 版目前已提供Node Exporter的原生支援。

如何使用阿里雲Prometheus監控ECS應用

阿里雲可觀測監控 Prometheus 版提供了免營運、開箱即用的VPC(以及和VPC打通的線下IDC機房)內ECSOS、常見中介軟體以及業務應用的Metric觀測能力,實現了一站式的雲原生和非雲原生環境的Metric觀測協同和閉環。使用阿里雲可觀測監控 Prometheus 版觀測ECS應用的具體操作如下。

步驟一:建立ECS類型的Prometheus執行個體

您需要先在可觀測監控 Prometheus 版控制台建立ECS類型的Prometheus執行個體,具體的操作步驟,請參見Prometheus執行個體 for ECS

步驟二:接入組件監控

目前阿里雲可觀測監控 Prometheus 版支援Node Exporter、MySQL、Redis、Elasticsearch、Kafka、Nginx、MongoDB、PostgreSQL、RabbitMQ、RocketMQ、BlackBox等多種組件觀測。同時內建支援static_configsaliyun_sd_configs兩種常用的服務發現方式,便於您進行組件觀測目標ECS的配置。

這裡以MySQL為例,為您介紹接入配置方法。

  1. 登入ARMS控制台

  2. 在左側導覽列選擇Prometheus监控 > 实例列表,進入可觀測監控 Prometheus 版的執行個體列表頁面。

  3. 單擊目標Prometheus執行個體名稱,進入整合中心頁面。
  4. 整合中心頁面單擊MySQL組件卡片的安裝

  5. 在彈出的接入MySQL面板填寫相關參數配置。參數配置詳情請參見MySQL組件接入

    參數配置完成後,單擊確定系統會自動跳轉至Targets頁簽。

步驟三:查看大盤

可觀測監控 Prometheus 版預設整合常用的Grafana大盤,即您無需單獨安裝Grafana,即可查看各個組件的觀測大盤。

在完成上文步驟二:接入組件監控後,您可以在整合中心頁面的已安裝地區單擊對應的組件卡片,然後在彈出的對話方塊中單擊大盤頁簽可以查看該組件的大盤縮圖和超連結,單擊超連結進入阿里雲Grafana頁面,查看對應觀測大盤。

步驟四:配置警示

單擊警示頁簽,您可以為MySQL組件建立Prometheus警示規則來查看監控警示資訊。建立Prometheus警示規則的具體操作,請參見Prometheus警示規則