Micrometer Elastic
Elasticsearch 是一个开源的搜索和分析平台。存储在 Elasticsearch 中的指标可以在 Kibana 中进行可视化。
1. 安装 micrometer-registry-elastic
建议使用由 Micrometer(或您的框架,如果有的话)提供的 BOM,您可以在此处查看如何配置它 here。以下示例假设您正在使用 BOM。
1.1. Gradle
在 配置 了 BOM 之后,添加以下依赖项:
implementation 'io.micrometer:micrometer-registry-elastic'
备注
此依赖项的版本不需要指定,因为它由 BOM 定义。
1.2. Maven
在 配置 完 BOM 后,添加以下依赖:
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-elastic</artifactId>
</dependency>
备注
由于该依赖项由 BOM 定义,因此不需要指定版本。
2. 配置
以下示例配置了一个 ElasticSearch 实例:
ElasticConfig elasticConfig = new ElasticConfig() {
@Override
@Nullable
public String get(String k) {
return null;
}
};
MeterRegistry registry = new ElasticMeterRegistry(elasticConfig, Clock.SYSTEM);
ElasticConfig
是一个带有一组默认方法的接口。如果在 get(String k)
的实现中,你将其绑定到一个属性源而不是返回 null
,则可以覆盖默认配置。例如,Micrometer 的 Spring Boot 支持将前缀为 management.metrics.export.elastic
的属性直接绑定到 ElasticConfig
上:
management.metrics.export.elastic:
# You will probably want disable Elastic publishing in a local development profile.
enabled: true
# The interval at which metrics are sent to Elastic. The default is 1 minute.
step: 1m
# The index to store metrics in, defaults to "micrometer-metrics"
index: micrometer-metrics
3. Elastic APM 代理集成
如果你正在使用 Elastic APM 代理,它可以自动从 Micrometer MeterRegistry
实例中收集指标。如果你只希望收集由 Elastic APM 代理收集的指标,并且不希望将这些指标发送到其他地方,你可以使用 SimpleMeterRegistry
。更多详细信息请参阅 Elastic 文档。