我想监视运行storm进程的服务器示例。如何在我的apachestorm项目中使用newrelic。谢谢
4dc9hkyq1#
如果您使用的是newrelic代理支持的语言,您应该能够监视它。如果监视器没有从盒子中获得足够的洞察力,那么可能有必要使用定制的工具。
hgb9j2n62#
以下是如何为storm拓扑添加工具:1) 将newrelic代理api依赖项包含到拓扑代码中。例如:
<dependency> <groupId>com.newrelic.agent.java</groupId> <artifactId>newrelic-api</artifactId> <version>${newrelic.version}</version> <scope>compile</scope> </dependency>
2) 添加@traces等(如spoutnexttuple()、bolt execute()等)3) 打包您的代码以提交给storm(但现在还不做)4) 将newrelic.jar和您编辑的newrelic.yml版本安装到storm supervisor服务器上(只安装管理器,因为我们只为工人安装仪器)5) 确保newrelic.jar下的logs目录可由工作进程写入。6) 编辑storm supervisor的storm.yaml配置文件(storm\u home/conf/storm.yaml)-使用newrelic位置添加或包括以下内容:(取决于是否已经有worker.childopts设置)
worker.childopts: "-javaagent:/opt/storm/newrelic/newrelic.jar"
7) 删除任何正在运行的拓扑。重新启动监控程序。再次提交拓扑。观看storm supervisor日志,您应该会看到正常的new relic日志输出:
com.newrelic INFO: New Relic Agent: Loading configuration file "/opt/storm/newrelic/./newrelic.yml"
2条答案
按热度按时间4dc9hkyq1#
如果您使用的是newrelic代理支持的语言,您应该能够监视它。如果监视器没有从盒子中获得足够的洞察力,那么可能有必要使用定制的工具。
hgb9j2n62#
以下是如何为storm拓扑添加工具:
1) 将newrelic代理api依赖项包含到拓扑代码中。例如:
2) 添加@traces等(如spoutnexttuple()、bolt execute()等)
3) 打包您的代码以提交给storm(但现在还不做)
4) 将newrelic.jar和您编辑的newrelic.yml版本安装到storm supervisor服务器上(只安装管理器,因为我们只为工人安装仪器)
5) 确保newrelic.jar下的logs目录可由工作进程写入。
6) 编辑storm supervisor的storm.yaml配置文件(storm\u home/conf/storm.yaml)-使用newrelic位置添加或包括以下内容:(取决于是否已经有worker.childopts设置)
7) 删除任何正在运行的拓扑。重新启动监控程序。再次提交拓扑。观看storm supervisor日志,您应该会看到正常的new relic日志输出: