将 Spring 引导指标写入 Stdout 或聚合器?
Write out Spring Boot metrics to Stdout or aggregator?
我有一个 java 应用程序写在 Spring 引导之上,我可以看到通过 /metrics
管理 API 生成的指标。我想过滤正在生成的指标(基于指标前缀)并打印到标准输出或将所选指标发送到第 3 方聚合器(不是引用的指标 here)
我尝试了此 建议的代码,但没有将任何指标写入标准输出。这是我添加到 Application.java
class:
@Bean
@ServiceActivator(inputChannel = "metricsChannel")
public MessageHandler metricsHandler() {
return System.out::println;
}
以预配置的节奏拦截指标的最佳方法是什么,以便我可以处理并将它们写入标准输出或将它们发布到聚合器?
谢谢。
看起来这是 Spring 引导中的错误:https://github.com/spring-projects/spring-boot/issues/5517。
我们必须自己声明这样的东西作为解决方法:
@Bean
public MessageChannel metricsChannel() {
return new DirectChannel();
}
@Bean
@ExportMetricWriter
public MessageChannelMetricWriter messageChannelMetricWriter() {
return new MessageChannelMetricWriter(metricsChannel());
}
@Bean
@ServiceActivator(inputChannel = "metricsChannel")
public MessageHandler metricsHandler() {
return System.out::println;
}
我有一个 java 应用程序写在 Spring 引导之上,我可以看到通过 /metrics
管理 API 生成的指标。我想过滤正在生成的指标(基于指标前缀)并打印到标准输出或将所选指标发送到第 3 方聚合器(不是引用的指标 here)
我尝试了此 Application.java
class:
@Bean
@ServiceActivator(inputChannel = "metricsChannel")
public MessageHandler metricsHandler() {
return System.out::println;
}
以预配置的节奏拦截指标的最佳方法是什么,以便我可以处理并将它们写入标准输出或将它们发布到聚合器?
谢谢。
看起来这是 Spring 引导中的错误:https://github.com/spring-projects/spring-boot/issues/5517。
我们必须自己声明这样的东西作为解决方法:
@Bean
public MessageChannel metricsChannel() {
return new DirectChannel();
}
@Bean
@ExportMetricWriter
public MessageChannelMetricWriter messageChannelMetricWriter() {
return new MessageChannelMetricWriter(metricsChannel());
}
@Bean
@ServiceActivator(inputChannel = "metricsChannel")
public MessageHandler metricsHandler() {
return System.out::println;
}