واچ‌داگ ما سرویس‌هایی را که عمداً متوقف کرده بودیم، دوباره راه‌اندازی کرد

عملیات

یکی از واچ‌داگ‌های ما هر سرویسی را که فعال است اما در حال اجرا نیست، راه‌اندازی می‌کند. دو بار در ماه اکتبر، سرویس‌هایی را که عمداً متوقف کرده بودیم، راه‌اندازی کرد. بار دوم، بازدیدکنندگان یکی از سایت‌های ما حدود 45 دقیقه با خطا مواجه شدند.

چرا آن واچ‌داگ وجود دارد

سرویسی که با دریافت سیگنال SIGTERM به‌صورت تمیز خارج می‌شود، برای مثال چون چیزی آن را با نامش از بین برده است، از نظر systemd «ناموفق» محسوب نمی‌شود. Restart=on-failure آن را برنمی‌گرداند و systemctl --failed آن را فهرست نمی‌کند. این سرویس تا زمانی که کسی تصادفاً متوجه شود، پایین می‌ماند. بنابراین واچ‌داگ به دنبال سرویس‌هایی می‌گردد که فعال هستند اما در حال اجرا نیستند و آن‌ها را راه‌اندازی می‌کند.

مشکل این است که سرویسی که دستی متوقف کرده‌اید، دقیقاً همان ظاهر را دارد.

بار اول

در 7 اکتبر، یک پردازشگر ویدیو را با systemctl stop در ساعت 12:47 برای ویرایش صف کارهایش متوقف کردیم. در ساعت 12:55 دوباره در حال اجرا بود: واچ‌داگ آن را راه‌اندازی کرده بود.

بار دوم

در 21 اکتبر، برای یک تست مدل به حافظه ماشین نیاز داشتیم که دو مورد از سایت‌های ما را نیز سرو می‌کرد. یک اسکریپت، اپلیکیشن‌های وب سایت‌ها، یک کار همگام‌سازی و یک کانتینر پایگاه داده را، باز هم با systemctl stop متوقف کرد. حدود پنج دقیقه بعد، یک تایمر که سایت‌ها را زیر نظر دارد و در ساعت 19:14 واچ‌داگ، تونل و اپلیکیشن‌های وب را دوباره فعال کردند.

تونل دوباره ترافیک را پذیرفت، اما اپلیکیشن‌های وب نمی‌توانستند پاسخ دهند: مدل در حال تست، 114 گیگابایت از حافظه ماشین را در اختیار داشت. از حدود 19:14 تا 20:00، برخی از بازدیدکنندگان خطاهای 502 دریافت کردند. در ساعت 20:00، تونل، اپلیکیشن‌های وب و کار همگام‌سازی را غیرفعال کردیم و تایمر نظارت را متوقف کردیم.

قاعده‌ای که اکنون استفاده می‌کنیم

دو تله دیگر از systemd در همان ماه‌ها

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

به‌روزرسانی شد: