SNMP

وظيفة

الاستعلام عن جهاز (عادةً ما يكون نوعًا من أجهزة الشبكة) للحصول على بيانات SNMP عن طريق طلب OID. يسمح بتصفح OIDs.

التنبيه

وقت النقل، القيم المحددة من قبل المستخدم، القيم المختلفة والقيم السلسلية

بروتوكول إدارة الشبكة البسيط (SNMP) هو البروتوكول السائد في إدارة الشبكات. أحد الأسباب الرئيسية لقبوله على نطاق واسع، إلى جانب كونه المعيار الرئيسي للإنترنت لإدارة الشبكات، هو بساطته النسبية. يعد تنفيذ إدارة SNMP في جهاز متصل بالشبكة أكثر بساطة بكثير من معظم الأساليب القياسية أو غير القياسية الأخرى لإدارة الشبكات.

يستخدم مدير SNMP أو تطبيق الإدارة صيغة تسمية محددة جيدًا لتحديد المتغيرات لوكيل SNMP. تسمى أسماء الكائنات في هذه الصيغة معرفات الكائنات (Object IDs أو OIDs).

مُعرفات الكائنات هي سلسلة من الأرقام التي تحدد بشكل فريد كائنًا لوكيل SNMP. يتم ترتيب مُعرفات الكائنات في هيكل شجرة هرمي مقلوب. تبدأ شجرة مُعرفات الكائنات بالجذر وتتفرع إلى فروع. تسمى كل نقطة في شجرة مُعرفات الكائنات عقدة، وستحتوي كل عقدة على فرع واحد أو أكثر، أو ستنتهي بعقدة ورقة. تنسيق مُعرفات الكائنات هو تسلسل من الأرقام مع نقاط بينها.

يتم دعم أنواع متغيرات SNMP التالية للقيم:

ASN_COUNTER

عدد صحيح غير سالب 32 بت لا يمكن إلا أن يزداد

ASN_GAUGE

عدد صحيح 32 بت

ASN_INTEGER

عدد صحيح 32 بت (-232 حتى 232) rfc 1442

ASN_INTEGER64

عدد صحيح 64 بت (-264 حتى 264) rfc 1442

ASN_OPAQUE

يدعم float و double

ASN_UNSIGNED64

عدد صحيح غير موقّع 64 بت

ASN_COUNTER64

64 بت غير موقعة

ASN_TIMETICKS

غير موقّع

يتم تحويل جميع هذه القيم والفرق عن القياس الأخير إلى أرقام عائمة ثم يتم نقلها إلى الخادم.

يتم تقسيم قيم الفرق من الأنواع المذكورة أعلاه تلقائيًا على الوقت المنقضي منذ آخر قياس ((القيمة الحالية - القيمة السابقة) / (ثواني الوقت الحالي - ثواني الوقت السابق)). وهذا يعني أننا نحصل دائمًا على معدل في الثانية لهذه القيم الفرقية.

ASN_BIT_STR

ASN_OCTET_STR

هذه القيم عبارة عن سلاسل ويمكن أن تحتوي على أي أحرف قابلة للطباعة.

ميزات SNMP

  • متصفح MIB عبر الإنترنت لاختيار OID

  • ملفات MIB غير محدودة، الموقع: /usr/share/snmp/mibs على كل جامع SKOOR Engine

  • وحدة قياس قابلة للتكوين

  • قيم تفاضلية تلقائية

  • دعم PDU الإصدار 1 و 2c و v3

  • دعم تشفير v3

  • إنذار الطبقة n

  • اختيار واجهة MIB2 حسب الاسم

  • أسماء OID المرجعية لأرقام OID

  • إعادة المحاولة والانتظار القابلة للتعديل

  • قيم قابلة للحذف (تقلل حجم قاعدة البيانات)

  • سلاسل (إحالة رقم إلى نص)

  • تحليل الأرقام من النص OID (القيمة الأولى فقط)

