Zabbix: طوبولوجيا الشبكة واضحة وتلقائية

هل تدير شبكة أكبر من المضيف المحلي؟ لا تتحكم بل تريد أن تتعلم؟ ندعوك إلى الدورة التدريبية “Linux. المستوى 5. Zabbix. مراقبة البنية التحتية لتكنولوجيا المعلومات للمؤسسة " . في الندوة المجانية لمركز التدريب المتخصص في جامعة بومان موسكو التقنية الحكومية ، ستتعلم كيفية تعليم Zabbix لمراقبة الشبكة تلقائيًا: اعثر على العقد الحالية وأضف العقد الجديدة وارسم الطوبولوجيا وقم بتحديثها.



وسيعقد الندوة المعلم الرائد لمركز "المتخصصين" في بومان MSTU ، مدير النظام الرئيسي لشبكة MSTU. N.B.Buman Vyacheslav Aleksandrovich Lokhturov. قم بالتسجيل (أو انظر إلى التسجيلات) لندواتنا المجانية .

تحية للجميع! اسمي فياتشيسلاف لختوروف. أعمل مهندسًا في جامعة بومان التقنية الحكومية بموسكو. منذ التخرج في عام 1997 ، كنت أعمل كمهندس. في نفس الوقت أدرس في مركز التدريب رقم 1 "متخصص" - شركة صديقة MSTU. يعمل العديد من المعلمين والموظفين الآخرين هناك.

سيكون موضوع الندوة عبر الإنترنت جزءًا من عملي كمهندس - نظام مراقبة رائع ...

طوبولوجيا الشبكة: الخلفية ، Baumanka Wikipedia ، المصادر


يمكن الاطلاع على تسجيل الويبينار على هذا الرابط: https://wiki.val.bmstu.ru - تنسيق wiki. عناوين بريدي الإلكتروني هي: val@bmstu.ru، val@specialist.ru. استخدم هذا البرنامج التعليمي كمهندس. هناك الكثير من المواد المختلفة. إذا لم يعجبك ، فهناك الكثير من المواد على الإنترنت حول موضوعك معنا ("Zabbix").

من وجهة نظر المواد التعليمية والتدريس ، أستخدم قسم "المواد على منهجية دورات القراءة":



وهناك قسم به ندوات عبر الإنترنت. لكل قراءة من قرائي هناك سجل هنا:



قلت على الفور: "إذا فعلنا ، فلنفعل أروع! دعونا نظهر كيف يتم بناء طوبولوجيا الشبكة تلقائيًا في Zabbix. يجب أن أقول هذا في 45 دقيقة.
فيما يتعلق بطوبولوجيا الشبكة: في Bauman MSTU شبكة ضخمة ؛ وفقًا لذلك ، فإن هيكل الشبكة هو ما نحتاجه حقًا لفترة طويلة. تاريخياً ، لم يكن Zabbix هو النظام الذي استخدمناه في المرحلة الأولية. مثل جميع الأشخاص من أقسام مثل علوم الكمبيوتر والإدارة ونظام الكمبيوتر والمعقد والشبكات ، كنا جميعًا نحب أن نبرمج أنفسنا ، والآن قمنا ببرمجة ...

لدينا ويكيبيديا صغيرة تستخدم في العمل. ومن بين عناصر ويكيبيديا هذه قسم مخصص لتبديل الشبكة. لا يزال الوصول إلى ويكيبيديا مغلقًا بواسطة شبكة افتراضية خاصة صغيرة:



سأوضح لك الآن شكل هيكل الشبكة في جامعتنا. إن الأمر يستحق المشاهدة. ثم قارن مع النتيجة:



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

هناك حاجة إلى مخطط الشبكة عندما اختفى بعض التبديل. لفهم أين كان متصلاً


سنحاول رؤية شيء أكثر إثارة. وإشارة معينة إلى ما سنفعله هو هذه المقالة في المنتدى:





تخبرنا أن هناك نوعًا من البرنامج النصي الرائع المكتوب بلغتي Perl المفضلة السابقة ، والتي تقوم استطلاعات معدات الشبكة بها ، تجعل بعض الاستنتاجات وتغذي النتائج بطريقة ما بأعجوبة ل Zabbix. لكننا لن نستخدم Perl ، لكننا سنستخدم شيئًا آخر.

نقول وداعا لما لدينا. دعنا ننتقل إلى الممارسة.



سأكون سعيدًا إذا كان بإمكانك إعادة إنتاج كل هذا في المنزل ومحاولة التحضير لكل ما هو ممكن. بعد الندوة عبر الإنترنت ، ستحتاج إلى تكرار كل شيء والبدء بحقيقة أنك بحاجة إلى نشر Zabbix ، جهاز افتراضي ، شبكة. كيف نفعل ذلك؟

في المنزل ، اكتب الأمر ipconfig وترى أن لديك شبكة IP كهذه في المنزل (ربما تكون مختلفة ، ولكن في الغالب هذه): لدي



العنوان الخامس (192.168.1.5) هنا ، ويمكنك الحصول على الرقم 20 أو 30 ... بالتأكيد هناك جهاز توجيه Wi-Fi يصدر هذه العناوين. لذلك ، سأقوم الآن برسم طوبولوجيا بناءً على ما قد يكون في منزلك حتى تتمكن من إعادة إنتاجه:



  • لديك جهاز توجيه WIFI.
  • النظام الذي تريد أن تلعب فيه الندوة عبر الإنترنت.
  • 192.168.1/24 – 1- WI-FI-, 5-, , – .
    . , – , 2, 10, 20 , . , linux-, «». , 100. , 192.168.1.100.

من أين تحصل على سيارة؟ لا شيء يمنع أخذ توزيع Linux. أنا من أشد المعجبين بهذا التوزيع. لن نولد holivars - أنا أحبه ، أختاره ، أستخدمه في الدورات. يمكنك أن تأخذ وتثبته من هذا الموقع:



حتى لا ننفق 45 دقيقة في تثبيت دبيان ، سألتقط صورة جاهزة مثبتة مسبقاً. من يحتاجها - اكتب إلى البريد ، سأرسل لك هذه الصورة ، على الرغم من عدم وجود أي شيء مميز فيها (فقط حتى لا تضيع الوقت في التثبيت):



أثناء تثبيتها ، يمكنك رؤية القسم في الدليل ...

نشر كشك


هناك قصة عن أمر ipconfig:



وبعد ذلك ، عندما يستدير الجهاز:



يمكنك إعطاء اسم في الإعدادات ، وإعطائه المزيد من ذاكرة الوصول العشوائي: هناك



ظواهر مختلفة - VirtualBox جيدة للاستخدام المنزلي. في المؤسسة ، نستخدم نحن وأصدقائي VSphere (نحن سعداء جدًا بالمنتج من VMware) ، ولكن هناك أكثر من دورات كافية لـ VirtualBox.

الشبكة:



نظرًا لأننا نقول أن هذا الجهاز سيتم توصيله بشبكتنا ، يمكننا العمل معه - يجب توصيله بجسر بمحول فعلي. سأعيد إنشاء عنوان Mac. أطلق جهازنا الافتراضي:



وبعد البدء ، أقوم بإجراء تكوين. يسرد الدليل الملفات التي تحتاج إلى تعديل: قم بتعيين اسم للجهاز ، ومن المستحسن تحرير ملف المضيفين ، و resolv.conf (المسؤول عن عميل DNS) وعنوان IP الذي اخترناه - يجب تحرير هذه الملفات الأربعة. سأحاول القيام بذلك في أسرع وقت ممكن.

نشر Zabbix


يتم تعيين كلمة مرور هذا المستخدم (الجذر) على الفور في الصورة - لا تستخدمها أبدًا في الواقع العملي! لتوفير الوقت فقط ، أستخدم حسابًا مميزًا:



يسرد الدليل الملفات التي تحتاج إلى تعديل.



بعد ذلك ، أعطي الاسم لجهازنا (خادم مراقبة Zabbix):



ملف Hosts: قم



بتغيير العنوان إلى 100 واسم المجال المخترع (لكل مستمع في دوراتنا الخاصة به ، فرد ، مثل شبكة مع مجال):



ماذا تبقى؟ Resolv.conf (عميل DNS):



سيتم إرساء Corp1.un إلى أسماء قصيرة ، وسيعمل جهاز توجيه WIFI عادةً كخادم DNS:



ما الذي يتبقى؟ الملف الأكثر أهمية هو الشبكة / الواجهات. هنا قالب لدورات مختلفة ، واجهات كثيرة:



لكن سيارتنا سيكون لها واجهة واحدة. سيكون خادم مراقبة بالعنوان 100 ويذهب إلى الإنترنت من خلال 1st:



ربما ، ليس من الضروري ، ولكن أسرع لاستخدام جميع الملفات - أعد تشغيل الجهاز.

تثبيت وبدء خدمة في دبيان


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





بالمناسبة ، إذا كان كل شيء على ما يرام ، الآن يجب أن أكون قادرًا على الاتصال بنظامي. دعونا نحاول القيام بذلك. أنا آخذ عميل SSH المفضل لدي واتصل بنظام 192.168.1.100:



محظوظ:



مرة أخرى ، ليس صحيحًا جدًا أن الجذر مسموح به هنا:



لا تفعل ذلك أبدًا في مؤسسة! هنا فقط توفير الوقت.



الآن علينا تثبيت Zabbix. لكوني عشيقًا كبيرًا ومؤيدًا لاستخدام البرامج الأساسية ومعارضًا لربط أي مستودعات تابعة لجهات خارجية ، فسأضع الإصدار الموجود في دبيان هذا. مرة أخرى ، بفضل مؤلفي "Debian" - فقط اطلب تثبيت مثل هذه الحزمة:



تذكرت شيئًا آخر! لقد قمنا للتو بتثبيت النظام - نحتاج إلى مزامنة المستودع (apt update):



وبالتالي ، يكفي كتابة أمر تثبيت خادم zabbix مع دعم قاعدة البيانات (DB) لمعلوماتك في SQL ، حيث سيتم تثبيت العديد من المكونات (يجب أن يستغرق التثبيت بضع دقائق) :



ماذا يتكون Zabbix


يتكون Zabbix من المكونات التالية:

  • خادم "Zabbix" ؛
  • يعمل بنشاط مع التكوين ، الذي سنقوم بتكوينه يدويًا وتلقائيًا ؛
  • , ; MySQL ( – ), ( «» – PostgreSQL, Oracle ).

من أجل العمل مع Zabbix ، يتم استخدام ما يسمى الواجهة الأمامية. Frontend Zabbix هو تطبيق مكتوب على الأرجح في PHP (ربما ليس كل شيء ، ولكن معظم). وفقًا لذلك ، يستخدم التطبيق نفسه خادم ويب. حتى الآن ، تم وضع هذا الجزء فقط (الآن سننتظر تثبيته):



انتهى. الآن ، نظرًا لأن Zabbix يستخدم قاعدة البيانات ، نحتاج إلى إنشائها باتباع الوثائق. لإنشاء قاعدة بيانات ، سأستخدم برنامجًا نصيًا بسيطًا:



لن أفصل ما تعنيه الأوامر. إذا عمل شخص ما مع DBMS ، فسيرى شيئًا مألوفًا - اسم قاعدة البيانات وما إلى ذلك ...



الآن ، باستخدام هذا البرنامج النصي ، أقوم بإنشاء قاعدة البيانات:



واملأ قاعدة البيانات هذه بالبيانات الوصفية. هناك العديد من الملفات التي تصف الجداول التي يجب أن يكون، وهو الأمر الذي يعزوه، المعلمات، وهلم جرا (يتم كل هذا، مرة أخرى، وفقا للوثائق):



وهذا هو، الآن في الخلية نحن تتراكم الفوقية التي Zabbix سوف تستخدم لتخزين التكوين والنتائج:



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

وفقا للوثائق ، لسبب ما ، عدة ملفات. ولكن بما أنهم فعلوا ذلك ، فهذا يعني أنهم يعرفون ما يحتاجون إليه! قاعدة البيانات جاهزة:



الآن ، وفقًا للوثائق ، يحتاج هذا المكون إلى شرح:



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



نهاية الملف:





هنا وصفنا أن خادم قاعدة البيانات موجود هنا تحت حسابنا:



"Debian" - حزمة "Zabbix" لا تعني البدء التلقائي. هنا فريق من SystemD الرهيب والرائع ، والذي يوجد حوله العديد من الأثرياء:



إنه يجعل إطلاق Zabbix تلقائيًا بعد تشغيل الخادم. تشغيل Zabbix:



يتم تشغيل هذين المكونين:



يمكنك بالفعل مراقبة وملء التكوين. ولكن من الصعب القيام بشيء جيد حتى يتم ضبط الواجهة الأمامية ... ومع ذلك ، في البداية - المرحلة الفائتة ...

نشر Zabbix توطين المنطقة الزمنية


لقد كشفت الصورة ، والوقت الخاطئ فيها:



التاريخ صحيح. منطقتنا الزمنية خاطئة ، لذلك قمت بتصحيحها في مثل هذه الضربة القاضية:



الوصول إلى الواجهة. تثبيت وتشغيل واجهة الويب


يجب على دبيان تثبيت مثل هذه الحزمة (بعد تثبيت خادم ويب أباتشي): سيتم تثبيت



PHP ، مكتبة لتوصيل البرامج المكتوبة بلغة PHP مع MySQL. بشكل عام ، أنا أبدأ:



