监控Storm JVM指标

时间:2014-08-11 09:39:41

标签: jvm cpu-usage apache-storm codahale-metrics

我有一个风暴集群在运行,我想监控它的性能。我跟着this blog并且能够使用codahale指标测量螺栓接收到的元组数量,并以石墨显示。

我的目标是在轻量级计算机(例如beaglebone)上部署风暴群集,为此我需要能够监视JVM参数,例如每个工作进程的CPU,线程和内存使用情况。

我非常喜欢codahale指标,并希望在我的应用程序中继续使用它。任何人都可以指导我如何使用codahale指标为每个工作人员单独测量JVM参数吗?

如果有人发布了如何使用codahale指标获取jvm指标的示例,我将非常感激。

谢谢,

PALAK

3 个答案:

答案 0 :(得分:1)

我找到了一个很棒的教程here。像魅力一样。

答案 1 :(得分:1)

使用VisualVM和JMX,我们可以获得CPU使用率,GC活动,类加载信息,堆大小&使用的堆统计信息,包含统计信息的所有线程信息, CPU&内存分析,性能监视,工作节点的内存泄漏。此外,您还可以进行堆转储和线程转储,分析器快照。

设置步骤

第1步:盯着VisualVM Java VisualVM与JDK版本6更新7或更高版本捆绑在一起。导航到JDK软件的bin目录,然后双击Java VisualVM可执行文件。 或者,导航到JDK软件的bin目录,并在命令(shell)提示符下键入以下命令:jvisualvm。

第2步:添加MBean插件 对于JMX监视,您需要显式添加MBean插件。 1,选择工具>主菜单中的插件。 2,在下载的“插件”选项卡中,单击“添加插件” 3,选择Mbean插件 成功添加MBean插件后,您可以在VisualVM中看到MBean选项卡,并且可以监视JMX。

第3步:本地监控 默认情况下,VisualVM将监视在本地JVM上运行的所有应用程序。如果使用Java 1.6及更高版本,则无需进行任何更改。

第4步:远程监控 要检索和显示有关在远程主机上运行的应用程序的信息,需要在远程主机上运行jstatd实用程序。

运行jstatd的步骤
jstatd工具是一个RMI服务器应用程序,用于监视已检测的HotSpot Java虚拟机(JVM)的创建和终止,并提供 接口,允许远程监视工具连接到JVM。

1,使用“jstatd.all.policy”文件名创建一个文件并复制以下内容 grant codebase“file:$ {java.home} /../ lib / tools.jar”{permission java.security.AllPermission;};

2,在java bin(Java \ jdk1.7.0_10 \ bin)目录中复制“jstatd.all.policy”文件

3,导航到JDK软件的bin目录,并在命令提示符下键入以下命令:jstatd -J-Djava.security.policy = jstatd.all.policy.txt

4,要运行所需的jstatd admin权限,那么只有其他所有用户都可以连接远程主机。 这是一次性活动。 (在CIT和SIT中使用后台进程运行)

要在VisualVM中添加远程主机,请在“应用程序”窗口中右键单击“远程”节点, 选择“添加远程主机”,在“添加远程主机”对话框中键入主机名或IP地址。 当Java VisualVM连接到远程主机时,远程主机的节点将显示在“应用程序”窗口中的“远程”节点下。 您可以展开远程主机节点以查看在远程主机上运行的应用程序。

答案 2 :(得分:0)

使用jvisualvm.exe jdk / bin,您可以监控风暴工作者。 Jvisualvm还可以指向远程Storm拓扑。

Download and add mbean plugin into jvisualvm.