SNMP-мониторинг MBeans (attribute.xml в snmp-adaptor.sar) (JBoss) - PullRequest
2 голосов
/ 14 октября 2010

Я хочу отслеживать (через SNMP) некоторые атрибуты нескольких MBean-компонентов JBoss, работающих в моей системе:

Я настроил свой attribute.xml unders snmp-adaptor.sar для включения:

<mbean name="jboss.ha:service=HASingletonDeployer">    
      <attribute name="MasterNode"    oid=".1.2.3.4.1.22"/>
      <attribute name="PartitionName" oid=".1.2.3.4.1.23"/>
      <attribute name="TargetStopMethodArgument" oid=".1.2.3.4.1.24"/>
      <attribute name="TargetName" oid=".1.2.3.4.1.25"/>
      <attribute name="State" oid=".1.2.3.4.1.26"/>
      <attribute name="StateString" oid=".1.2.3.4.1.27"/>
      <attribute name="ClusterPartition" oid=".1.2.3.4.1.28"/>
</mbean>

Но с моим браузером MIB я могу только успешно выполнить атрибуты get() на String или Int. Логическое значение или объекты будут возвращать ошибку SNMP. Таким образом, адаптер даже не «публикует» OID для этих случаев.

Для моего списка выше, MasterNode, TargetName и ClusterPartition завершаются ошибкой по SNMP get(), остальные успешны.

Есть ли обходной путь для этого?

Дополнительная информация: с консоли JMX для org.jboss.ha.singleton.HASingletonController:

(Имя / Тип)

  • TargetName javax.management.ObjectName
  • StateString java.lang.String
  • MasterNode boolean
  • ClusterPartition org.jboss.ha.framework.server.ClusterPartitionMBean
  • TargetStartMethod java.lang.String
  • TargetStartMethodArgument java.lang.String
  • State int
  • TargetStopMethodArgument java.lang.String
  • PartitionName java.lang.String

(среди прочих)

1 Ответ

1 голос
/ 18 октября 2010

Адаптер JBoss SNMP имеет очень примитивную логику для отображения типов Java в типы SNMP. Он может обрабатывать String, Integer, Long, и это почти все. Это отчасти потому, что SNMP имеет очень узкий диапазон доступных типов (например, он не имеет логического значения), а отчасти потому, что адаптер SNMP просто не был хорошо развит.

Существует проблема , поданная в RedHat по этому поводу, но тем временем вы можете либо переписать SNMP-адаптер (в конце концов, с открытым исходным кодом), либо написать MBean, который повторно предоставляет требуемая информация в виде String / Long / Integer (например, выставить логическое значение как 1 или 0).

...