پیش از نوشتن وظیفه Ansible، به پرسشی کوچک‌تر پاسخ دهید: چه چیزی شمرده می‌شود؟ همتای پیکربندی‌شده، یک نشست IKE، یک انجمن امنیتی IPsec و یک رکورد وضعیت تونل پایش‌شده چهار واحد متفاوت‌اند، و تولید مجدد کلید یا چند شبکه محافظت‌شده مجموعه‌های آن‌ها را از هم جدا می‌کند. اگر داشبورد و playbook با هم اختلاف داشته باشند، معمولاً چیزهای متفاوتی را می‌شمارند، نه این‌که یکی از آن‌ها اشتباه باشد.

چهار چیزی که مردم آن را فعال می‌نامند

همتای پیکربندی‌شده یک شیء توپولوژی است: وجود دارد چون کسی آن را تعریف کرده است. نشست IKE رابطه‌ای در سطح کنترل است که می‌تواند برقرار باشد بی‌آن‌که ترافیکی جریان یابد. SA در IPsec انجمن سطح داده برای یک جفت انتخابگر مشخص است و یک تونل می‌تواند چند تا را حمل کند. وضعیت تونل پایش‌شده داوری عملیاتی خود پلتفرم است که معمولاً نزدیک‌ترین چیز به آن چیزی است که اپراتور با «تونل بالاست» منظور می‌کند.

تن‌ها مورد آخر مبنای معقولی برای یک شمارش عملیاتی است. اولی فهرست پیکربندی است و گزارش آن به‌عنوان فعال همان روشی است که داشبورد برای همتایی که از سه‌شنبه پایین است سبز نشان می‌دهد. تصمیم بگیرید مصرف‌کننده عدد به کدام واحد نیاز دارد، سپس معیار را با همان واحد در نام خودش برچسب بزنید.

تصمیم یکم: کدام سطح مدیریت؟

اگر دستگاه را FDM مدیریت می‌کند، سطح مرتبط FTD REST API است. اگر FMC آن را مدیریت می‌کند، آن API جایگزین قابل‌تبادل نیست و اشیا پشت API خود 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

این شبه‌کد گردش کار است، نه playbook آزموده‌شده. نام‌های واقعی فیلد را از API نصب‌شده بگیرید، نه این‌که کلید JSON به نام active از خود بسازید.

قاعده مهم رفتار در شکست است: خطای مجوز، منبع پشتیبانی‌نشده، نمونه کهنه یا مجموعه صفحات ناقص باید unknown یا error تولید کند، هرگز صفر موفق نه. صفری که یعنی نتوانستم بپرسم گران‌ترین نوع اشتباه است.

در برابر دیدگاه خود پلتفرم اعتبارسنجی کنید

نتیجه اول را با نمای پایش VPN همان نسخه برای همان دستگاه و همان لحظه مقایسه کنید. وقتی تفاوت داشتند، پیش از تغییر playbook بفهمید هرکدام از کدام واحد استفاده می‌کند.

برای هر اجرا زمینه غیرمحرمانه نگه دارید: محدوده، برچسب زمان، واحد معیار و تعداد رکورد. مرجع اشیای FMC 7.3 API منبع مسیرهای منابع بالا است، و API Explorer روی استقرار خود شما منبع هر چیز دیگری است.

مقالات مرتبط