لست بحاجة إلى تنفيذ أي إجراءات لفترة طويلة ، سيتم تنفيذ كل شيء تلقائيًا:



الآن نحن نضع هذا المكون هنا - الواجهة الأمامية لـ Zabbix ؛ خادم ويب ، وسنشرح له أنه يحتاج إلى العمل مع خادم Zabbix و DBMS: من



خلال خادم الويب ، سندير Zabbix ومن خلاله سنرى ما راقبه هناك.

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



في هذا الملف ization تهيئة PHP ضرورية ↓ للقيام بذلك:





لن أتعمق في كيفية تكوين تطبيق الويب في دبيان. يكفي توصيل التكوين الذي جاء من حزمة Zabbix وإعادة تشغيل خادم الويب Apache:



اتصل بالواجهة الأمامية لتكوين Zabbix


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



يجب أن يكون لخادم الويب أذونات كتابة لهذا الملف:



وبعد ذلك يمكنك محاولة الاتصال في متصفح. يمكنك عن طريق عنوان IP. تم تكوين DNS الخاص بي ، لذلك



سأنتهز هذه الفرصة: لدينا معالج Zabbix ، حيث سأقوم بالنقر فوق التالي ، لأن معظمهم قاموا بتثبيته بالفعل:













Zabbix جاهز للاتصال. نقوم بإدخال اسم المستخدم وكلمة المرور:



التكوين ، المضيفين ... لا يراقب أي مضيفين - "Zabbix" جاهز حتى الآن لمراقبة نفسه فقط ، إذا قمنا بتثبيت عامل Zabbix:



قم بتوسيع سحابة المفاتيح


ولكن لن يكون هناك عملاء لـ Zabbix على الويب. إنه بسيط للغاية وغير مثير للاهتمام! سنقوم أنا وأنت بمراقبة شبكة موزعة ، وسلاسل مفاتيح الاتصال ، لذلك نحتاج إلى سلسلة المفاتيح هذه. من أين تحصل عليهم؟

اقترحت استخدام المحاكاة الافتراضية للصندوق الظاهري. يسمح لك بمحاكاة أجهزة الكمبيوتر (أجهزة الكمبيوتر) ، والآن سأقدم لك محاكيًا آخر ، يستخدم أيضًا في دوراتنا. يُطلق على المنتج الرائع اسم محاكاة الشبكة الرسومية (GNS):



يتيح لك هذا المحاكي محاكاة معدات Cisco. سننشر هنا سحابة المفاتيح الخاصة بنا. سيكون من الضروري التوصل إلى اسم المشروع مرة أخرى (لنحفظ التكوين ، ماذا لو كان هناك حاجة للغد):



إذا كنت تريد معرفة كيفية العمل مع معدات Cisco في المنزل ، فقم بتثبيت GNS هذا بنفسك وافعل ما نفعله في الندوة ، أي أننا سننشر الآن سحابة من المفاتيح. تكمن المشكلة في أن GNS لا تحتوي على مفاتيح (لا يوجد مضاهاة هنا) - مضاهاة جهاز التوجيه فقط. لذلك ، يجب أن نضع جهاز التوجيه (اسحب بمؤشر الماوس):



وبطريقة ما ، نحوله إلى مفتاح. كيفية جعل مضاهاة التبديل في GNS؟ نحتاج أن نأخذ جهاز التوجيه من السلسلة 36. يمكنك تسميته بمفتاح (انقر بزر الماوس الأيمن على المفتاح):



يمكنك رسم مفتاح:







يبدو؟ لكنها لن تصبح مفتاحًا حقيقيًا إلا عندما تضيف مثل هذه اللوحة هناك:



في هذا الخط من أجهزة توجيه Cisco ، يمكنك وضع لوحة Ethernet ذات 16 منفذًا. وبالنسبة لعدد كبير من الأعمال المختبرية المتعلقة بالمفاتيح ، فإن هذا اللوح مناسب تمامًا.
يجب أن يكون لدينا سحابة من المفاتيح ، لذا سأقوم الآن بإنشاء هذه السحابة (تغيير الاسم والصورة وإدراج اللوحة). دعنا نبدأ بثلاثة مفاتيح ، وإذا كان لدينا الوقت ،



فسوف نضيف مفتاحًا رابعًا: سنقوم بالاتصال ، وليس هدفنا تحديدًا. سيتعين بناء طوبولوجيا لدينا تلقائيًا:





تم:



لقد بدأت الآن هذا العمل:



تهانينا لأولئك الذين يشاهدون لأول مرة كيف تعمل Cisco - حتى يمكنك تكوين مفتاح Cisco بسرعة. في غضون ذلك ، يبدأون معنا ...

هذا هو نظام Windows الخاص بنا (Windows 7) و Debian:



هنا GNS3 الظاهرية وسحابة المفاتيح:



أصبح من الواضح الآن ما يحدث: يتم استخدام نظامين للمحاكاة الافتراضية في إطار جهاز واحد. المحاكاة الافتراضية لأنظمة الكمبيوتر (على اليمين) والمحاكاة الافتراضية لأنظمة سيسكو (على اليسار): من



الضروري جعل الخادم يراقب المعدات:



ولكي يتمكن من مراقبته ، يجب أن يكون لهذا الجهاز عناوين في نفس الشبكة:



لذلك ، دون التفكير لفترة طويلة ، أنا قررت إعطاء عناوين رموز التبديل هذه (النقاط 101 و 102 و 103 للمفاتيح الأولى والثانية والثالثة على التوالي). 100 هو لينكس الخاص بنا:



يمكنك تكوين هذا على النحو التالي: انتقل إلى دورة Cisco معتمدة وسيخبرونك بتكلفة زهيدة.

لكي يكون الوصول إلى المفتاح متاحًا للإدارة ، تحتاج إلى ضبط الإعدادات التالية - انتقل إلى وضع التكوين ، وأدخل اسمًا مناسبًا ، وقم بتعيين عنوان IP للواجهة وانسخ النتيجة إلى ذاكرة طويلة المدى:



سأجهز السمك حتى لا أقضي الكثير من الوقت عليه. سيتم استدعاء المحول الأول switch1 ، وعنوان IP هو 101. أنسخ هذا التكوين إلى المفتاح:



انقر نقرًا مزدوجًا فوق المفتاح المطلوب (الآن - switch1):





إعداد switch1. الآن - تكوين المحول الثاني: يسمى switch2 ، IP - 102:





وفقًا لذلك ، نتصرف مع المحول الثالث.

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



GNS3 نظام جيد. أنا أركز على هذا لأن هناك مشاكل كافية معها: إنها عربات التي تجرها الدواب قليلاً ، قليلاً ... ولكن من أجل التعلم ، يكفي. هذا التوقف يثير القلق بالنسبة لي - آمل أن ينجح كل شيء ، وأن يجيب مفتاح التبديل بعد مرور بعض الوقت: ولكن



