عدّ شبكات VPN النشطة لمواقع FTD: أي رقم تعني؟
النظراء المهيّأون وجلسات IKE وروابط الأمان والأنفاق المراقبة أربعة أعداد مختلفة. اختر الوحدة ومستوى الإدارة قبل كتابة الشيفرة.
قبل كتابة مهمة Ansible، أجب عن سؤال أصغر: ما الذي يُعدّ؟ النظير المهيّأ وجلسة IKE ورابط أمان IPsec وسجل حالة نفق مراقب أربع وحدات مختلفة، وإعادة توليد المفاتيح أو الشبكات المحمية المتعددة تجعل مجاميعها تتباعد. وإذا اختلفت لوحة المعلومات مع دليل التشغيل، فغالبًا ما يكونان يعدّان أشياء مختلفة لا أن أحدهما مخطئ.
أربعة أشياء يسميها الناس نشطة
النظير المهيّأ كائن طوبولوجي: يوجد لأن شخصًا عرّفه. جلسة IKE علاقة في مستوى التحكم يمكن أن تكون قائمة دون أن يمر أي حركة. رابط SA في IPsec هو اقتران مستوى البيانات لزوج محدّدات معيّن، ويمكن لنفق واحد أن يحمل عدة روابط. وحالة النفق المراقب هي حكم المنصة التشغيلي نفسه، وهو عادة أقرب شيء إلى ما يعنيه المشغّل بقوله إن النفق قائم.
الوحدة الأخيرة وحدها أساس معقول لعدّ تشغيلي. الأولى جرد إعدادات، والإبلاغ عنها كنشطة هو كيف تُظهر لوحة المعلومات اللون الأخضر لنظير متوقف منذ الثلاثاء. حدّد الوحدة التي يحتاجها مستهلك الرقم، ثم سمِّ المقياس بتلك الوحدة في اسمه.
القرار الأول: أي مستوى إدارة؟
إذا كان الجهاز يديره FDM، فإن FTD REST API هو السطح المعني. وإذا كان يديره FMC، فإن تلك الواجهة ليست بديلًا قابلًا للتبادل، والكائنات تقع خلف واجهة FMC الخاصة. تأكد من ذلك قبل كتابة طلب واحد، لأن المستوى الخاطئ يعيد خطأً معقولًا يبدو كمشكلة أذونات.
بالنسبة إلى أسطول، يحدد الجواب أيضًا أين ينتمي العدّ: لكل جهاز عبر FDM، أو لكل نطاق عبر FMC. هذه نطاقات مختلفة وتنتج أرقامًا مختلفة للأسطول نفسه.
القرار الثاني: أي مورد يجيب؟
لمثال مقيّد بإصدار، توثّق مرجع كائنات FMC 7.3 API موارد GET تحت مسار health:
/api/fmc_config/v1/domain/{domainUUID}/health/tunnelstatuses
/api/fmc_config/v1/domain/{domainUUID}/health/tunnelsummariesيدعم مورد حالة النفق مرشّحات الجهاز والحالة، بما فيها TUNNEL_UP. يمنحك ذلك موردًا تشغيليًا حقيقيًا لفحصه في ذلك الإصدار بدلًا من تخمين اسم حقل.
تأكد من التوفر والأذونات ومعاملات الطلب ومخطط الاستجابة في API Explorer الخاص بـ FMC المنشور قبل تنفيذ أي محلّل. توثيق إصدار واحد نقطة بداية، وليس عقدًا للإصدار الذي تشغّله.
اكتب عقد العدّ
اذكر المقياس في جملة واحدة: سجلات أنفاق تشغيلية فريدة لجهاز ونطاق مقصودين حالتهما المعلنة TUNNEL_UP. ثم وثّق كيف تُمثَّل الأجهزة الاحتياطية والسجلات المتعددة لموقع منطقي واحد، لأن هاتين الحالتين تحدّدان ما إذا كان رقمك يطابق الرقم المذكور في الاجتماع.
لا تغيّر الوحدة بصمت من سجل نفق إلى موقع بعيد. إذا أرادت الأعمال مواقع، اربط السجلات بالمواقع صراحةً وانشر هذا الربط. العدّ الذي يعيد تعريف نفسه بهدوء أسوأ من غياب العدّ، لأن لا أحد يستطيع معرفة متى تغيّر.
تعامل مع مورد الملخص كتسهيل فقط بعد التأكد مما يلخّصه. قد يجمّع بالضبط ما تحتاجه، أو قد يجيب عن سؤال مختلف قليلًا. اقرأ مخططه مرة، واكتب الفرق، واستخدم مورد الحالة إذا تعذّر تفسير الملخص. الملخص الذي لا تفهمه رقم لا تستطيع الدفاع عنه في مراجعة.
اجعل سير العمل يحفظ عدم اليقين
استخدم واجهة HTTPS API المعتمدة، وتحقق من الشهادة، وأبقِ الرموز خارج مخرجات المهمة، واجلب النطاق بالمرشّح والترقيم المدعومين في الإصدار. ثم تحقق من المخطط قبل حساب أي شيء.
fetch intended domain/device runtime records
validate response, completeness and freshness
deduplicate by the documented tunnel identity
count records matching the approved up-state definition
report count with scope, timestamp and metric unitهذا pseudocode لسير العمل، وليس دليل تشغيل مختبرًا. خذ أسماء الحقول الفعلية من الواجهة المثبتة بدلًا من اختراع مفتاح JSON باسم active.
القاعدة المهمة هي سلوك الفشل: خطأ تفويض أو مورد غير مدعوم أو عينة قديمة أو مجموعة صفحات ناقصة يجب أن تنتج unknown أو error، لا صفرًا ناجحًا أبدًا. الصفر الذي يعني أنني لم أستطع السؤال هو أغلى أنواع الخطأ.
تحقق مقابل رؤية المنصة نفسها
قارن النتيجة الأولى بعرض مراقبة VPN في الإصدار للجهاز واللحظة نفسيهما. وعندما يختلفان، اكتشف الوحدة التي يستخدمها كل منهما قبل تغيير دليل التشغيل.
احتفظ بسياق غير سري لكل تشغيل: النطاق والطابع الزمني ووحدة المقياس وعدد السجلات. إنّ مرجع كائنات FMC 7.3 API هو المصدر لمسارات الموارد أعلاه، وAPI Explorer على نشرك هو المصدر لكل شيء آخر.