我期待为基于java服务器的应用程序设置监视和警报,并希望find一些监视JVM特定指标的最佳实践,并根据这些指标devise警报。
那么,关键的JVM度量指标是什么? 一些可能的竞争者:
一旦你开始看一些指标,那么这个指标有什么好的提醒策略? CPU使用看起来很容易,但像堆空间似乎很好监视和能够查看,但它不能很好地转化为一个可警告的指标,因为你期望它会增长到容量,触发GC。 但是像在GC上花费的时间,特别是作为一个整体时间的比例,似乎有很好的预警潜力。
我并不是在寻找一种工具(即Hyperic或Nagios)来执行监控,但是如果有一个具有特别好的Java模板/默认图/规则集的工具,那将是一个方便的指针。
我已经使用了与JRE捆绑在一起的hprof。 它做HEAP和CPU监控。 我通常使用它来监视CPU使用情况,并检查哪个线程正在占用大部分CPU。 http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
我之前也使用过JProbe,这是一个商业软件。 http://www.quest.com/jprobe/
Ruxit正在监测和呈现信息图表风格的JVM指标。 它提供有关以下方面的见解:CPU,内存,stream量,重新传输,连接,暂停,JVM您可以在这里看到屏幕截图: Java Monitoring
Ruxit使用基线来仅在必要时提醒您。 当我为Ruxit工作时,我显然有点偏见。 但是可视化指标的信息图表风格真的很棒。