مراقبة SNMP في Odoo 19: تجاوز الحد، وفتح تذكرة
الخوادم ومبدّلات الشبكة ووحدات الإمداد بالطاقة غير المنقطعة ومستشعرات الحرارة في غرفة الخوادم: كل ما يتصل بالشبكة تقريبًا يدعم SNMP ويمكنه الإبلاغ عن حالته. والسؤال هو: من يتابع هذه البيانات، وماذا يحدث عندما تخرج إحدى القيم عن نطاقها الطبيعي؟
جمعنا هذه السلسلة الآن في مكان واحد للبنية التحتية التي نديرها لعملائنا: يستعلم نظام Odoo 19 لدينا من الأجهزة، ويقارن القيم بالحدود المحددة، وعند بلوغ أحد الحدود يفتح تذكرة في مكتب الدعم باسم العميل الذي يملك الجهاز. فبدلًا من نظام مراقبة منفصل يرسل رسائل بريد إلكتروني إلى مكتب الدعم، تجري العملية داخل النظام نفسه الذي يربط أصلًا بين العميل والجهاز والتذكرة.
طوّرنا هذه الوحدة لاستخدامنا الداخلي. وهي ليست إصدارًا منشورًا للمجتمع مثل وحداتنا الخاصة بكشوف الحسابات المصرفية أو الفواتير الإلكترونية، بل جزء من منصتنا الداخلية لخدمة العملاء، شأنها شأن خدمة التتبّع التي تحدثنا عنها مؤخرًا.
من قيمة القياس إلى التذكرة
حرصنا على إبقاء سير العمل بسيطًا:
- يُضاف الجهاز بعنوانه وبيانات الوصول إليه، باستخدام SNMP v1 أو v2c أو v3 مع المصادقة والتشفير. عند الحفظ، يجلب Odoo وصف النظام واسمه ومدة تشغيله، وهو أوضح تأكيد على صحة العنوان وبيانات الوصول.
- تُعرَّف نقاط بيانات للجهاز، ولكل منها معرّف OID ووحدة قياس وعميل مرتبط بها.
- تستعلم مهمة مجدولة عن جميع نقاط البيانات النشطة. ويُنشأ اتصال واحد لكل جهاز، لا لكل نقطة بيانات؛ فعند وجود عشرين معرّف OID على مبدّل شبكة واحد، يعني ذلك جلسة واحدة بدلًا من عشرين جلسة.
- يمكن مراقبة حدود لكل نقطة بيانات: حد أعلى أو حد أدنى أو كلاهما.
- عند تجاوز أحد الحدود، تُنشأ تذكرة في مكتب الدعم.
تذكرة لكل حادثة، لا لكل قياس
النقطة الأهم في منطق الإنذار: لا يُحتسب إلا تغيّر الحالة. فمن ينشئ تذكرة مع كل قياس يجد نفسه بعد ليلة واحدة مع حساس عالق أو متذبذب أمام ثلاثمائة تذكرة – وهذا ليس إنذارًا بل تعتيم.
ولذلك تتذكر الوحدة لكل نقطة بيانات ما إذا كانت في حالة «عادي» أو «إنذار». وعند أول تجاوز للحد تتغير الحالة، وتصل رسالة إلى الدردشة (Chatter) الخاصة بالجهاز، وتُفتح تذكرة – مع العميل المعني كشريك، ومع نقطة البيانات والجهاز والقيمة المقاسة والحد المخالَف في النص. وما دامت القيمة خارج الحد لا يحدث شيء آخر: فالتذكرة مفتوحة وفنيونا على علم.
وعندما تعود القيمة إلى النطاق الطبيعي، تكتب الوحدة إشعارًا بانتهاء الخطر في التذكرة نفسها وتفك الارتباط. أما إغلاق التذكرة بعد ذلك فيقرره إنسان – فقيمة هبطت لوقت قصير دون الحد لا تعني بعدُ أن السبب قد عولج.
تُفحَص الحدود عند كل قياس، بصرف النظر عما إذا كانت القيمة ستُحفظ أم لا. فالقيمة التي تبقى مرتفعة باستمرار تظل تستدعي التنبيه. ولا يجوز أن يتعطّل التنبيه بسبب تعذّر إنشاء تذكرة؛ فإذا فشل الإنشاء، يبقى السجل والرسالة محفوظين في سجل الجهاز.
حفظ ما يتغيّر فقط
نقطة بيانات يُستعلم عنها كل خمس دقائق تنتج 105,000 قيمة سنويًا. ومع مئة نقطة بيانات، يتجاوز العدد عشرة ملايين صف، لقيم لم تتغيّر في معظم الأحيان.
لذلك، لا تُحفظ إلا القيمة التي يختلف مقدارها عن آخر قيمة محفوظة بأكثر من عتبة محددة. ويمكن ضبط ذلك لكل نقطة بيانات كفرق مطلق، مثل 0.5 °C، أو كنسبة انحراف مئوية، أو بالحفظ عند كل تغيير. ومع ذلك، تظل القيمة الحالية ووقت آخر استعلام متاحين دائمًا في نقطة البيانات؛ ويقتصر تقليل البيانات على السجل التاريخي.
يمكن أيضًا ضبط وجهة تخزين القيم: قاعدة بيانات Odoo أو MongoDB أو ملفات CSV في مخزن ملفات Odoo. وبذلك نبقي قيم القياس خارج قاعدة بيانات نظام تخطيط موارد المؤسسة، تطبيقًا للمبدأ نفسه المتّبع مع بيانات مواقع التتبّع. وفي جميع الحالات، يمكن عرض السجل التاريخي في مخطط بياني، وعند تجميع البيانات بالساعة يُعرض المتوسط، لا المجموع.
نسبة الامتلاء المئوية بدلًا من عدد البايتات
بعض المقادير لا تتوفر مباشرة في الجهاز. فنسبة امتلاء قسم التخزين تُحسب من المساحة المستخدمة والسعة الإجمالية، وغالبًا ما ترسل مستشعرات الحرارة أعدادًا صحيحة تحتاج إلى معامل تحويل، مثل 235 للدلالة على 23.5 درجة.
لذلك، يمكن لنقطة البيانات اعتماد القيمة كما وردت، أو ضربها في معامل، أو حسابها كنسبة مئوية من قيمة معرّف OID ثانٍ. وهذا أمر حاسم لضبط الحدود: فحد يبلغ 90 % يصلح لأي سعة قرص، بينما يتطلّب الحد المحدد بالغيغابايت تعديلًا لكل قرص على حدة.
لا حاجة إلى حفظ معرّفات OID عن ظهر قلب
في خوادم Windows وLinux، تتّبع HOST-RESOURCES-MIB معيارًا موحدًا، فتوجد بيانات الأقراص وذاكرة الوصول العشوائي في مواضع معروفة. تقرأ آلية اكتشاف الأجهزة الجدول، وتحوّل مستويات الامتلاء إلى نسب مئوية، وتُنشئ نقاط البيانات مع حدود التنبيه بنقرة واحدة.
ولكل ما عدا ذلك، يتوفر متصفح SNMP يتتبّع شجرة OID ويعرض كل معرّف يجده مع قيمته الحالية، ومع اسمه ووصفه ووحدة قياسه من ملف MIB المستورد الخاص بالشركة المصنّعة، إذا كان معروفًا في الفهرس. ويكفي وضع علامة في مربع الاختيار.
ما الفائدة لعملائنا
ترتبط الأجهزة ونقاط البيانات بالعملاء. وفي بوابة العملاء، تجدون ضمن قيم SNMP الخاصة بي القياسات الحالية لأجهزتكم وسجل آخر 24 ساعة أو 7 أيام أو 30 يومًا أو 12 شهرًا في مخطط بياني، وهي القيم نفسها التي نراها نحن. ولا تظهر لكم إلا البيانات المرتبطة بشركتكم.
وعند تجاوز أحد الحدود، لا يلزمكم اتخاذ أي إجراء: تكون التذكرة قد وصلت إلينا بالفعل، متضمنة الجهاز والقيمة والوقت، قبل أن تلاحظوا المشكلة.
ما الذي تعمّدنا إبقاءه خارج نطاق الوحدة
إنها ليست بديلًا عن مراقبة كاملة مع فحوص التوفر وسلاسل التصعيد وأشجار الاعتمادية. فهي لا تستقبل SNMP Traps بل تستعلم بنشاط. ولا تغلق تذكرة تلقائيًا – فإشعار انتهاء الخطر رسالة وليس تغييرًا في الحالة.
الهدف هو مسار واحد محدد: من قيمة القياس إلى تجاوز الحد، وصولًا إلى الفني الذي يتولى المعالجة. وقد أصبح هذا المسار الآن أقصر ما يمكن.
إذا رغبتم في إدراج خوادمكم أو أجهزة شبكتكم أو مستشعراتكم ضمن هذه المراقبة، فتواصلوا معنا.