Spring Actuator Metrics 生成日志

Geo*_*rge 0 spring spring-mvc splunk micrometer spring-micrometer

我正在尝试将微米度量数据发送到 Splunk。每个指标端点都提供指标的当前值,因此我需要 Splunk 定期向我的应用程序发送 http 请求,或者我可以定期将指标值写入日志文件。

那么如何让我的应用程序将指标值写入日志呢?

Mar*_*nik 7

如果您使用的是 spring boot 2.x 并且 Micrometer 是 1.1.0+ 版本,您可以创建一个周期性(1 分钟)特殊日志记录注册表的 bean,请参阅(https://github.com/micrometer-metrics/micrometer/issues/ 605

@Bean
LoggingMeterRegistry loggingMeterRegistry() {
    return new LoggingMeterRegistry();
}
Run Code Online (Sandbox Code Playgroud)

这是迄今为止通过日志系统记录所有内容的最简单方法。

另一种选择是创建一个计划作业,该作业将在具有注入计量注册表的 bean 上运行某些方法,该方法将迭代所有指标(可能会过滤掉您不需要的指标)并准备您的格式日志。

如果您考虑一下,这正是 Spring Boot 执行器的指标端点所做的,除了通过 http 返回数据而不是写入日志。

是来自 spring boot 执行器源的相关端点的最新实现