错误:配置中的许可证密钥为空。未启动新遗物代理

问题描述 投票:0回答:1

我在 Spring Boot 应用程序启动时遇到以下错误日志。但应用程序已正常启动并运行。

2023-09-07T13:06:34,626+0000 [1 1] com.newrelic enter image description here

构建.gradle.kts

tasks.named<org.springframework.boot.gradle.tasks.bundling.BootBuildImage>("bootBuildImage") {
    buildpacks(listOf("urn:cnb:builder:paketo-buildpacks/java", "docker.io/paketobuildpacks/new-relic"))
    bindings(listOf("/home/XX/Desktop/new_relic/odata-api/bindings/new-relic:/platform/bindings/new-relic"))
}

目录结构:

它也由LK组成

我正在使用下面的 docker 命令来启动应用程序

docker run -p 9090:9090  --volume /home/XX/Desktop/new_relic/odata-api/bindings/new-relic:/platform/bindings/new-relic -e JAVA_OPTS="-DDATABASE_URL=XX -DDATABASE_NAME=XX -DDATABASE_USER=XX -DDATABASE_PORT=1433 -DDATABASE_PASSWORD=XX -DDATABASE_SCHEMA=XX" XXX:32.0.0

技术堆栈是:

Spring Boot、Kotlin (build.gradle.kts)、Docker 和 Azure 中的主机。

我希望通过修复上述问题将 Relic 代理与我的模块集成

spring-boot gradle newrelic buildpack apm
1个回答
0
投票

正如我的评论中所述,您需要调整运行配置以传递许可证密钥(您构建正确)。

您有两种方法可以做到这一点:

  • 使用普通的旧容器环境变量(在本例中
    -e NEW_RELIC_LICENSE_KEY=XXX
docker run -p 9090:9090  -e NEW_RELIC_LICENSE_KEY=XXX -e JAVA_OPTS="-DDATABASE_URL=XX -DDATABASE_NAME=XX -DDATABASE_USER=XX -DDATABASE_PORT=1433 -DDATABASE_PASSWORD=XX -DDATABASE_SCHEMA=XX" XXX:32.0.0
  • 使用 Paketo 绑定方式进行此类绑定(注意在绑定文件夹中不要添加
    NEW_RELIC_
    前缀):
tree bindings-runtime/
bindings-runtime/
└── newrelic
    ├── LICENSE_KEY
    └── type

(顺便说一句,您可以重新使用初始绑定;不需要有 2 个不同的绑定)

并运行:

docker run -p 9090:9090 --env SERVICE_BINDING_ROOT=/platform/bindings  --volume $PWD/bindings-runtime/newrelic:/platform/bindings/newrelic -e JAVA_OPTS="-DDATABASE_URL=XX -DDATABASE_NAME=XX -DDATABASE_USER=XX -DDATABASE_PORT=1433 -DDATABASE_PASSWORD=XX -DDATABASE_SCHEMA=XX" XXX:32.0.0

欢迎来到 Stackoverflow,因为这是你的第一个问题 👋! (实际上很好!)

© www.soinside.com 2019 - 2024. All rights reserved.