2

我想监视(通过 SNMP)在我的系统上运行的几个 JBoss MBean 的一些属性:

我已经在 snmp-adaptor.sar 下配置了我的 attributes.xml 以包括:

<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()onStringInt属性。布尔值或对象将返回 SNMP 错误。因此,适配器甚至没有为这些情况“发布”OID。

对于我上面的列表,MasterNode,TargetNameClusterPartitionSNMP 失败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

(除其他外)

4

1 回答 1

1

JBoss SNMP 适配器具有用于将 java 类型映射到 SNMP 类型的非常原始的逻辑。它可以处理字符串、整数、长整数,仅此而已。这部分是因为 SNMP 的可用类型范围很窄(例如它没有布尔值),部分是因为 SNMP 适配器还没有得到很好的开发。

RedHat 对此提出了一个问题,但与此同时,您的选择是重写 SNMP 适配器(毕竟它是开源的),或者编写 MBean,将所需信息重新公开为 String/Long/Integer (例如,将布尔值公开为 1 或 0)。

于 2010-10-18T07:23:03.160 回答