2013-02-25 61 views
0

我需要查看ganglia報告中的jvm度量標準,我在節點上設置了jmxetric,並在使用簡單的「telnet localhost 8649」時查看jvm度量標準。如何查看ganglia web中的jvm度量報告

我有在另一臺機器上運行的gmond/gmetad的ganglia-web,它顯示標準報告,如CPU /內存,但不是新的jvm指標。

我應該手動配置ganglia-web以使其顯示jvm組嗎?

我正在使用神經節3.3.7。

+0

您的意思是指標不顯示在您的jmxetric節點的特定於節點的視圖中?或者你想將它們作爲頭版上的綜合報告來查看嗎? .rrd文件是否對應於gmetad節點上的/ var/lib/ganglia/rrds下的jmx指標? – mmajis 2013-02-25 14:50:29

+0

是的,我打開摘要視圖,然後進入安裝了jmxetric的節點,我只看到「標準」度量。 gmetad節點上的/ var/lib/ganglia/rrds也包含'標準',如cpu * .rrd,disk * .rrd,mem * .rrd。 – 2013-02-25 21:50:01

+0

Igor,我們看着相同,我還發現了一個名爲jmxtrans的包(https://github.com/jmxtrans/jmxtrans/blob/master/README.md)您是否考慮過這個包?它似乎也會這樣做,但可能會更靈活一點。我試圖決定哪一個給你,並正在尋找你的想法。 – 2013-06-19 18:13:36

回答

1

應該沒有必要配置ganglia-web來顯示新的度量標準,他們只是顯示出它們的元數據也是已知的,因爲gmond和gmetad已經收到了這些元數據並將它們寫入了rrd數據庫。

您使用的是單播模式嗎?您可能只將jmxetric度量標準發送到運行在jmxetric主機上的gmond。 Gmond不會將指標轉發給ganglia-web/gmetad/gmond主機,除非將它們添加到jmxetric主機上的gmond.conf收集組中。

同樣在單播模式下,確保gmond.conf已將send_metadata_interval設置爲除0之外的其他值(默認值)。這可以防止在gmetad節點上重新啓動gmond時指標消失。

另一種方法是將jmx指標直接從jmxetric發送到在gmetad節點上運行的gmond。

+0

我正在使用單播模式。我的主要問題實際上是由gmond和jmxetrc jvm代理報告的主機名稱不匹配。他們結束了我的gmetad神經節主機上的一個單獨的'localhost'目錄。 出於某種原因,我不需要更改send_metadata_interval,度量標準會從我的jmxetric主機正確轉發到gmetad/ganglia-web主機。 – 2013-02-26 11:11:43

2

回答我的問題,這裏有我需要做的,看看在神經節網絡JVM報告的步驟:

  • git的克隆和構建https://github.com/ganglia/jmxetric(MVN包)
  • 從gmetric4j-1.0中創建superjar。 2.jar/jmxetric-1.0.2.jar/ONCRPC-1.0.7.jar(爲了避免類加載的問題,有什麼建議的方法?)
  • 啓動JVM時添加劑:
  • -javaagent:在/ etc/zoomdata/jmxetric-1.0.2.jar =主機= MYHOST_AS_IN_GMOND_CONF,端口= 8649,模式=單播,wireformat31x =真,過程= PROCESS_NAME,配置=的/ etc/jmxetric.xml」
  • jmxmetric.xml如https://github.com/ganglia/jmxetric

注:在javaagent使用必須gmond.conf 主機名中使用的匹配 主機名/ port/mode/process可以指定爲-javaagent選項,並且也可以在jmxetric.xml中指定。如果您需要部署到多臺機器,最好從xml中刪除jvm和ganglia節點,並通過-javaagent參數定義所有內容。 xml將只包含jvm指標列表,並可以複製到所有機器。