تفاصيل SNMP

معلمات SNMP

يتم عرض قسم إدخال المصادقة فقط عند تحديد SNMP الإصدار 3.

المعلمة

الوصف

منفذ UDP

حدد منفذ UDP (الافتراضي هو 161)

إعادة المحاولة

عدد المحاولات في حالة فشل الطلب. القيمة الافتراضية هي محاولتان.

المهلة

حدد مهلة الانتظار للطلب. في معظم الأجهزة، يتم التعامل مع طلبات SNMP بأولوية منخفضة، لذا استخدم مهلة انتظار عالية بما يكفي. القيمة الافتراضية هي 2 ثانية.

الإصدار

حدد إصدار SNMP الذي يقدمه برنامج snmp daemon البعيد. تتوفر الخيارات التالية:

الإصدار 1
الإصدار 2c
الإصدار 3

مستوى الأمان

يحدد مستوى الأمان كيفية إرسال طلب SNMP. هذا الخيار متاح فقط عند استخدام SNMP v3. تتوفر الخيارات التالية:
بدون مصادقة، بدون تشفير
مصادقة، بدون تشفير
مصادقة، تشفير

اسم

للمصادقة، يظهر فقط عند استخدام SNMP v3.

عبارة مرور المصادقة

عبارة مرور للمصادقة، لا تظهر إلا عند استخدام SNMP مع المصادقة.

بروتوكول المصادقة

بروتوكول المصادقة، يظهر فقط عند استخدام SNMP مع المصادقة. الخيارات المتاحة حاليًا هي MD5 أو SHA. الخيار الافتراضي هو MD5.

عبارة مرور الخصوصية

للتشفير، لا تظهر إلا عند استخدام SNMP مع المصادقة والتشفير.

بروتوكول الخصوصية

للتشفير، لا يظهر إلا عند استخدام SNMP مع المصادقة والتشفير. الخيارات المتاحة حاليًا هي DES و AES. الإعداد الافتراضي هو DES.

المجتمع

تسمح معظم أجهزة الشبكة بمستويات مختلفة من الوصول إلى SNMP، على سبيل المثال: للقراءة فقط أو للقراءة/الكتابة. عادةً ما يكون لكل مستوى من مستويات الوصول هذه سلسلة مجتمع مختلفة. لقراءة البيانات، يجب معرفة مجتمع القراءة فقط، والذي عادةً ما يكون: عام.

طلب OID

أدخل OID قاعدة معلومات الإدارة (MIB) للطلب. إذا كان OID غير معروف، فيمكن تصفحه على جهاز المهام باستخدام المتصفح عبر الإنترنت. يمكن طلب OIDs إضافية من مهمة SNMP واحدة بالنقر فوق الزر "+" بجوار زر التصفح. إذا تم إدخال أكثر من OID واحد، يتم إلحاق مخرجات جميع OIDs في نفس ملف المخرجات، واحدًا تلو الآخر.

تجاوز

اترك هذا الإعداد على "تلقائي". سيتولى حساب قيمة الفرق، إذا تمت إعادة تعيين العداد إلى 0. وهذا يمنع قيم الفرق السالبة.

قمع وقت النقل

بشكل افتراضي، يتم تسجيل الوقت الذي يستغرقه نقل بيانات SNMP في قاعدة البيانات. إذا كانت هذه المعلومات غير ذات صلة، فحدد هذا المربع لتوفير مساحة قاعدة البيانات.

إخفاء القيمة
إخفاء قيمة الفرق
إخفاء قيمة
السلسلة إخفاء رسالة المعلومات

حدد أنواع مخرجات SNMP التي لا يجب أخذها في الاعتبار.

إذا تم تمكين مربع الاختيار قمع رسالة المعلومات، فلن يتم إرسال إخراج سلسلة SNMP إلى الخادم. سيتم تعيين قيمة الإرجاع على قيمة غير صالحة فقط إذا كانت القيمة أو قيمة الفرق مطلوبة ولم يكن من الممكن استخراج قيمة من السلسلة.

مربعات الاختيار قم بإخفاء القيمة، قم بإخفاء قيمة الفرق و

ربط السلسلة بالقيمة

حدد تعيين كائنات سلسلة SNMP إلى قيم رقمية.

يمكن استخراج قيمة السلسلة كقيمة سلسلة مباشرة أو عن طريق تعريف تعيين سلسلة بالتنسيق 1=foo،2=bar،0=* مما يعني أن السلسلة foo سيتم تحويلها إلى القيمة الرقمية 1، والسلسلة bar إلى القيمة الرقمية 2 و(اختياري) كل شيء آخر إلى القيمة 0. لا يُسمح بوجود مسافات في هذا التعريف.

إذا لم يتم تعريف خريطة سلسلة أو فشل التعيين (لم يتم تعريف عامل افتراضي)، يتم تحليل السلسلة بحثًا عن أول ظهور للأحرف الرقمية ويتم نقل النتيجة إلى الخادم كما هو مطلوب (القيمة و/أو قيمة الفرق).

تعريف الوحدة

انظر قسم وحدة/مقسوم SNMP أدناه.

تسمح القائمة المنسدلة "العلامات" بإدخال متغيرات محددة مسبقًا في الحقول أعلاه، على سبيل المثال $NAME$ لاسم المهمة.

تصفح عبر الإنترنت

للعثور على OID SNMP محدد على وكيل SNMP البعيد واستخدامه كطلب SNMP، انقر فوق الزر "تصفح عبر الإنترنت". من المفيد معرفة الموقع التقريبي في الشجرة، للحد من وقت التصفح وحركة مرور الشبكة وحجم الإخراج. أدخل سلسلة المجتمع الصحيحة لوكيل SNMP وحدد إصدار SNMP في قسم "الاتصال". يمكن تحديد MIBs الأكثر استخدامًا من القائمة المنسدلة، بدءًا من الجذر، والذي يجب تحديده فقط إذا كان موقع الكائن المطلوب غير معروف تمامًا:

ابدأ العملية بالنقر فوق الزر "بدء الفحص":

قد يستغرق الفحص بعض الوقت حتى ينتهي، اعتمادًا على عدد الكائنات الموجودة أسفل Root OID المحدد. انقر فوق "تحديث" حتى تظهر حالة "التنزيل" على أنها "مكتملة":

يعرض عداد Download عدد OIDs التي تم العثور عليها. لعرضها، حدد Show tree أو Show flat. لتحديد OID، ما عليك سوى النقر فوق رابط OID.

مثال 1 - عرض الشجرة مع النوع والقيمة

    

مثال 2 - عرض مسطح مع القيمة

    

إذا لم تعرض نتيجة الشجرة الممسوحة ضوئيًا معلومات نصية، بل فقط معرفات OID بالشكل

1.3.6.1.4.1.13424.11.1.1.25

فمن المحتمل أن MIB للجهاز الممسوح ضوئيًا غير مثبت. للبحث عن SNMP MIBs، ابحث في موقع الويب الخاص بالشركة المصنعة للجهاز أو ابحث في الصفحة الرئيسية لـ MIB Depot عن MIBs المتاحة للجمهور.

تحليل الاسم العام لـ SNMP

لا تطابق بعض خوادم SNMP دائمًا نفس OID مع نفس القيمة. قد تعمل قراءة استخدام القرص من MIB المضيف حتى يتم إضافة قرص جديد إلى هذا النظام. من الممكن أن يتغير المؤشر (الذي يبلغ في المثال أدناه .2).

