来自Twitter的鸵鸟项目似乎非常适合我的用例,我想跟踪大量基于JVM的统计信息以及一些自定义统计信息。
https://github.com/twitter/ostrich/
但是,我的代码库是纯Java + Spring 3.0,而不是Scala,所以我可以将Ostrich用于我的情况吗?
答案 0 :(得分:14)
我使用过Metrics。它与鸵鸟非常相似,支持仪表,计数器,仪表,直方图和计时器;还有一种监控服务健康检查的机制。
您可以通过JMX或HTTP获取报告,也可以报告Ganglia和Graphite等后端。
答案 1 :(得分:6)
MBean,JMX和JConsole应用程序的组合可以为本地和远程JVM提供本机。
javax.management包(http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html)扩展支持:http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html。
JMX + JConsole监控范例在您的JVM中是原生的,并且越来越容易在java SE 1.6中实现。
Java虚拟机(Java VM)具有内置的工具 使您能够使用Java Management监视和管理它 扩展(JMX)技术。 来自http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html#gdevs
<强>详情
监视任何JVM(客户端,服务器,本地或远程)的标准方式是使用JConsole:http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html。您可以同时打开多个JConsole客户端,监控不同的实例。
1)首先使用以下参数启动JVM服务:
com.sun.management.jmxremote.port=portNum
2)然后,在您的远程客户端(您要进行监控的客户端)上,您可以开始监控此JVM
jconsole hostName:portNum
用于在不同服务器上集成JVM Analytics
1)尝试使用Clearstone应用程序:我没有使用它,但屏幕截图似乎支持您似乎拥有的分布式环境类型:
http://www.evidentsoftware.com/products/clearstone-for-java/
ClearStone for Java包含一个开箱即用的收集器,可通过JMX提供指标。 ClearStone服务器可以收集和关联来自任何Java MBean的信息。
**最后,对于鸵鸟和jconsole的另一个比较:**
答案 2 :(得分:3)
您可以使用与Heapster集成的Ostrich。
<强> Heapster 强>
Heapster提供了一个代理库来为JVM进行堆分析 输出与Google perftools兼容的输出。的目标 Heapster能够在a中进行有意义的(采样的)堆分析 生产设置。
鸵鸟整合
如果您使用鸵鸟,并使用heapster运行您的程序,您可以 生成运行时堆配置文件,如下所示:
$ curl'localhost:9990 / pprof / heap?pause = 10&amp; sample_period = 1024'&gt; / tmp / prof这将收集堆增长10秒,用a 采样周期为1kB。
答案 3 :(得分:0)
您可以查看运行带有许多常见Java(和JDBC)指标图的servlet的http://code.google.com/p/javamelody/。这是LGPL。