لا ، لن يجيب ، مهما انتظرت! التواصل ليس كافيًا بين جهاز الكمبيوتر الخاص بنا و GNS. GNS نفسها ، لذلك هناك عنصر آخر مفقود:



ربط السحابة


لكي تصبح هذه المفاتيح متاحة ، يجب عليك استخدام الكائن السحابي:



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



تبدو مخيفة ، ولكن هذه هي نفس بطاقة الشبكة:





أضع Cloud. تحتاج الآن إلى توصيل أحد المفاتيح بالسحابة (عندها فقط قد يظهر اتصال):



أظن أنه في حالتنا يكون إعادة تشغيل المفتاح أسرع حتى يتم تشغيل كل شيء. الشيء الوحيد الذي أريد التأكد من حفظ تكوينه. بالمناسبة ، يجب أن تبدأ مفاتيح ping بالفعل:



Real Cisco! تختفي الحزمة الأولى ، كل شيء آخر موجود:



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





إذا كان كل شيء على ما يرام ، فيجب أن نرى الاتصال عبر السحابة - سيتم توصيل Windows 7 الخاص بي بهذا الجهاز من خلال بطاقة شبكة (الجهاز لديه عناوين IP على نفس الشبكة مثل Windows) . بشكل عام ، هذه هي نقطة اتصال GNS و Windows. دعنا



نتحقق من وجود اتصال: دعنا نرى كيف يشعر ... من هنا يستجيب: اللعنة



! كما ترى ، لقد ظهر الاتصال:



أنا أحب GNS لأنه مجاني ، إنه يعمل ... ولكن ليس كل شيء بسيطًا! إليكم موقفًا مضحكًا: يستجيب Linux لنظام Windows ، ويستجيب رمز التبديل لنظام Windows ، لكن المفتاح لا يستجيب لنظام Linux:



حتى يتمكن المعلم من التحول إلى اللون الرمادي! أنت تدرس درسًا ، لكن المنصة لا تصلح للناس ... حسنًا ، لا شيء ، سنقنع! مجاني ورخيص ومبهج.

لقد أظهرت التجربة: من أجل أن يكون الاتصال بين جميع العناصر الثلاثة (من Windows - إلى Linux ، من Linux - إلى GNS) ، تحتاج إلى الانتقال إلى إعدادات بطاقة الشبكة وتحديد الخيار الغريب - "الوضع غير مسموع" ("السماح للجميع"):





تعال إلى المحاكاة الافتراضية! هذا الوضع العشوائي موجود في جميع القرارات (وفي "المجال" أيضًا). وهي مرتبطة بمرور حزم Ethernet وعناوين mac وما إلى ذلك. تعال إلى دورة عن المحاكاة الافتراضية ، التفاصيل موجودة.

نبدأ نظامنا مرة أخرى على أمل استعادة الاتصال:



الآن فقط سيكون من الممكن تكوين مراقبة مفاتيحنا من Zabbix. دعنا نرى كيف يحدث هذا:



تم وضع الأساس. إذا كان لدينا اتصال الآن ، فسيكون كل شيء جاهزًا. في "Zabbix" الكثير من "Tsiska" ، مرتبطون بذكاء بعضهم البعض - يمكنك البدء في المراقبة. نقوم بالاتصال بالمستخدم الجذر باستخدام كلمة مرور والتحقق من الأمر ping:





كل شيء جاهز:



بصفتي مسؤول DNS المحلي ، فقد جعلت من الممكن أيضًا الإرسال بواسطة أسماء ping.

كيف يمكن لـ Zabbix مراقبة معدات Cisco؟


لا يمكن تثبيت Agent على أجهزة Cisco. يعرف الكثير منكم أن معدات Cisco يتم مراقبتها بشكل مثالي باستخدام SNMP. الآن سنمهد الطريق لهذا.

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



لا يتضمن Zabbix هذا الدعم ، ويستخدم مكتبات خارجية مضمنة في هذه الحزم:



لن أخبرك ما هي قاعدة معلومات الإدارة - يأتون إلى دورات حول تفاعل Lunux و Cisco ، هناك وصف تفصيلي. والآن نضع فقط الحزم اللازمة للمراقبة على لينكس:





ونضع عناصر التكوين على Cisco لدينا والتي ستتيح لنا مراقبتها بدورها.



هنا ، يبدأ خادم SNMP بكلمة المرور التالية:



ونحن نقوم بذلك على جميع مفاتيحنا الثلاثة:



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



يمكنك استطلاع مفاتيح التبديل لدينا باستخدام ما يسمى OIDs (معرفات الكائنات). هنا نستجوب المفتاح (نطلب قيم معلمة switch1):



ونرى أن هذا Oid يشير إلى اسم المفتاح ، أي أنه يمكننا سحب اسمه من كل مفتاح تحويل (وهو مفيد جدًا للطبولوجيا):



ويمكنك استخدام المزيد من البشر ، نصية - نطلب sysName من المحول (يمكن طلب نفس الشيء من switch2 ، وما إلى ذلك):



قم بتثبيت وحدة تحكم SNMP


إجراء آخر غير واضح:







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

وفقًا لذلك ، يجب إعادة تشغيل خادم Zabbix لأننا قمنا بتثبيت المكتبات التي سيتم استخدامها من قبله:





يعرف العديد من الأشخاص أنه يكفي الآن الدخول إلى قسم المضيف وإنشاء مضيف وتحديد بروتوكول SNMP. حدد عنوان IP:





لكننا لسنا هنا من أجل ذلك. دعونا نحاول جعل Zabbix يعثر تلقائيًا على جميع مفاتيحنا. لدينا ثلاثة منهم ، وفي بومانكا يوجد أكثر من مائة منهم (120 على ما يبدو). لن يكون من الممتع جدًا إضافة 100 مفتاح ، لذا فهي مكافأة: سنرى كيف يجد Zabbix مفاتيحنا.

إضافة الأجهزة تلقائيًا إلى Zabbix


صفحة "إضافة الأجهزة تلقائيًا إلى Zabbix":



للقيام بذلك ، سننتقل إلى قسم "التكوين" (قسم الاكتشاف الفرعي) ولن ننشئ قاعدة جديدة هناك ، ولكننا سنستخدم القاعدة الحالية:

  • هذا يقول بشكل صحيح أنك بحاجة إلى مسح هذه الشبكة ... هل تعرف شبكتنا؟ حتى لا ننتظر طويلاً ، سأشير إلى نطاق محدود من 100-110 (يكفي بالنسبة لي).
  • المسح مرة واحدة في الساعة كثيرًا ؛ وضع - كل 60 ثانية.
  • على الأجهزة الممسوحة ضوئيًا ، يبحث Zabbix الآن عن وكيل Zabbix. لقد وعدت أنك لن يكون لدي أي وكلاء ، لذلك أحذفه.
  • وأقول أنه في الواقع ، يمكن الوصول إلى أجهزتنا عبر SNMPv2 ، المجتمع - العام ؛ طلبنا هذا OID:
  • , . , . ( ):

