مراقبة SNMP من mbeans (attributes.xml في snmp-adaptor.sar) (jboss)
سؤال
أرغب في مراقبة (عبر SNMP) بعض سمات العديد من mbeans التي تعمل على نظامي:
لقد قمت بتكوين سماتي. 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
صفات. ستعيد Boolean أو الكائنات خطأ 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
(من بين أمور أخرى)
المحلول
يحتوي محول JBOSS SNMP على منطق بدائي للغاية لرسم خرائط أنواع Java لأنواع SNMP. يمكنه التعامل مع سلسلة ، عدد صحيح ، طويل ، وهذا إلى حد كبير. ويرجع ذلك جزئيًا إلى أن SNMP لديه مجموعة ضيقة جدًا من الأنواع المتاحة (على سبيل المثال لا يحتوي على منطقية) ، ويرجع ذلك جزئيًا إلى أن محول SNMP لم يتم تطويره جيدًا.
هناك القضية تم تقديمه إلى Redhat حول هذا الأمر ، ولكن في الوقت نفسه ، فإن الخيار الخاص بك هو إما إعادة كتابة محول SNMP (إنه مفتوح المصدر ، بعد كل شيء) ، أو لكتابة mbeans التي تعيد تعريض المعلومات المطلوبة كسلسلة/طويلة/عدد صحيح (على سبيل المثال كشف المنطق كما 1 أو 0).