是否有Java等同于Twitter的鸵鸟库?

时间:2011-12-29 21:42:42

标签: java ostrich

来自Twitter的鸵鸟项目似乎非常适合我的用例,我想跟踪大量基于JVM的统计信息以及一些自定义统计信息。

https://github.com/twitter/ostrich/

但是,我的代码库是纯Java + Spring 3.0,而不是Scala,所以我可以将Ostrich用于我的情况吗?

4 个答案:

答案 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的另一个比较:**

Remote Probing of Scala/Java Application in Runtime

答案 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。