本文介紹如何使用Prometheus監控MicroMeter的Java應用。
前提條件
已建立Java應用。
步驟一:將MicroMeter加入Java應用
這裡以目前最常用的Spring Boot 2.x應用為例介紹。
將Spring Boot Actuator加入Java應用所在Project的pom.xml中添加Actuator依賴。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <verson>x.y.x</version> </dependency>說明最新版本可到aliyun倉庫尋找。
配置Acuator,在application.properties中添加相關配置暴露prometheus監測資料連接埠和範圍。
management.server.port=8080 management.endpoints.web.exposure.include=xxx, prometheus在Project的pom.xml中添加MicroMeter依賴。
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>x.y.z</version> </dependency>說明最新版本可到aliyun倉庫尋找。
在Project的pom.xml中添加MicroMeter JVM Extras依賴。
<dependency> <groupId>io.github.mweirauch</groupId> <artifactId>micrometer-jvm-extras</artifactId> <version>0.2.2</version> </dependency>說明最新版本可到aliyun倉庫尋找。
配置MicroMeter JVM Extras,增加以下2個Spring Bean定義,以便暴露記憶體和線程相關指標。
/* With Spring */ @Bean public MeterBinder processMemoryMetrics() { return new ProcessMemoryMetrics(); } @Bean public MeterBinder processThreadMetrics() { return new ProcessThreadMetrics(); }將Java應用部署到Container Service中ECS。
根據業務情境,將Java業務應用部署到Container Service或ECS上。部署成功後,訪問應用監聽地址
http://localhost:8080/actuator/prometheus(其中8080連接埠是您在application.properties中配置中指定的,根據實際連接埠值,修改此URL中的連接埠即可),驗證metrics暴露正確。
步驟二:接入 MicroMeter
登入ARMS控制台。在左側導航,選擇接入中心,然後在搜尋方塊中輸入並單擊MicroMeter。

在MicroMeter面板的開始接入頁簽,選擇所屬環境類型完成接入,然後單擊確定。

參數
說明
選擇所屬環境類型
可以接入以下兩種服務環境:
Container Service環境
ECS(VPC)
選擇Container Service叢集
選擇目的地組群。
Pod 標籤
部署 MicroMeter 服務 Pod 的標籤(建議使用有特定標識的標籤)
服務連接埠
Java應用服務的連接埠,預設連接埠號碼會自動填滿。
Metrics 採集路徑
MicroMeter 指標透出路徑,預設路徑會自動填滿。
使用 HTTPS 採集
預設使用 HTTP 協議採集,如果服務支援 HTTPS 協議,且希望通過 HTTPS 協議來採集,則可以開啟此開關。
Metric 採集間隔(單位/秒)
可觀測監控 Prometheus 版採集指標資料的時間間隔,預設30秒。
步驟三:查看 MicroMeter 大盤資料
登入ARMS控制台。在左側導覽列,單擊接入管理。在接入管理頁面的已接入環境頁簽中,選擇目標環境,在目標環境列表中,單擊目標環境名稱進入容器環境詳情頁面。

在組件管理頁簽下的組件類型地區,單擊MicroMeter,然後單擊大盤,即可查看所有的大盤名稱。

單擊目標大盤名稱,查看對應的Grafana大盤。

步驟四:配置 MicroMeter 監控警示
在組件管理頁簽下的組件類型地區,單擊MicroMeter,然後單擊警示規則,即可查看預設建立的警示規則。

您還可以根據業務需求新增警示規則,建立Prometheus警示規則的具體操作,請參見建立Prometheus警示規則。