有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

MBean的java SNMP监控(snmpadaptor.sar中的attributes.xml)(JBoss)

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

我已经配置了我的属性。xml下的snmp适配器。特区包括:

<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浏览器,我只能成功地对StringInt属性执行get()。布尔或对象将返回SNMP错误。因此,适配器甚至没有为这些情况“发布”OID

对于我上面的列表,MasterNodeTargetNameClusterPartition在SNMP上失败get(),其余的都成功了

有什么解决方法吗

更多信息:从org.jboss.ha.singleton.HASingletonController的JMX控制台:

(姓名/类型)

  • 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. # 1 楼答案

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

    RedHat对此有一个issue文件,但在此期间,您可以选择重写SNMP适配器(毕竟它是开源的),或者编写MBean,将所需信息重新公开为String/Long/Integer(例如,将布尔值公开为1或0)