Spring 执行器指标生成日志
Spring Actuator Metrics generate logs
我正在尝试将千分尺指标数据发送到 Splunk。每个指标端点都提供指标的当前值,因此我需要 Splunk 定期向我的应用程序发送 http 请求,或者我可以定期将指标值写入日志文件。
那么如何让我的应用程序将指标值写入日志?
如果您在 spring 引导 2.x 并且 Micrometer 的版本为 1.1.0+,您可以创建一个 bean
定期(1 分钟)特殊日志记录注册表请参阅 (https://github.com/micrometer-metrics/micrometer/issues/605)
@Bean
LoggingMeterRegistry loggingMeterRegistry() {
return new LoggingMeterRegistry();
}
这是迄今为止通过日志系统记录所有内容的最简单方法。
另一种方法是创建一个计划作业,该作业将 运行 在注入计量注册表的 bean 上使用某种方法迭代所有指标(可能会过滤掉您不需要的指标),并且准备格式日志。
如果你仔细想想,这正是 spring 引导执行器的指标端点所做的,除了通过 http 返回数据而不是写入日志。
Here 是来自 spring 引导执行器源
的相关端点的最新实现
我正在尝试将千分尺指标数据发送到 Splunk。每个指标端点都提供指标的当前值,因此我需要 Splunk 定期向我的应用程序发送 http 请求,或者我可以定期将指标值写入日志文件。
那么如何让我的应用程序将指标值写入日志?
如果您在 spring 引导 2.x 并且 Micrometer 的版本为 1.1.0+,您可以创建一个 bean 定期(1 分钟)特殊日志记录注册表请参阅 (https://github.com/micrometer-metrics/micrometer/issues/605)
@Bean
LoggingMeterRegistry loggingMeterRegistry() {
return new LoggingMeterRegistry();
}
这是迄今为止通过日志系统记录所有内容的最简单方法。
另一种方法是创建一个计划作业,该作业将 运行 在注入计量注册表的 bean 上使用某种方法迭代所有指标(可能会过滤掉您不需要的指标),并且准备格式日志。
如果你仔细想想,这正是 spring 引导执行器的指标端点所做的,除了通过 http 返回数据而不是写入日志。
Here 是来自 spring 引导执行器源
的相关端点的最新实现