Thursday, 15. January 2009
JMX over SNMP
Theoretisch kann man die Java Management Extensions (JMX) auch über SNMP abfragen. Dazu wird der SNMP-Agent über die Properties
-Dcom.sun.management.snmp.port=6070
-Dcom.sun.management.snmp.acl=false
aktiviert (zu Testzwecken hier nicht abgesichert, s.a. JVM-Monitoring-Folien von Tobias Frech).

Aber wie komme ich an die INFO ran? Unter Linux ruft man dazu das Kommando snmpwalk auf:
% snmpwalk -v1 -c public localhost:6070 .
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.1.1.0 = Gauge32: 1914
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.1.4.0 = INTEGER: 1
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.1.0 = Gauge32: 0
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.2.0 = INTEGER: 1
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.3.0 = INTEGER: 2
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.2.1 = STRING: "CodeCacheMana
ger"
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.2.2 = STRING: "Copy"
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.2.3 = STRING: "MarkSweepComp
act"
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.3.1 = INTEGER: 2
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.3.2 = INTEGER: 2
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.100.1.3.3 = INTEGER: 2
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.110.1.2.1 = STRING: "Code Cache"
SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.2.110.1.2.2 = STRING: "Eden Space"
...
Insgesamt scheint mir das aber ein wenig praktikabler Weg zu sein, da man über den Aufbau der SUN-SNMP-MIB nichts zu JMX findet.

Wie ich soeben von Tobias Frech erfahren habe, kann man auch nur die Sun-MBeans über SNMP abfragen, d.h. eigene MBeans erscheinen nicht in der Auflistung.

... comment