ما هي الطفل OIDS في فخ SNMP؟
سؤال
لقد ورثت MIB وثائق مثال، وتحتاج إلى إعادة تنفيذ التعليمات البرمجية التي تنشئ الفخاخ. (لأسباب مختلفة، يتم فقد الكود الأصلي وذهب إلى الأبد، ولكن CM ليس سؤالي.)
يقول MIB:
alertObjects OBJECT IDENTIFIER ::= { corpAlert 1 }
alertEvents OBJECT IDENTIFIER ::= { corpAlert 2 }
alertDispatchTime OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Time Event Dispatched"
::= { alertObjects 3 }
testFailure OBJECT IDENTIFIER ::= { alertEvents 4 }
testFailureClearTrap NOTIFICATION-TYPE
OBJECTS
{
alertDispatchTime,
[omitted]
}
STATUS current
DESCRIPTION
"Clear prior failure"
::= { testFailure 0 }
المستندات لدينا لها مقتطفات التالية:
/usr/bin/snmptrap \
-v 1 \
-c public 192.168.0.2:162 [our-base-oid] 127.0.0.1 6 4 '' \
[our-base-oid].2.4.0.4.1.0 s "May 21 2007 10:19PM" \
[etc]
ما لا يمكنني معرفةه هو OID المستخدمة في وقت إرسال التنبيه. وأود أن أفهم ذلك إذا كان [قاعدة OID لدينا] .1.3.0، أو حتى [OID-OID) .2.4.0. [لدينا قاعدة] .1.3. إذا كنا نولد فخ في {alertevents 3}، فماذا تكون لاحقة للأشياء الفردية؟
من الممكن تحديث MIB بعد الوثائق، لذلك إذا كان هذا يبدو خاطئا في خبير، فما الذي يجب أن يكون OID في وقت الفراغ؟
شكرًا.
المحلول
على النحو المحدد هنا، AlertDispatchTime هو كائن Scalar (مثيل واحد فقط)، لذلك الدوخة مثيل لها هو دائما 0 (OID كامل هو [Corpalert] .1.3.0). OID الإعلام هو [كورباليرت] .2.4.0.
على افتراض [لدينا-OID-OID] تقصد Corpalert، فإن أمر SNMPTrap يظهر لا يبدو صحيحا لأنه [OUD-OID-OID] .2.4.0.4.1.0 سيكون TestFailReclearraP.4.1.0، الذي لا "ر معنى: الفخاخ لا تملك الدعوة المثلية. لكنني أحرز بعض الافتراضات هنا عن أجزاء من مواصفات MIB لم يتم تضمينها.
نصائح أخرى
إذا كان لديك نظام عمل، فربما سيكون جيدا إذا كنت تستطيع إنشاء فخ ورؤية محتوياته.