使用洞察密钥在 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 获取密钥?