الآن كل دقيقة تعمل Zabbix من خلال عناوين IP هذه وتطلب اسم الجهاز عبر SNMP. إذا كان هناك جهاز ويدعم بروتوكول SNMP ، فسوف يجيب:



هذا لا يكفي لتظهر أجهزتنا في هذه القائمة:



تحتاج إلى تكوين الإجراءات. سننشئ واحدة جديدة (سأقوم بتسميتها ، نسخ من دليل التدريب):





الشرط: يجب أن يعرض الطلب معلومات تفيد بأن هذا مفتاح تحويل. من خلال المصادفة المحظوظة ، لدينا جميع المفاتيح التي تسمى switch (switch1 ، switch2 ، switch3) ، لذا يجب أن تبدو القيمة المستلمة (مثل) عند التبديل:



كل هذا موجود في دليل التدريب. يبقى الإشارة إلى ما يجب فعله به - "العمليات":



بادئ ذي بدء ، تحتاج إلى إضافته إلى مجموعة ما. سأستخدم مجموعة Hosts Discovered الجاهزة:





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















إذا تم عمل كل شيء بشكل صحيح ، فبعد مرور بعض الوقت ستظهر 3 مفاتيح بأعجوبة في Zabbix. ننتظر. سوف تظهر في قسم Hosts. هناك اتصال (محدد فقط في حالة):



ظهر:



إذا كان لدينا 100 مفاتيح ، فستظهر 100 مفاتيح. الآن يمكننا أن نتحدث عن الموضوع الرئيسي - البناء التلقائي لطوبولوجيا الشبكة.

إنشاء خريطة شبكة


في "Zabbix" في قسم "المراقبة" - القسم الفرعي "خرائط الشبكة". يمكنك إنشاء خريطتك الخاصة بأي اسم عشوائي (سأسميها ، كما هو الحال في الأدلة - خريطة المفاتيح):







يمكنك إضافة أجهزة إلى هذه الخريطة:



لدينا عملية مملة إلى حد ما لإضافة مائة مفتاح تحويل كاملة هنا: أضيف



عنصرًا جديدًا وأخبر النظام أنه في الواقع المضيف الذي تراقبه ؛ المضيف المضيف 1:





