This version is still in development and is not considered stable yet. For the latest stable version, please use Micrometer 1.14.0! |
Micrometer CloudWatch
Amazon CloudWatch is a dimensional time-series SaaS on Amazon’s cloud.
1. Installing
For Gradle, add the following implementation:
implementation 'io.micrometer:micrometer-registry-cloudwatch2:latest.release'
For Maven, add the following dependency:
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-cloudwatch2</artifactId>
<version>${micrometer.version}</version>
</dependency>
The micrometer-registry-cloudwatch2 module uses AWS SDK v2. micrometer-registry-cloudwatch is for AWS SDK v1.
|
2. Configuring
The following example configures Micrometer CloudWatch:
CloudWatchConfig cloudWatchConfig = new CloudWatchConfig() {
@Override
public String get(String s) {
return null;
}
@Override
public String namespace() {
return "mynamespace";
}
};
MeterRegistry meterRegistry = new CloudWatchMeterRegistry(cloudWatchConfig, Clock.SYSTEM, CloudWatchAsyncClient.create());
You can provide your own CloudWatchAsyncClient
to the constructor of the registry.
CloudWatchConfig
is an interface with a set of default methods. If, in the implementation of get(String k)
, rather than returning null
, you instead bind it to a property source, you can override the default configuration. For example, Micrometer support in Spring Cloud AWS binds properties prefixed with management.metrics.export.cloudwatch
directly to the CloudWatchConfig
:
management.metrics.export.cloudwatch:
namespace: YOURNAMESPACE
# You will probably want to disable publishing in a local development profile.
enabled: true
# The interval at which metrics are sent to CloudWatch. The default is 1 minute.
step: 1m