لتجنب ذلك، يمكن لـ SKOOR Engine استخدام Resolve OID المحدد من قبل المستخدم لتعيين الاسم إلى الفهرس. لتحقيق ذلك، نستبدل الفهرس بسلسلة لتتطابق مع Resolve OID بالنمط بين حرفين $. قبل إجراء الاستعلام، سيستبدل SKOOR Engine $string$ بالفهرس المطابق الذي تم العثور عليه. فيما يلي مثال على OID الذي يرغب المرء في قراءة قيمة منه:

   .iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.2

بدلاً من إدخال هذه السلسلة كـ Request OID، ابحث أولاً عن سلسلة وصف SNMP للقرص المخزن تحت OID التالي:

   .iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageDescr

قيمته هي: C:\ التسمية: الرقم التسلسلي dc133042

الآن استبدل الرقم 2 بالقيمة أعلاه المحاطة بحرفين $:

   iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$C:\ التسمية: الرقم التسلسلي dc133042$

بمجرد إدخال السلسلة الثانية $، يظهر سطر جديد يسمى Resolve OID أسفل سطر Request OID1. أدخل وصف OID أعلاه هنا:

   .iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageDescr

سيتم استبدال $C:\ Label: Serial Number dc133042$ بـ 2.

القيمة الافتراضية لـ SNMP

إذا فشل تحليل اسم OID (انظر القسم أعلاه)، فمن الممكن تعريف فهرس افتراضي. في المثال أعلاه، يمكن كتابة الفهرس الافتراضي بعد OID الطلب، مفصولًا بحرف مسافة:

   iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$C:\ Label: Serial Number dc133042$ 2

وحدة/مقسوم SNMP

ناتج SNMP في المثال الوارد في القسم أعلاه هو:

hrStorageDescr.2              C:\ Label: Serial Number dc133042
hrStorageAllocationUnits.2    4096 Bytes
hrStorageSize.2               2120572
hrStorageUsed.2               1839613

للحصول على نتيجة سعة التخزين المستخدمة بالغيغابايت بدلاً من ذلك، يجب تعيين المقسوم الصحيح.

يخبرنا مستكشف Windows بما يلي عن نظام الملفات على محرك الأقراص C:\:

Volume: 8283MB, 8.08GB Total Size, Freespace 1.07GB

لذلك، يجب ضرب hrStorageUsed.2 في 4096 للحصول على القيمة بالبايت، ثم قسمتها على 1024 ثلاث مرات للحصول على القيمة بالغيغابايت.

   1839613 × 4096 / 1024 / 1024 / 1024 = 7.01 جيجابايت مستخدمة (وهو ما يتوافق مع أرقام Explorer)

لتعيين مقسوم SKOOR Engine، اجمع 1024 × 1024 × 1024 / 4096 = 262144

اضغط على زر Unit (الوحدة) لتحديد اسم القيمة ووحدتها ومقسمها:

ستكون النتيجة في قسم القيم بعد تنفيذ مهمة SNMP هي 7.01 جيجابايت.

للحصول على النسبة المئوية المستخدمة بدلاً من ذلك، استخدم هذه الصيغة: hrStorageUsed / hrStorageSize x 100 بحيث يكون المقسوم 21205.72.

مهام SNMP مع عدة OIDs

من الممكن تقييم عدة OIDs ضمن نفس مهمة SNMP. يجب أن تكون جميع استعلامات SNMP صالحة للجهاز المرتبط بمهمة SNMP (لا يمكن تحديد استعلامات لأجهزة مختلفة في مهمة SNMP واحدة). يتم تمكين OIDs الإضافية بالنقر فوق زر علامة الجمع بجوار زر "تصفح عبر الإنترنت". بمجرد إضافة OIDs إضافية، تظهر حقول نتائج إضافية في قسم النتائج أدناه:

يحتوي كل OID على قسم إخراج قابل للتكوين بشكل منفصل وسلسلة خريطة خاصة به لتعريف القيمة وزر الوحدة. يمكن منع وقت النقل بشكل عام.

يستخدم المثال حل معرفات الكائنات (OID) لكل من معرفات الكائنات الثلاثة. انظر قسم حل الأسماء العامة لـ SNMP أعلاه للحصول على التفاصيل.

