使用洞察密钥在 Spring Boot 中配置 New Relic

Posted

技术标签:

【中文标题】使用洞察密钥在 Spring Boot 中配置 New Relic【英文标题】:Configuring New relic in Spring boot with insight key 【发布时间】:2018-11-06 04:27:56 【问题描述】:

在我的 springboot 应用程序中,我在 application.properties 中添加了以下内容:

management.metrics.export.newrelic.api-key=MY_INSIGHT_KEY

management.metrics.export.newrelic.account-id=MY_NEWRELIC_ACCOUNT_ID

在 pom 文件中,我将 micrometer-newrelic 依赖项插入为:

<dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-new-relic</artifactId>
        <version>$micrometer.version</version>
</dependency>

但我在洞察力site 上看不到任何指标。

我在配置中缺少什么?

编辑:

This link 文档在 Spring Boot 2 中为新的 Relic 配置千分尺。

它要求实现 NewRelicConfig 接口并用它创建 NewRelicMeterRegistry。

但是我需要把这段代码放在 springboot 2 应用程序的什么地方。

【问题讨论】:

也在github上问过:github.com/micrometer-metrics/micrometer-samples-spring-boot/… 【参考方案1】:

除了您的(正确的)Spring 配置之外,您还必须添加:

management.metrics.export.newrelic.enabled=true

您还需要一份 New Relic 代理 newrelic.jar 和一个 newrelic.yml 配置文件,其中包含您的许可证密钥。

要获取它,请登录您的 New Relic 帐户并转到 Insights。页面顶部的菜单在右侧有一个头肩图像和您的帐户名称。单击它,然后在下拉菜单中单击帐户设置。

在帐户设置页面的右侧有一个标题为“更新您的新遗物代理”的部分。单击 Java SE 代理的版本号以下载 zip 文件。解压 zip 文件,newrelic.jar 和模板 newrelic.yml 是您需要的文件,它们位于解压缩的***目录中。

编辑 newrelic.yml 并找到这一行:

license_key: '<%= license_key %>'. 

删除 并将其替换为“帐户设置”页面上显示的许可证密钥(它就在标题为“更新您的 New Relic 代理”部分的上方)。该行现在应该看起来像这样(顺便说一句,这不是真正的许可证密钥):

license_key: 'aab23456cf2a09'

现在,当您运行应用程序时,您需要添加以下 JVM 参数:

-javaagent:newrelic.jar 
-Dnewrelic.config.file=newrelic.yml 
-Dnewrelic.environment=DEV

如果 newrelic.jar 或 newrelic.yml 不在您的工作目录中,请适当调整这些参数中的路径。如果您不提供 newrelic.jar,那么将使用 API 的存根实现,并且不会向 New Relic 发送任何内容。

如果您想从您的应用程序确认它正在向 New Relic 发送指标,请在您的应用程序属性文件中打开日志记录:

logging.level.io.micrometer.newrelic=TRACE

这将显示发送到 New Relic 的详细信息。

【讨论】:

New Relic 代理 jar 与 Micrometer 支持完全正交。如果您同时包含代理 Micrometer 配置也可以,但这不是必需的。【参考方案2】:

这些说明假设您没有使用 Spring Boot。 Spring Boot参考手册说明了如何正确配置New Relic:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-metrics-export-newrelic

【讨论】:

由于某种原因,如果我不包括 jar/agent,我在 New Relic 端看不到任何日志。 如何使用千分尺而不是java代理将新的relic集成到spring boot?

以上是关于使用洞察密钥在 Spring Boot 中配置 New Relic的主要内容,如果未能解决你的问题,请参考以下文章

来自文件的 Spring Boot http 安全 jwt 密钥

Spring Boot 2.1 嵌入式 Tomcat - 密钥库密码不正确

如何以编程方式使用 Spring Boot 和 Tomcat 提供密钥库文件?

如何从 Spring Boot Config Server 提供的其他属性文件中的 application.properties 获取密钥?

我不想直接键入应用程序洞察的密钥来注册日志

基于 Angular 角色的身份验证密钥斗篷和 Spring Boot