我希望(通过SNMP)监视在我的系统上运行的几个JBoss MBeans的一些属性:
我已经将我的attributes.xml解析器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浏览器中,我只能成功地对String或Int属性执行String操作。布尔值或对象将返回SNMP错误。因此,适配器甚至没有为这些情况“发布”OID。
对于我上面的列表,MasterNode、TargetName和ClusterPartition在SNMP get()上失败了,其余的都是成功的。
有什么解决办法吗?
更多信息:来自org.jboss.ha.singleton.HASingletonController的JMX控制台
(名称/类型)
TargetName javax.management.ObjectNameStateString java.lang.StringMasterNode booleanClusterPartition org.jboss.ha.framework.server.ClusterPartitionMBeanTargetStartMethod java.lang.StringTargetStartMethodArgument java.lang.StringState intTargetStopMethodArgument java.lang.StringPartitionName java.lang.String(除其他外)
发布于 2010-10-18 07:23:03
JBoss SNMP适配器具有非常原始的逻辑,用于将java类型映射到SNMP类型。它可以处理String,Integer,Long,这差不多就是了。这部分是因为SNMP的可用类型范围非常窄(例如,它没有布尔值),部分原因是SNMP适配器没有得到很好的开发。
关于这一点,有一个问题向RedHat提交,但在此期间,您的选项是重写SNMP适配器(毕竟它是开源的),或者编写MBeans,它将所需信息重新公开为String/Long/Integer (例如,将booleans公开为1或0)。
https://stackoverflow.com/questions/3936622
复制相似问题