يطلب OID الأول والثاني عدادات ifInOctets و ifOutOctets من واجهة جهاز شبكة. بالنسبة لهذه العدادات، لا تعتبر القيمة المطلقة ذات صلة، بل المهم هو التغيير مع مرور الوقت، لذا فإن حقول النتائج لهذين OID يمنعان القيم نفسها وأي قيم سلسلة (التي لا يتم إرجاعها على أي حال بواسطة هذا OID).

يحتوي تعريف الوحدة لنتيجة OID الأول على القيمة ووحدات القيمة السلسلة باللون الرمادي وفقًا لذلك:

يتم تحديد مقسوم لتحويل الناتج إلى kBit/s.

بايت/ثانية → كيلوبت/ثانية
كيلوبت = بايت / 1000 * 8
كيلوبت = بايت / (1000 / 8)
كيلوبت = بايت / 125

يطلب OID الثالث ifOperStatus لواجهة الشبكة، والذي يتم إرجاعه كسلسلة (ليس ككائن سلسلة في حد ذاته، ولكن الناتج هو على سبيل المثال: up(1)) بواسطة وكيل SNMP. يمكن رؤية ذلك عند استخدام الزر "تصفح عبر الإنترنت" مع OID .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOperStatus كجذر:

نظرًا لأن المحرك SKOOR يعالج القيم الرقمية بشكل أسرع، فمن الأفضل عادةً تحويل السلسلة المعروفة إلى قيمة رقمية باستخدام حقل "تعيين السلسلة إلى القيمة":

وهذا يعني أن النتيجة المرسلة إلى الخادم ستكون قيمة وليست سلسلة، وبالتالي يمكن حذف قيم السلسلة وقيم الفرق.

يتم تحديد تعريف الوحدة للنتيجة الثالثة لـ OID على النحو التالي:

ثم يتم عرض النتائج في قسم القيم:

إذا نتج خطأ عن أحد OIDs المحددة، يتم عرض رسالة الخطأ الخاصة بهذا OID ويفشل المهمة بأكملها. لا تتم معالجة جميع OIDs اللاحقة في حالة فشل OID:

قيم SNMP وحدود الإنذار

القيمة / حد الإنذار

الوصف

القيمة 1-n

قيمة رقمية مخصصة محددة بواسطة زر وحدة النتائج OIDs.

القيمة التفاضلية 1-n

قيمة فرق رقمية مخصصة محددة بواسطة زر وحدة نتيجة OIDs.

قيمة سلسلة 1-n

قيمة سلسلة مخصصة محددة بواسطة زر وحدة نتيجة OIDs.

رمز الخطأ

رمز خطأ عام للمهمة (انظر قسم رموز أخطاء المهام)

أمثلة SNMP

مثال 1 - اختيار واجهة SNMP mib-2 حسب الوصف

من الممكن تحديد رقم الواجهة تلقائيًا حسب وصفها. قد يكون هذا مفيدًا إذا كان عدد واجهات جهاز التوجيه عرضة للتغيير. في هذه الحالة، يجب أن يكون من الممكن تحديد الواجهة حسب وصفها.

نريد البحث عن OID

   .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets.<interface id>

لعدد البايتات التي مرت عبر واجهة VLAN 10. للقيام بذلك، نبحث أولاً عن وصف الواجهة أسفل .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr:

   

ونجد أن الوصف هو:

em0_vlan10

الآن استبدل المؤشر الرقمي بعد ifInOctets بالسلسلة $em0_vlan10$ واستخدم هذا كـ Request OID:

   .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets.$em0_vlan10$

كـ Resolve OID، استخدم

   .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr

البحث عن سلسلة وصف مطابقة حساس لحالة الأحرف. ستتذكر المهمة آخر فهرس. إذا تغير الرقم، فستقوم بإعادة فحص الأوصاف.