全部产品
Search
文档中心

应用实时监控服务ARMS:使用Prometheus监控MicroMeter的Java应用

更新时间:Apr 12, 2024

本文介绍如何使用Prometheus监控MicroMeter的Java应用。

前提条件

  • 已创建Java应用。

这里以目前最常用的Spring Boot 2.x应用为例介绍。

步骤一:将Spring Boot Actuator加入Java应用

  1. 在Project的pom.xml中添加Actuator依赖。

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
      <version>x.y.x<version>
    </dependency>
    说明

    最新版本可到aliyun仓库查找。

  2. 配置Acuator,在application.properties中添加相关配置暴露prometheus监测数据端口和范围。

    management.server.port=8080
    management.endpoints.web.exposure.include=xxx, prometheus

步骤二:将MicroMeter加入Java应用

在Project的pom.xml中添加MicroMeter依赖即可。

<dependency>
  <groupId>io.micrometer</groupId>
  <artifactId>micrometer-registry-prometheus</artifactId>
  <version>x.y.z</version>
</dependency>
说明

最新版本可到aliyun仓库查找。

步骤三:将MicroMeter JVM Extras加入Java应用(推荐)

  1. 在Project的pom.xml中添加MicroMeter JVM Extras依赖。

    <dependency>
        <groupId>io.github.mweirauch</groupId>
        <artifactId>micrometer-jvm-extras</artifactId>
        <version>0.2.2</version>
    </dependency>
    说明

    最新版本可到aliyun仓库查找。

  2. 配置MicroMeter JVM Extras

    增加以下2个Spring Bean定义,以便暴露内存和线程相关指标。

    /* With Spring */
    @Bean
    public MeterBinder processMemoryMetrics() {
        return new ProcessMemoryMetrics();
    }
    
    @Bean
    public MeterBinder processThreadMetrics() {
        return new ProcessThreadMetrics();
    }

步骤四:将Java应用部署到容器服务中ECS

根据业务场景,将Java业务应用部署到容器服务或ECS上。部署成功后,访问应用监听地址http://localhost:8080/actuator/prometheus(其中8080端口是您在application.properties中配置中指定的,根据实际端口值,修改此URL中的端口即可),验证metrics暴露正确。

en

步骤五:在Prometheus实例中接入MicroMeter组件

  1. 登录ARMS控制台

  2. 在左侧导航栏单击接入中心,然后在中间件区域单击MicroMeter组件卡片,然后在弹出的页面根据控制台指引完成组件接入。

    环境

    参数

    说明

    容器服务环境

    Pod标签

    配置Java业务应用所在容器服务Pod的标签Key,以便对匹配的Pod进行metric采集。

    Pod标签值

    配置Java业务应用所在容器服务Pod的标签Value,以便对匹配的Pod进行metric采集。

    服务端口

    Spring Boot应用application.properties配置文件中定义的监听端口,默认端口8080。

    metrics采集路径

    MicroMeter暴露指标的HTTP路径,默认是/actuator/prometheus。

    Metric 采集间隔(单位/秒)

    可观测监控 Prometheus 版采集监控数据的时间间隔,默认15秒。

    ECS(VPC)

    服务地址

    部署JVM服务的地址,可设置多个地址。

    Metrics 采集路径

    MicroMeter暴露指标的HTTP路径,默认是/actuator/prometheus。

    Metric 采集间隔(单位/秒)

    可观测监控 Prometheus 版采集监控数据的时间间隔,默认15秒。

  3. 设置完成后,单击确定,完成组件接入。

步骤六:查看Grafana监控大盘

集成中心页面单击已安装区域的MicroMeter组件卡片,然后在弹出的对话框中单击大盘页签可以查看该组件的大盘略缩图和超链接,单击超链接进入阿里云Grafana页面,查看对应观测大盘。

步骤七:配置组件监控告警规则

集成中心页面单击已安装区域的MicroMeter组件卡片,然后在弹出的面板中单击告警页签,查看Prometheus告警规则。

当您在集成中心安装MicroMeter监控时,系统已经默认创建了常用的JVM告警规则,然后需要您手动修改告警规则阈值后启动即可。您还可以根据业务需求新增告警规则。创建Prometheus告警规则的具体操作,请参见Prometheus告警规则