将 Spring Boot Actuator 与 New Relic 集成

Integrate Spring Boot Actuator with New Relic

我正在尝试将 New Relic 与 Spring 引导执行器集成。 Whosebug 本身的大多数教程和响应都建议使用 New Relic Java Agent,但根据 Spring Boot documentation installing Java Agent is not mandatory (unless I misunderstood something) also checked this。所以,这是我目前的 application.properties

management.metrics.export.newrelic.enabled = true
management.metrics.export.newrelic.api-key = <API_KEY>
management.metrics.export.newrelic.account-id = <ACCOUNT_ID>
logging.level.io.micrometer.newrelic=TRACE
management.metrics.export.newrelic.step=30s

在我看到的日志中

2021-01-11 12:05:18.315 DEBUG 44635 --- [trics-publisher] i.m.n.NewRelicInsightsApiClientProvider  : successfully sent 73 metrics to New Relic.

根据此日志,它似乎正在发送日志。但我不知道在哪里可以看到这些日志。理想情况下,我也想传递 app name,这样我就可以通过应用程序名称来区分指标,以后最好也通过 env 来区分指标。有什么建议吗?

要将“app name”和“env”添加到您的指标中,您只需使用常用标签配置 MeterFilter

@Configuration
public class MetricsConfig {

    @Bean
    public MeterFilter commonTagsMeterFilter(@Value("...") appName, @Value("...") env) {
        return MeterFilter.commonTags(Tag.of("app name", appName), Tag.of("env", env);
    }
}

设置以下 属性 您应该能够看到哪些指标被发送到 NewRelic:

logging.level.io.micrometer.newrelic=TRACE