غالبًا ما يسأل الناس عما إذا كان يمكن إجراء هذه العملية تلقائيًا. الجواب: "إنه ممكن!". ولكن بعد ذلك نحتاج إلى حل المشكلة الرائعة: "كيف نفهم أين نضع أي مفاتيح؟" هذه هي الهندسة. حل محتمل: يمكنك تحديد علامة تحديد الموقع الجغرافي في المفتاح (معلمة مثل "أنت تقف في الطابق السادس ، مبنى AZLK ، القاعة 666) ، ترسم مبنى المختبر التعليمي ، كل جمهوره ... بشكل عام ، هذا طالب جيد للطالب الرابع دورة الحوسبة. ليس لدينا خطط لهذا!

سأضيف الآن جميع المفاتيح الثلاثة يدويًا ، لكنني أعدكم بأنني لن أرسم خطوط اتصال بينهما. أضفت المفتاح 101 ، نضيفه تلقائيًا إلى Zabbix - إذا قمت برسمه في الخريطة باستخدام الأقلام. لحظة غير سارة ، ولكن هناك مكان يجب أن تكون فيه. لا يوجد حل بسيط لهذه المشكلة ، لمدة 45 دقيقة بالتأكيد. وما نحصل عليه سيبدو مثيرًا للاهتمام بالنسبة لي.

أضفت بسرعة 3 مفاتيح:



قلت إنني لن أقوم بإضافة خطوط؟ سأفعل ، ولكن فقط حتى نتمكن لاحقًا من فهم كيفية رسمها. سأقوم بتوصيل هذين المفتاحين (لا



نربط الأول بالثالث): سأقوم بتوصيلهما (تم تمييز المفتاحين 1 و switch3):



سيتعين على نظامنا إصلاح هذه المسألة: من



المهم ألا ننسى حفظ النتيجة:





بالمناسبة ، حول GNS - يمكنك القيام بذلك بشكل جميل ... إخفاء اسم المضيف الخاص به ، وجعله مفتاحًا ووضعه تحت الآخر ، مما يجعل سحابة من المفاتيح:











كيف نبني طبولوجيا؟ تكوين الإنشاء التلقائي وتحديث خطوط الاتصال


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





بديل لـ cdp هو lldp (لدينا جزء مفاتيح شركة "مخيفة" نورتل - هناك lldp). كما ترى ، هناك



مفتاحان للتحويل: يجب على خادم Zabbix سحب هذه المعلومات بطريقة ما (أراها على Cisco نفسها). هناك عدة طرق. واحد من الأسرع ، ولكن الأكثر غباءً هو استخدام بروتوكول RSH. بروتوكول مكثف للغاية ، وأنا أعلم عنه فقط بسبب عمري:





لا يعرف الأشخاص العاديون لـ RSH ، ولكن يمكنك استخدامه بسرعة للقيام بشيء عن بُعد مع Cisco. أو ، إذا كنا نتحدث عن نوع من شبكة الإدارة حيث لا يوجد غريب ، فيمكنك استخدامها في الإنتاج. ومع ذلك ، لا تزال نقاط الأمان خطًا كاملاً!

لذا ، قمت بتكوين دعم للوصول إلى بروتوكول RSH إلى خوادم Cisco من عنوان IP هذا:



يمكنني الآن تثبيت عميل RSH على الخادم ...





... وإثبات مدى سهولة اتباع الإرشادات التي اتبعناها للتو من خلال الاتصال مباشرة بمعدات Cisco من محطة الإدارة - عند switch1 ، سأتبع التعليمات التالية:





وفقًا لذلك ، يجب أن تظهر على switch2:



اتصال من خادم المراقبة


بالإضافة إلى ذلك. يكتب لي المديرون: "فياتشيسلاف ، وصل طلب من المستمع. إنه يريد التعمق في Bash و Csh و Sed و Awk ". هذه أدوات يونكس كثيفة عرفها الناس في عام أشعث. الآن سيكون هناك القليل من Unix الكثيفة. سنقوم بتثبيت هذه الحزمة (نحتاج إلى تنسيق الإخراج بحيث يكون منظمًا بشكل أفضل):



وسيبدو الفريق بأكمله كما يلي:



لن أخبرك كيف يختلف رمز الإرجاع في Dos عن Unix. بعد ذلك ، سأقوم فقط بتصفية الخطوط التي تحتوي على المفتاح ، وحذف المسافات الإضافية وقطع الحقول الضرورية من خلال المسافات:





دعنا نرى النتيجة ، وسترى كيف تختلف عن السابقة. المزيد من Unix "السحري". معالجة تحويل المعلومات إلى هيكلية (على سبيل المثال ، switch2). بدلاً من هذه المعلومات غير المنظمة (الكثير من المساحات ، وبعض المفاتيح الغريبة):



يظهر الإخراج:



متصل Switch2 إلى switch3 من خلال واجهات Fas 0/6 (من switch2) و Fas 0/5 (من switch3). يتحول الجدول: نوع من التبديل الذي يتم من خلاله توصيل الواجهات.
بينما على هذا البروتوكول ترك RSH و CDP. الآن ، بعد أن تلقينا هذه المعلومات ، نرسم هذه الروابط على جميع المفاتيح. للقيام بذلك ، نحتاج إلى معلومات حول مفاتيح التبديل للاتصال بها. يمكنك الحصول على ملف نصي ، حيث تسرد جميع المفاتيح ... لكنها ليست رياضة!

نحتاج فقط إلى إضافة المفتاح ماديًا ، ويجب اكتشافه تلقائيًا بواسطة Zabbix. لدينا بالفعل قاعدة بيانات للمفاتيح في Zabbix. كيف يمكن للتطبيق الحصول على معلومات حول مفاتيح التحويل من Zabbix؟

واجهة برمجة تطبيقات Zabbix


تتم كتابة واجهة برمجة تطبيقات Zabbix باستخدام بروتوكول JSON "الرائع". انتهيت من البرمجة في تلك الأيام عندما لم يكن JSON بعد ، لذلك بالنسبة لي ، بالنسبة إلى المشرف ... في الوقت الحاضر ، لم يكن هناك مثل هذه القمامة! هذا ملف نصي لي - هذا طبيعي ، لكن JSON ... (
فقط أمزح ) JSON هو JSON!

JSON هو التنسيق المستخدم لتبادل البيانات مع خادم الويب ، وأداة cURL المساعدة هي واحدة من تلك الأدوات المفيدة التي تسمح لك بإرسال أي طلب إلى خادم الويب:





لن أتعمق في طلب POST وطلب GET و سأقول بإيجاز. في Zabbix ، الذي يعمل هنا:



يأتي هذا التطبيق في:



وهو جاهز لقبول مثل هذا الطلب بأقواس مجعدة "مخيفة" (هذا هو JSON):



يشير هذا الطلب إلى ما أريد القيام به مع Zabbix ، ويشار إلى المعلمات:



يعطي Zabbix إجابة. إليك مثال يقول: "Zabbix" ، من فضلك أعطني سلسلة مصادقة حتى أتمكن من إرسال طلبات أخرى إليك. " أؤكد بيانات الاعتماد الخاصة بي باستخدام تسجيل الدخول وكلمة المرور:



سيعيد طلب JSON الآن رد JSON لنا:



وفي رد JSON هذا سيكون هناك مثل هذا السطر:



هذا مصدق يمكن استخدامه للطلبات المتبقية.

العمل مع الكائنات المضيفة


نتذكر لماذا بدأنا دراسة JSON: نريد الحصول على قاعدة بيانات التبديل من Zabbix. الذي يتحول للاستجواب؟ دعنا نخرجه!

تعرف على: تتضمن واجهة برمجة تطبيقات Zabbix ، من بين أمور أخرى ، host.get: أسلوب



المضيف - هؤلاء هم مضيفونا. الحصول على عطاء. ثم أشير: أعطني معلومات المضيف!



في المعلمات أقول: إخراج كل ما تعرفه عن المضيفين:



ولكن يجب أن أرفق طلبي بهذا السطر:



دعنا نوضح. لتسهيل الأمر بالنسبة لي ، سأقوم



بنسخ هذا الطلب: وسأقوم بإدراج المصدق الذي أعادته Zabbix:



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



أعتقد أن كل شيء واضح. يمكنك حتى معرفة ما إذا كنت تأخذ عدسة مكبرة. هل تتعرف على رمز التبديل 1؟ في مكان ما يوجد مفتاح 2 ...



كسرت عيني لفترة طويلة ، ثم قررت قراءة كيفية العمل مع هذا JSON في سطر الأوامر. وكانت إحدى التوصيات: استخدام JSON Query. إنها بصحة جيدة للغاية ، تضيء الإجابة ، انظر:





أولاً ، كل شيء أصبح ملونًا - إنه جيد بالفعل ؛ ثانيًا ، رمز التبديل 2 ، رمز التبديل 1 مرئي بوضوح هنا:



علاوة على ذلك ، قليلاً من العبث مع JSON Query ، سنرى الكثير من الأشياء المثيرة للاهتمام. ولكي لا تنسخ هذه "التماسيح" من دفتر الملاحظات في كل مرة ، أقترح تحديد ما سنبرمج به العمل مع "Zabbix". هناك واجهة برمجة تطبيقات Zabbix - هذه JSON ، هناك مجموعة من لغات البرمجة. يبدو أن JSON يشير إلى نص Java ، ولكن في الواقع ، غالبًا ما تستخدم لغات أخرى للعمل مع Zabbix - على سبيل المثال ، Perl ، وهو نص Perl يقوم بشيء ما.

عمل الطلبات على شكل نصوص باش


لغة بيرل ليست لغة عصرية ، عفا عليها الزمن. إذا بدأت الحياة من جديد ، فربما أبدأ بتعلم Pyton. ومن المعروف بالتأكيد أنه تحت عنوان "Python" توجد مكتبة ملائمة للعمل مع "Zabbix". ولكن بما أننا اجتمعنا هنا ولن نفضل أي لغة ، فأنا أستخدم هذه اللغة:



لغة مسؤول النظام ، أي أنا - باش! لذلك ، سأقدم هذه الطلبات إلى Zabbix: سأصدرها



في شكل نصوص نصية:



النصوص جاهزة ، سأقوم بنسخها. يبدون مثل الجحيم. أعتقد أن كود Python الجيد سيكون أكثر قابلية للقراءة. ولكن بما أنني نفسي لا أعرف "Python" ولا أريد إعطاء أي تفضيل ، فسأكتب عما هو قريب من قلب مسؤول النظام:



لن أخبرك ما هي هذه الخطوط العكسية (وباركها الله). ولكن سيتم تأطير سلسلة المصادقة على شكل متغير نحتاج إلى تصديره من قبل:





ما القيمة التي كانت لها بالنسبة لنا؟ والآن ، بدلاً من نسخ الأسطر الطويلة ، يمكنني ببساطة تشغيل البرنامج النصي:



يُرجع النص النصي خطًا كاملاً. باستخدام JSON Query ، يمكنك الحصول على هذا الجميل:





تذكر المهمة: احصل على قاعدة بيانات المفاتيح الموجودة في Zabbix!

سأرسم النتيجة على الفور. لن أخبركم لفترة طويلة والدوار ما هو هنا وكيف. لدينا مهمة شاقة:



إليك هذه النتيجة ، انظر ما تحتوي عليه. تقول هنا أن لدينا مثل هذه المفاتيح في Zabbix ، وهذا (10105 ، 10106 ، 10107) هو معرف تبديل "Zabbiksk" الداخلي:



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





وسيعرض لنا عرض جدول أنيق. الآن سأظهر. أقوم بتشغيل البرنامج النصي ، ويعرض هذا الملف ويحفظه على الفور:



أداة tee المساعدة هي أداة جيدة تكتب النتيجة إلى ملف وتمرير النتيجة. لدينا الآن 3 مفاتيح ولدينا ملف نصي مدرج فيه جميع المفاتيح:



الآن يمكنك الاستعلام عن كل من هذه المفاتيح من خلال RSH ومعرفة من يرتبط بماذا.
لذا ، لدينا قاعدة بيانات التبديل. هدفنا النهائي هو الخرائط!

الحصول على قائمة الخرائط وعناصرها من Zabbix


كيف تعمل مع البطاقات؟ دعونا نتعلم كيفية قراءة المعلومات حول البطاقات من Zabbix. سوف أنسخ هذا النص البرمجي:





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



فقم بالكتابة ، وسأصححها : يتحول هذا النص البرمجي إلى Zabbix من خلال طلب map.get ويقول: "أخبرني عن الروابط وأخبرني عن العناصر التي ترتبط بها هذه الروابط ببعضها البعض."

الآن أقوم بتشغيل هذا البرنامج النصي:



وأظهر النتيجة:



تمامًا مثل المعلومات حول المضيفين ، من السهل جدًا الحصول على معلومات حول البطاقات من Zabbix. لكل بطاقة اسمها: فيما



يلي العناصر الموجودة في هذه البطاقة. هل تعرف الرقم؟ هذا هو العنصر الداخلي لـ Zabbix:



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



أي في Zabbix كل مضيف لديه رقم ، وعلى الخريطة يوجد رقم آخر - يتم الحصول على هذه السلسلة. أي أن مفتاح switch1 يسمى 10105 في Zabbix ، و 2 على الخريطة (يتم الحصول على مضاعفات طفيفة للمهمة).

نجمع كل شيء معًا من خلال CDP و RSH ، ونكتشف اتصال المفاتيح بواجهات


الجزء الأخير من هذا البرنامج النصي هو أنني يجب أن أحصل على معلومات تتعلق بمعرفات Zabbix التي ترتبط بمعرفات على الخريطة. انظر ، في "Zabbix" هنا هذا المعرف (10105 ، 10106 ، وما إلى ذلك) ، وعلى الخريطة - 2 ، 3 ، وما إلى ذلك:



تقليديا ، سأحفظ هذا في ملف نصي:



الآن لدينا كل شيء تقريبا. هناك معلومات عن مفاتيح التبديل في هذا الملف (أي المعرفات المستخدمة داخل Zabbix):



ولدينا معلومات تتعلق بالمعرف على البطاقة الذي يرتبط به معرف Zabbix (على سبيل المثال ، يحتوي المفتاح 1 على الرقم 10105 في Zabbix ، وعلى رقم البطاقة 10105 به المعرف 2):





هذا ليس خطأي! كتب الرجال هذا في Zabbix. لكني متأكد من وجود سبب لعدم استخدامهم معرفات مباشرة على الخريطة. ربما لأنه يمكن عرض نفس الكائن على الخريطة عدة مرات ، ويجب أن يكون له معرف فريد. لذلك ، السلسلة أطول.

وهنا ، ربما سأعلق على هذا القليل الجهنمي. تشغيله:



في الحلقة ، قرأت الخطوط التي تصف أي مفتاح تحويل به معرف Zabbix



:



أقوم بالاتصال بكل مفتاح تحويل من Zabbix عبر RSH: قرأت المضيفات التي يتصل بها. أعيد توجيه هذه النتيجة إلى دورة أخرى:



والتي بدورها تقرأ المعرّفات وتكتشف من الذي يرتبط به:



سأعرض نتائج هذا النص البرمجي (chmod + x):



على الخريطة ، يتم توصيل المفتاح الثاني بالثالث (تذكر أن المعرفات على الخريطة) من خلال الواجهات المقابلة (Fas 0/5 - للثاني ، Fas 0/6 - للثالث ↑). يجب علينا رسم هذه الأسماء على الروابط ، إنشاء.

إذا حتى هذه اللحظة قرأنا فقط معلومات من Zabbix (المضيفين ، تمت قراءة البطاقات ، وما إلى ذلك) ، فسنضطر الآن إلى كتابة المعلومات إلى Zabbix.

لنحفظ النتيجة:



رسم خطوط الاتصالات في الزبيكس


قررت كتابة نص بسيط سيغير شيئًا في Zabbix. بصراحة ، لقد درست API بهذه الطريقة - كان من المهم بالنسبة لي أن يعمل شيء بسيط:





لن يكون النص الأول مرتبطًا بالمهام - سيغير اسم الخريطة (لمعرفة كيفية القيام بذلك). إذا أردنا تغيير شيء ما في Zabbix ، فيجب علينا أيضًا التقدم من خلال طلب POST ووصفه في JSON ، ولكن باستخدام طريقة map.update. من بين المعلمات ، يجب أن نشير بشكل صريح إلى: MAPID ، التي ستعثر على الخريطة المطلوبة ، و MAPNAME ، والتي ستغير اسم الخريطة:



هذه هي مجموعة الحد الأدنى من المعلمات. هذه المعلمات نفسها:



مرر المتغيرات في وسيطات البرنامج النصي. أجعل البرنامج النصي قابل للتنفيذ (chmod + x): أقوم بتشغيله



، كما هو مكتوب في دليل التدريب. إذا كان كل شيء صحيحًا ، فيجب تسمية البطاقة Super MAP:



المراقبة - الخرائط - voila:



سهولة التغيير - Super MAP2:



كل شيء يعمل:



لكن مهمتنا معقدة - لتغيير خطوط الاتصال!



من الضروري إنشاء JSON ، الذي سيصف خريطتنا وجميع خطوط الاتصال. للقيام بذلك ، أقوم بعمل سيناريو آخر:





حقيقة أن لدي العديد من البرامج النصية لا يعني أنه يجب القيام بذلك في المؤسسة. في المؤسسة ، تحتاج إلى استخدام لغة عادية تعرفها ("Python" أو "Pearl" أو أي شيء آخر) ، وبرمجة ما هو موجود هنا باستخدام لغة عادية. هذه الطوب ، كل منها بسيط ، يجعل من الممكن فهم ماذا ولماذا وكيف نفعل ذلك.

برنامج نصي آخر يخدم أكثر لفهم ما يجب القيام به ، وليس لنسخ (لن أبيع المنتج النهائي لك هنا):





يقرأ هذا البرنامج النصي هذا الملف:



التي تحدد أي عنصر على الخريطة مع أي عنصر على الخريطة من خلال الواجهات التي يتصل بها. بتعبير أدق ، سنأخذ عنصرًا على الخريطة ، وعنصرًا على الخريطة وتسمية. هذا عنصر على الخريطة:



ويجب أن يكون هذا التوقيع:



أنا أقرأ هذا الملف. أفرز جميع العناصر على الخريطة: أنا



روابط البرنامج - وصف الروابط في شكل JASON. يبدو الطلب النهائي كما يلي: تحديث الخريطة (رقم البطاقة ↓):



سيتم وصف الروابط في هذا المتغير:



الذي تم تشكيله في هذه الدورة (تم تعداد جميع العناصر والتوقيعات على البطاقات):



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

لدي توقعات بأن كل شيء يجب أن يحدث الآن. تم إطلاق برنامج نصي: أعد



تحميل صفحة الخرائط:



حسنًا ، كيف؟ على الأقل يعمل! لنقم بإضافة مفتاح آخر وتشغيل البرنامج النصي مرة أخرى.

نأخذ المفتاح ، نسميه switch4:



نرسم أنه هو المفتاح:





التكوين : نربطه



كما نريد (مع علامة النجمة ، يمكنك رسم النقانق): نقوم بتكوين



المفتاح. أنا أبدأ:



كل ما فعلناه سابقًا (فقط قم بالتغيير إلى switch4 والعنوان هو 104):



انقر نقرًا مزدوجًا فوق المفتاح (الصق ما نسخته):



مرة أخرى ، سيكون من الأسرع إعادة تشغيل المفتاح الثالث (switch3) ، وحفظ التكوين:



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





الآن نحن في انتظار إتاحة المفتاح. 101 ، 102 متوفرة ، إعادة التشغيل



103:



رد 103: رد 104. تحقق مما إذا كان SNMP متاحًا عبر SNMP4:



متوفر! لدينا كل فرصة لرؤيتها في قائمة المضيفين. دعونا ننتظر دقيقة (كل دقيقة لدينا شبكة ممسوحة ضوئيًا):



بمجرد ظهورها ، نعود إلى البرنامج النصي الأول. قام بتفريغ معلومات منا والتي تتغير بشكل عام هي:



ركض رجال الكابلات ، وتمسكوا بمفتاح جديد ، رفعت الرابط وظهر تلقائيًا في Zabbix. وفقًا لذلك ، يجب أن نرى هنا ظهور المفتاح الرابع:



يتم تعبئة قاعدة بياناتنا تلقائيًا.

نقوم بإصلاح المواد (إضافة switch4) ، وتنفيذ البرنامج النصي النهائي


بعد ذلك ، لسوء الحظ ، عليك أن تهرب وتعرض مفتاحنا على الخريطة:



لم يقتصر الأمر على تشغيل الكابلات ، ولم تقم فقط بتكوين الرابط - ولكن لا يزال عليك الذهاب هنا وقول: "نحن نضيف مفتاحًا جديدًا".



حدد المكان الذي من المفترض أن تشير إليه ، وأشر إلى أن لدينا مضيفًا ، switch4 ، وارسم أيضًا أنه مفتاح تحويل: وقم بالتحديث (لم نرسم



خط اتصال حتى الآن!):



تذكر الآن أن البرامج النصية لخط الاتصال مبنية على أساس بروتوكول CDP. وللحصول على معلومات CDP من المحول ، تحتاج إلى تكوين وصول RSH إليه. تذكر ، قررت استخدام هذه الطريقة؟





إذا كان كل شيء على ما يرام ، فيمكنني أن أحاول ، ثم يمكنني تجربة RSH - طلب معلومات حول اتصاله من المفتاح الرابع. هنا يقول: "أنا متصل بالثالث ، من جانبي - العاشر ، من ناحية أخرى - الواجهة الثامنة".



أضافوها إلى البطاقة ، ولدينا جدول للمراسلات بين المعرّفات في Zabbix والمعرّفات في البطاقة (انظر ، إنها الخامسة على الخريطة):





رفعوا RSH. يمكننا الآن إنشاء اتصال: أي مفاتيح التبديل متصلة عبر الروابط (حصلنا على الملف النصي):





دعنا نحاول تشغيل البرنامج النصي النهائي ، الذي سيقرأ هذا الملف النصي ويولد طلب JASON لتحديث الخرائط ، وإعادة رسم جميع الروابط على الخريطة:







حسنًا ، كيف؟ محرج؟ لم أنجح في 45 دقيقة مخططة ، ولكن ما زلت سريعًا (حوالي 75 دقيقة) - ربما ، لن تعمل بشكل أسرع.

الكل! أنا سعيد جدًا - لقد نجح الأمر. دليل التدريب هنا: https://wiki.val.bmstu.ru . إذا لم تجدها ، فاكتب إلى البريد: val@bmstu.ru، val@specialist.ru - سأرسلها بكل سرور. ستظهر ندوة عبر الإنترنت على specialist.ru - سوف أتحقق من ذلك بالتأكيد.

والأهم من ذلك ، يا أصدقائي ، أن كل هذا لم يكن هباء ، ولكن لغرض ماكر هو إقناعك أنت أو زملائك بدورتنا التي تستغرق يومين ، والتي تدرك عددًا كبيرًا من المهام المتعلقة بـ Zabbix: الكشف والضبط على مستوى منخفض ... ليس في القمة ، كما هو الآن ، ولكن بالتفصيل ، مع المختبرات - ستفعل ذلك: حتى تفعل ذلك ، لن أخرجك.
يسعدني أن أراك ، زملائك! اكتب رسائل.

اراك قريبا!


القليل من الدعاية :)


أشكركم على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية لأصدقائك VPS القائم على السحابة للمطورين من $ 4.99 ، وهو نظير فريد من نوعه لخوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة عن VPS (KVM) E5-2697 v3 (6 نوى) 10GB DDR4 480GB SSD 1Gbps من $ 19 أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا و 40 جيجابايت DDR4).

Dell R730xd أرخص مرتين في مركز بيانات Equinix Tier IV في أمستردام؟ فقط لدينا 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV من 199 دولارًا في هولندا!Dell R420 - 2x E5-2430 2.2 جيجا هرتز 6C 128 جيجا بايت DDR3 2x960GB SSD 1Gbps 100TB - من 99 دولار! اقرأ عن كيفية بناء مبنى البنية التحتية الفئة c باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟

Source: https://habr.com/ru/post/undefined/


All Articles