我想在我的flink项目中集成newrelic。我已经从我的帐户下载了newrelic.yml文件,只更改了应用程序名称,并且在我的项目根文件夹中创建了一个名为newrelic的文件夹,并将newrelic.yml文件放在其中。
我还在buld.sbt文件中放置了以下依赖项:
"com.newrelic.agent.java" % "newrelic-api" % "3.0.0"
我使用以下命令运行jar:
flink run -m yarn-cluster -yn 2 -c Main /home/hadoop/test-assembly-0.2.jar
我想,我的代码无法读取newrelic.yml文件,因为我在newrelic中看不到我的应用程序名。我是否需要在某处初始化newrelic代理(如果需要,如何初始化?)。请帮我整合一下。
1条答案
按热度按时间tkclm6bt1#
您应该只需要newrelic.jar和newrelic.yml文件就可以访问并具有
-javaagent:path/to/newrelic.jar
作为参数传递给jvm。您可以尝试将newrelic.jar和newrelic.yml放在lib/目录中,以便将它们复制到作业和任务管理器中,然后将其添加到conf/flink-conf.yaml中:env.java.opts: -javaagent:lib/newrelic.jar
两个新的relic文件应该在同一个目录中,并且您应该能够从build.sbt文件中删除新的relic行。还要再次检查您的许可证密钥是否在newrelic.yml文件中。我还没有对此进行测试,但主要目标是使.yml和.jar可以在同一个目录中访问(yml可以进入不同的目录,但需要传递其他jvm参数来引用它)并
-javaagent:path/to/newrelic.jar
作为jvm参数。如果遇到问题,请尝试在.jar所在目录的日志文件夹中检查新的遗留日志。