本文介紹如何使用阿里云可觀測監控 Prometheus 版來實現非Kubernetes應用(即ECS應用)的Metric觀測。
ECS應用的典型部署場景
場景1:純公有云VPC
該場景的業務應用部署在一個或多個VPC內,且每個VPC內配置了多個ECS,同時在這些ECS上部署了基礎組件(數據庫和中間件等)和業務應用。因此我們需要實現對這些ECS OS(Linux或Windows)、基礎組件和業務應用本身進行Metric觀測。
場景2:公有云VPC+線下IDC
該場景的業務除了需要部署公有云VPC之外,還需要與線下IDC機房進行互通互聯。一般情況下您會選擇使用專線方式打通云上VPC和線下IDC機房。因此我們需要有一套完整的Metric觀測平臺,能夠同時解決線上VPC和線下IDC的Metric觀測。
場景3:公有云VPC+多云ECS
該場景的業務除了部署在阿里云VPC上外,還通過公網與其它云上的ECS進行互通互聯。因此我們需要有一套完整的Metric觀測平臺,實現一體化全局視角觀測。
自建Prometheus觀測ECS應用的痛點
自建Prometheus觀測ECS應用,可能面臨的典型問題有以下幾點:
由于安全、組織管理等因素,您的業務通常部署在多個相互隔離的VPC,因此這需要您在多個VPC內都重復、獨立部署Prometheus,導致部署和運維成本較高。
每套完整的自建觀測系統都需要安裝并配置Prometheus、Grafana、AlertManager以及各組件Exporter,其過程復雜,且實施周期較長。
缺少與阿里云ECS快速集成的服務發現(ServiceDiscovery)機制,因此無法根據ECS標簽來靈活定義抓取Targets。如果自行實現類似功能,則需要您使用Golang語言開發代碼調用阿里云ECS POP接口,以集成開源Prometheus代碼,然后通過編譯打包后部署,這種方式實現門檻高、過程復雜、且版本升級困難。
常用組件的開源Grafana大盤無法結合觀測組件的原理與最佳實踐進行深入定制。
缺少常用組件的告警項模板,需要您自行配置告警項,導致消耗的工作量較大,且技術實現困難。
對于ECS應用,Prometheus監控提供以下Metric數據采集方式
托管Exporter:提供MySQL、Redis等多種常見組件的托管部署。您只需要在阿里云可觀測監控 Prometheus 版控制臺配置觀測組件相關信息(例如IP地址、端口等),即可實現VPC內ECS上這些組件的Metric監控。而且因線下IDC是通過專線與VPC互通,因此托管Exporter同時也可以采集到線下IDC內的組件Metric。
非托管Exporter:對于可觀測監控 Prometheus 版暫未提供托管Exporter的組件,或是您業務應用的自定義Metric,您可以在VPC或IDC內部署自定義Exporter,然后阿里云可觀測監控 Prometheus 版控制臺配置自定義服務發現(ServiceDiscovery),通過阿里云可觀測監控 Prometheus 版主動發現這些Exporter,實現定時抓取和存儲Metric。
Node Exporter或Windows Exporter:這兩種是一類特殊的非托管Exporter,因為需要部署在每臺ECS上,以便采集ECS OS上觀測信息。阿里云可觀測監控 Prometheus 版目前已提供Node Exporter的原生支持。
如何使用阿里云Prometheus監控ECS應用
阿里云可觀測監控 Prometheus 版提供了免運維、開箱即用的VPC(以及和VPC打通的線下IDC機房)內ECS的OS、常見中間件以及業務應用的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_configs和aliyun_sd_configs兩種常用的服務發現方式,便于您進行組件觀測目標ECS的配置。
這里以MySQL為例,為您介紹接入配置方法。
登錄ARMS控制臺。
在左側導航欄選擇 ,進入可觀測監控 Prometheus 版的實例列表頁面。
- 單擊目標Prometheus實例名稱,進入集成中心頁面。
在集成中心頁面單擊MySQL組件卡片的安裝。
在彈出的接入MySQL面板填寫相關參數配置。參數配置詳情請參見MySQL組件接入。
參數配置完成后,單擊確定系統會自動跳轉至Targets頁簽。
步驟三:查看大盤
可觀測監控 Prometheus 版默認集成常用的Grafana大盤,即您無需單獨安裝Grafana,即可查看各個組件的觀測大盤。
在完成上文步驟二:接入組件監控后,您可以在集成中心頁面的已安裝區域單擊對應的組件卡片,然后在彈出的對話框中單擊大盤頁簽可以查看該組件的大盤縮略圖和超鏈接,單擊超鏈接進入阿里云Grafana頁面,查看對應觀測大盤。
步驟四:配置告警
單擊告警頁簽,您可以為MySQL組件創建Prometheus告警規則來查看監控告警信息。創建Prometheus告警規則的具體操作,請參見Prometheus告警規則。