maven や Gradle、application.properties に設定してしまえば、自動的に CloudWatch に送信されるようになるようです。最近、10年ぶりぐらいに Java をいじっているのですが、最近はこんなに便利なんですね。

必要な設定など

pom.xml に必要な dependency

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-aws-actuator</artifactId>
      <version>2.2.1.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-aws</artifactId>
      <version>2.2.1.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-cloudwatch</artifactId>
    </dependency>

application.properties の設定例

management.endpoints.web.base-path=/actuator
management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true
management.endpoint.env.enabled=true
management.endpoint.health.enabled=true
management.endpoint.metrics.enabled=true
management.endpoints.web.exposure.include=health,info,env,metrics

management.metrics.use-global-registry=false

management.metrics.enable.process=true
management.metrics.enable.jdbc=false
management.metrics.enable.logback=false
management.metrics.enable.spring=true
management.metrics.enable.tomcat=true
management.metrics.enable.hikaricp=false
management.metrics.enable.jvm=true
management.metrics.enable.system=true

management.metrics.export.cloudwatch.namespace=Micrometer/springboot
management.metrics.export.cloudwatch.enabled=true
management.metrics.export.cloudwatch.batchSize=20
management.metrics.export.cloudwatch.step=60s

cloud.aws.stack.auto=false
cloud.aws.region.auto=false
cloud.aws.region.static=us-east-1

最後に・・・

この投稿は個人的なものであり、所属組織を代表するものではありません。ご了承ください。