Zabbix - ذكية ومرنة وقابلة للتخصيص - يمكنها أن تفعل كل شيء. أو كل شيء تقريبا. سيكون من الغريب إذا لم يستطع تكوين صداقات عبر الاتصال الهاتفي السحابي ، خاصة عندما يكون لدى الأخير واجهة HTTP API مريحة - استخدم صحتك. سنشرح اليوم كيفية تكوين Zabbix لمكالمات الإشعارات عبر Voximplant ، والتي يمكن أن تكون مفيدة للغاية في حالة الطوارئ ("لا يوجد وقت للتوضيح ، تحتاج إلى الاتصال - خادم المعركة سقط للتو").
بناءً على الإطار من فيلم "المصفوفة" (المصفوفة (1999) ، وورنر بروس)ملاحظة: يفترض البرنامج التعليمي أن لديك بالفعل Zabbix يعمل وتكوين الواجهة الأمامية Zabbix. لا يعتبر التثبيت الأولي لـ Zabbix هو الغرض من هذه المقالة ، حيث يمكن للفضول / في حاجة إلى مثل هذا الدليل الاطلاع على الوثائق الرسمية و / أو google.
ما سوف نعمل مع
يستخدم مثالنا VDS مع CentOS 7 ، حيث تم تثبيت Zabbix 4.2.6 (أحدث إصدار ثابت وقت كتابة هذا التقرير). سنراقب نفس الخادم حيث يعمل Zabbix. يحتاج Voximplant إلى حساب على النظام الأساسي ونص معالجة المكالمات لـ JS. والآن أكثر من ذلك بقليل.
ماذا سنفعل
لا علم للصواريخ ، لنقم بمراقبة بسيطة للغاية تستجيب لظهور الملف
/ tmp / habrTriggerFile : عند ظهور هذا الملف ، سيتصل Zabbix بـ Voximplant عبر HTTP API ، سيعمل نص برمجي سيتصل برقم الهاتف المحدد ، مثل "الاهتمام". تم إنشاء ملف على الخادم. " وشنق. إذا قمت بحذف / إعادة تسمية الملف ، ثم إعادته ، فستتصل مرة أخرى. إذا لم تفعل شيئًا ، فسيكون هناك مكالمة واحدة فقط.
Voximplant
تسجيل الدخول إلى حسابك (أو
التسجيل ) وإنشاء
تطبيق habr . داخل التطبيق ، انتقل إلى علامة تبويب "سيناريوهات" وقم بإنشاء برنامج نصي
للإشعار باستخدام هذا الرمز:
VoxEngine.addEventListener(AppEvents.Started, () => { const call = VoxEngine.callPSTN(" ", " ") call.addEventListener(CallEvents.PlaybackFinished, () => { VoxEngine.terminate() }) call.addEventListener(CallEvents.Connected, () => { setTimeout( () => call.say(". .", Language.RU_RUSSIAN_FEMALE), 1000 ) }) })
يمكنك تشغيل هذا البرنامج النصي مع طلب HTTP (والاستغناء عن شراء رقم هاتف). لا تنس استبدال أرقام
الهواتف في
callPSTN : الأول هو الذي
ستتصل به المنصة ، والثاني هو المتصل ، والذي سيتم عرضه على المشترك
المتصل ؛ يمكن أن يكون إما رقمك الشخصي الذي تم التحقق منه على المنصة ، أو رقمًا تم شراؤه مسبقًا من Voximplant (لاحظ ، لا يمكن استخدام الأرقام الافتراضية). يستدعي البرنامج النصي الرقم ، بعد الاتصال فإنه يشير إلى أنه قد تم إنشاء ملف وتوقف الاتصال به.
احفظ البرنامج النصي وانتقل إلى علامة التبويب "التوجيه" لإنشاء قاعدة:
احفظ القاعدة و - لاحظ - انسخ هويتها.
بعد ذلك ، ستحتاج إلى مفاتيح واجهة برمجة التطبيقات ، ثم اصطحبها
في القسم المناسب من القائمة الرئيسية.
معرفة مفاتيح API ومعرف القاعدة ، يمكنك استبدالها في أسلوب
StartScenarios لواجهة برمجة التطبيقات HTTP الخاصة بنا ، سيبدو كما يلي:
https://api.voximplant.com/platform_api/StartScenarios/?account_id=1&api_key=4ed5695e-4690-448r-95e8-3f8f0001287c&rule_id=28
بعد ذلك بقليل ، نستخدم هذا الطلب عند إعداد المراقبة ، والتي يمكن أن تبدأ بالفعل.
Zabbix
أدخل الواجهة الأمامية لـ Zabbix كمستخدم (أو مسؤول) ، ثم في قسم التكوين - المضيفين ، انقر فوق إنشاء مضيف. في الاسم ، اكتب
localhost ، في مجموعات ، حدد
مجموعة اختبار وانقر فوق "إضافة" أدناه.
الآن في قائمة المضيفين ، سترى كلاً من خادم Zabbix الافتراضي والمضيف المحلي. من هنا سنواصل التكوين.
تعتمد مراقبة Zabbix على سلسلة من 3 كيانات: Item - Trigger - Action. جميع الروابط الثلاثة إلزامية ، لذلك تحتاج إلى إنشاء كل منها على التوالي.
بند
العنصر عبارة عن تراكم بيانات ، وبدون بيانات ، لن تتفاعل المراقبة مع أي شيء. لإنشاء عنصر ، في قائمة المضيفين ، انقر فوق عناصر على يمين اسم المضيف المحلي. يمكنك أيضًا النقر فوق اسم المضيف نفسه وعلى الشاشة التي تفتح ، انتقل إلى علامة تبويب "العناصر" - والجوهر هو نفسه. بمجرد الدخول إلى علامة تبويب "العناصر" ، انقر فوق "إنشاء عنصر" في الزاوية العلوية اليمنى. أدخل اسم
العنصر -
habr ، ثم انقر فوق "إضافة" بجانب حقل المفتاح - قم بالتمرير لأسفل ، نحتاج إلى مفتاح قياسي
vfs.file.exists ، حدده وسيتم استبداله في حقل المفتاح. استبدل الملف بالمسار الحالي ، في حالتنا سيكون المفتاح
هكذا :
vfs.file.exists [/ tmp / habrTriggerFile] . في مجال تحديث الفاصل الزمني ، عيّن 5 ثوانٍ بحيث تستجيب المراقبة بشكل أسرع عندما ننشئ الملف على المضيف. في أسفل الصفحة ، انقر فوق إضافة ، وانظر على الفور العنصر الجديد.
الزناد
يقوم المشغلون بتقييم البيانات التي تم جمعها وعندما يصلون إلى الحد المحدد ، يتفاعلون - يبدأون الإجراء. على الشاشة مع إنشاء العنصر ، انتقل إلى علامة التبويب المشغلات:
انقر فوق "إنشاء مشغل" ،
وقم بتسميته habr trigger . يتم جمع قيمة حقل التعبير بسهولة باستخدام المنشئ - الزر "إضافة". اضبط الإعدادات كما في لقطة الشاشة وانقر فوق إدراج:
انقر فوق "إضافة" في أسفل الصفحة - تم الانتهاء ، ويتم إنشاء المشغل.
عمل
الإجراء هو الإجراء الذي يطلق المشغل المحفز. افتح علامة التبويب التكوين - الإجراءات ، انقر فوق إنشاء إجراء. الاسم فجأة -
هابر العمل . أدناه ، في مجموعة الشروط الجديدة ، اترك كل شيء افتراضيًا وأضف
habr ، ونتيجة لذلك ، سيتم الحصول
على اسم المشغل ، وسيتم الحصول على شرط
habr . انقر فوق إضافة لإضافة شرط - سيظهر على الفور في مجموعة "الشروط" ، راجع لقطة الشاشة:
هنا ، انتقل إلى علامة التبويب "العمليات" ، ثم في "كتلة العمليات" ، انقر فوق جديد لإضافة إجراء. في نوع العملية ، حدد الأمر البعيد ، وسوف تظهر كتلة قائمة الهدف وحقل إدخال الأوامر. في كتلة قائمة الهدف ، انقر فوق جديد ، وسيتم تقديم الهدف الافتراضي - المضيف الحالي ، وستحتاج إليه - انقر فوق إضافة وسيظهر الهدف في القائمة. في حقل الإدخال ، أدخل curl + طلب تم إنشاؤه مسبقًا إلى Voximplant:
curl "https://api.voximplant.com/platform_api/StartScenarios/?account_id=1&api_key=4ed5695e-4690-448r-95e8-3f8f0001287c&rule_id=28"
ثم أضف هذا الإجراء (إضافة كارتباط) ، ثم انقر فوق الزر "إضافة" لإكمال إنشاء الإجراء.
نقطة مهمة: اخترنا نوع إجراء الأمر البعيد ، والذي يتم إيقاف تشغيله افتراضيًا في تهيئة وكيل Zabbix. لإصلاح ذلك ، على المضيف ، افتح التكوين ووضع قيمة 1 لـ EnableRemoteCommands:
vi /etc/zabbix/zabbix_agentd.conf // EnableRemoteCommands = 1
بعد ذلك ، أعد تشغيل خدمة الوكيل:
service zabbix-agent restart
نبدأ سلسلة من الإجراءات
في لوحة Zabbix ، انتقل إلى قسم Monitoring - Problems. قريبا سنرى تحذيرا هنا من أن الزناد عملت.
على المضيف ، قم بإنشاء ملف:
touch /tmp/habrTriggerFile
بعد 5 ثوانٍ في لوحة المشاكل ، سنرى رسالة جديدة ؛ سوف تومض PROBLEM في عمود الحالة ، وإذا نقرت على الرمز في عمود الإجراءات ، فسترى تفاصيل الإجراء (لقطة الشاشة قابلة للنقر):
على طول الطريق ، سيتم إجراء مكالمة على رقم الهاتف الذي حددناه في البرنامج النصي Voximplant.
بناءً على الإطار من فيلم "المصفوفة" (المصفوفة (1999) ، وورنر بروس)إذا قمت بإعادة تسمية الملف ،
mv /tmp/habrTriggerFile /tmp/habrTriggerFile_
ثم بعد 5 ثوانٍ ، سيتم حل حالة المشكلة.
القيام به! أنت رائع لأنك قمت بإعداد سلسلة التفاعل - Zabbix - Voximplant ، وبموجب نفس المبدأ ، يمكنك إعداد منطق معقد تعسفيًا لمكالمات الإخطار.