我有一个风暴群正在运行,我想监测它的性能。我关注了这个博客,能够使用codahale度量来测量bolt接收到的元组数,并用graphite显示它。
我的目标是在beaglebone这样的轻量级计算机上部署一个storm集群,为此我需要能够监视jvm参数,例如每个工作进程的cpu、线程和内存使用情况。
我真的很喜欢codahale度量,并希望在我的应用程序中继续使用它。有人能告诉我如何使用codahale度量分别度量每个worker的jvm参数吗?
如果有人发布一个如何使用codahale度量获取jvm度量的示例,我会非常感激。
谢谢,
帕拉克
3条答案
按热度按时间d6kp6zgx1#
我在这里找到了一本很棒的教程。很有魅力。
fgw7neuy2#
使用visualvm和jmx我们可以获得cpu使用率、gc活动、类加载信息、堆大小和使用的堆统计信息、所有线程的统计信息、cpu和内存分析、性能监视、工作节点的内存泄漏。您还可以进行堆转储、线程转储、探查器快照。
设置步骤
步骤1:Starting visualvm java visualvm与jdk version 6 update 7或更高版本捆绑在一起。导航到jdk软件的bin目录并双击JavaVisualVM可执行文件。或者,导航到jdk软件的bin目录,并在命令(shell)提示符处键入以下命令:jvisualvm。
步骤2:为jmx监控添加mbean插件您需要显式添加mbean插件。1.从主菜单中选择“工具”>“插件”。2、在下载的插件页签中,点击add plugins 3,选择mbean插件成功添加mbean插件后,可以在visualvm中看到mbean页签,可以监控jmx。
步骤3:默认情况下,本地监视visualvm将监视本地jvm上运行的所有应用程序。如果您使用的是Java1.6及更高版本,则无需进行任何更改。
第四步:远程监控
要检索和显示在远程主机上运行的应用程序的信息,jstatd实用程序需要在远程主机上运行。
运行jstatd的步骤
jstatd工具是一个rmi服务器应用程序,它监视已检测的热点java虚拟机(jvm)的创建和终止,并提供一个接口,允许远程监视工具连接到jvm。
1、创建一个文件名为“jstatd.all.policy”的文件,复制下面的内容grant codebase“文件:${java.home}/./lib/tools.jar”{permission java.security.allpermission;};
2、将“jstatd.all.policy”文件复制到javabin(java\jdk1.7.0\u10\bin)目录下
3、导航到jdk软件的bin目录,并在命令提示符下键入以下命令:jstatd-j-djava.security.policy=jstatd.all.policy.txt
4、要运行jstatd需要管理员权限,那么只有其他所有用户才能将其连接到远程主机。这是一次性活动(使用cit和sit中的后台进程运行)
要在visualvm中添加远程主机,请右键单击“应用程序”窗口中的远程节点,选择“添加远程主机”,然后在“添加远程主机”对话框中键入主机名或ip地址。当java visualvm连接到远程主机时,应用程序窗口中的远程节点下会出现一个远程主机的节点。您可以展开远程主机节点以查看在远程主机上运行的应用程序。
6yt4nkrj3#
使用jvisualvm.exe jdk/bin,您可以监视storm workers。jvisualvm还可以指向远程风暴拓扑。
下载mbean插件并将其添加到jvisualvm中。