مشاغل کرون بی سر و صدا شکست می خورند. یک اسکریپت پشتیبان پس از جابجایی سرور متوقف میشود، چرخش رمز عبور واردات شبانه را به هم میزند، یا دیسک کامل باعث میشود کار فاکتور در ساعت 3 صبح خراب شود. نظارت بر ضربان قلب این شکاف را از بین می برد. این راهنما نحوه کارکرد و راه اندازی رایگان آن را در چند دقیقه نشان می دهد.
پایش ضربان قلب چیست؟
یک مانیتور معمولی تایم وب سایت شما را از بیرون بررسی می کند. مانیتور ضربان قلب برعکس عمل می کند: کار برنامه ریزی شده شما بررسی می شود. شما یک URL منحصر به فرد دریافت می کنید، و هر بار که کار شما تمام می شود، آن را فراخوانی می کند. اگر تماس به موقع نرسد، مانیتور میداند مشکلی پیش آمده و به شما هشدار میدهد.
این هر نوع شکست خاموش را به یکباره می گیرد:
- کار هیچ وقت شروع نشد ورودی
crontabگم شد، سرور بدون زمانبندی راهاندازی مجدد شد، یا ظرف جایگزین شد. - کار از کار افتاد خطایی اسکریپت را قبل از رسیدن به پایان متوقف کرد.
- کار معطل است. شروع شد اما روی یک پایگاه داده قفل شده یا یک API کند گیر کرده و هرگز تمام نمی شود.
- کل سرور از بین رفته است. بدون سرور، بدون پینگ، بنابراین شما در مورد آن می شنوید، حتی اگر هیچ چیز دیگری تماشا نمی کند.
کدام وظایف برنامه ریزی شده را باید نظارت کنید؟
با مشاغلی شروع کنید که بیشترین هزینه را برای شما دارند، زمانی که بدون اینکه کسی متوجه شود متوقف می شوند:
- پشتیبان گیری از پایگاه داده ها و فایل ها. پشتیبانگیری که هرگز تأیید نمیکنید، پشتیبانگیری است که ممکن است نداشته باشید.
- اسکریپت های صورتحساب و صورتحساب ، تمدید اشتراک و تطبیق پرداخت.
- داده ها بین فروشگاه شما، CRM، انبار شما یا فید تامین کننده وارد و همگام می شود.
- صف های ایمیل و خبرنامه هایی که توسط یک کارگر برنامه ریزی شده ارسال می شوند.
- کارهای تمدید گواهی مانند تمدید خودکار SSL و کارهای پاکسازی که از پر شدن دیسک جلوگیری می کند.
- cron وردپرس یا برنامه کاربردی که پست های زمان بندی شده را منتشر می کند و وظایف تعمیر و نگهداری را اجرا می کند.
این طرح رایگان شامل 5 مانیتور ضربان قلب است که برای پوشش مشاغل حیاتی یک تجارت کوچک معمولی یا تعداد انگشت شماری از سایت های مشتری کافی است.
نحوه راه اندازی نظارت رایگان cron job
1. یک حساب کاربری رایگان ایجاد کنید
با آدرس ایمیل خود در My Site Alerts ثبت نام کنید. کارت اعتباری و دوره آزمایشی وجود ندارد.
2. ضربان قلب ایجاد کنید
Heartbeats را در داشبورد خود باز کنید و Create heartbeat را انتخاب کنید. یک نام واضح به آن بدهید، مانند پشتیبانگیری از پایگاه داده Nightly، بنابراین یک هشدار دقیقاً به شما میگوید چه چیزی شکست خورده است.
3. برنامه مورد انتظار و یک دوره مهلت را تنظیم کنید
در انتظار ضربان قلب در هر، تعداد دفعات اجرای کار را وارد کنید: هر 15 دقیقه، هر ساعت، یک بار در روز. سپس دوره Grace را روی مدت زمانی که کار طول می کشد، به اضافه یک حاشیه ایمنی تنظیم کنید. پشتیبانگیری که در ساعت 2:00 اجرا میشود و معمولاً 20 دقیقه طول میکشد، به مهلتی در حدود 30 تا 40 دقیقه نیاز دارد، بنابراین یک شب آهسته زنگ هشدار کاذب را ایجاد نمیکند.
4. URL ضربان قلب خود را کپی کنید
هر ضربان قلب URL مخفی خود را دارد. شغل شما هر بار که اجرا می شود یک درخواست GET یا POST برای آن ارسال می کند. همچنین میتوانید URL را یک بار در مرورگر خود باز کنید تا آن را آزمایش کنید: ضربان قلب باید به بالا تغییر کند.
5. انتخاب کنید که هشدارها کجا می روند
ایمیل خارج از جعبه کار می کند. همچنین میتوانید به Slack ، Discord ، Telegram ، Microsoft Teams یا وبهوک خود هشدار ارسال کنید، بنابراین یک اجرا از دست رفته به جایی میرسد که در واقع به آن نگاه میکنید.
چگونه ضربان قلب را از شغل خود پینگ کنید
crontab لینوکس
درخواست را بعد از دستور خود اضافه کنید، که با && ملحق شده است، بنابراین پینگ فقط زمانی ارسال می شود که کار با موفقیت انجام شود:
0 2 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://mysitealerts.com/webhook-heartbeat/YOUR-CODE در صورت کندی شبکه، گزینه -m 10 از هنگ کردن کرل جلوگیری میکند، و --retry 3 یک مشکل کوتاه اتصال را پوشش میدهد. اگر سرور شما به جای curl، wget دارد، wget -q -O /dev/null به دنبال URL نیز همین کار را انجام می دهد.
داخل یک فیلمنامه
بعد از اتمام کار واقعی، پینگ را روی خط آخر اسکریپت قرار دهید. در یک اسکریپت پوسته، set -e در بالا اضافه کنید تا هر دستوری که ناموفق باشد، اسکریپت را قبل از رسیدن به پینگ متوقف کند. در Python، PHP یا Node.js، یک درخواست HTTP ساده به URL ضربان قلب به عنوان آخرین مرحله کار انجام دهید.
میزبانی کنترل پنل ها
در هاست اشتراکی، همان دستور curl را به انتهای کار cron در کنترل پنل خود اضافه کنید. اکثر پانل ها به شما امکان می دهند یک خط فرمان کامل را بچسبانید، بنابراین همان الگوی && در آنجا نیز کار می کند.
cron وردپرس
وردپرس تنها زمانی کارهای برنامه ریزی شده را اجرا می کند که شخصی از سایت بازدید کند. برای زمانبندی مطمئن، تریگر داخلی را غیرفعال کنید، wp-cron.php را از یک کار سرور واقعی cron فراخوانی کنید و پینگ ضربان قلب را به همان خط اضافه کنید. اکنون هم میدانید که برنامه اجرا میشود و هم کامل میشود.
اشتباهات رایجی که باعث هشدارهای نادرست (یا موارد از دست رفته) می شود
- پینگ زدن در شروع کار این فقط شروع کار را ثابت می کند. در پایان، پس از موفقیت کار پینگ کنید.
- مهلتی که خیلی کوتاه است. با افزایش داده ها، مشاغل کندتر می شوند. دوره مهلت را هر چند ماه یکبار مرور کنید.
- نادیده گرفتن مناطق زمانی اگر ساعت سرور و برنامه شما با هم موافق نباشد، یک کار روزانه ممکن است یک ساعت دیر به نظر برسد. فاصله مورد انتظار را تنظیم کنید، نه زمان ساعت دیواری، و اجازه دهید اولین اجرا تایمر را شروع کند.
- پینگ زدن خیلی زیاد ضربان قلب برای کارهایی طراحی شده است که حداکثر یک بار در دقیقه اجرا می شوند. پینگ های اضافی در همان دقیقه نادیده گرفته می شوند.
- به اشتراک گذاشتن یک ضربان قلب بین مشاغل هر کار به URL خاص خود نیاز دارد، در غیر این صورت یک کار سالم، دیگری را که متوقف شده است پنهان می کند.
- فراموش کردن مکث در حین نگهداری هنگام مهاجرت به سرور، ضربان قلب را متوقف کنید، بنابراین تاریخچه فقط حوادث واقعی را نشان می دهد.
ضربان قلب در کنار بررسی های آپتایم بهترین عملکرد را دارد
ضربان قلب به شما می گوید که کار پشت سایت شما در حال انجام است. بررسی های آپتایم به شما می گوید که بازدیدکنندگان می توانند به آن دسترسی پیدا کنند. آنها با هم هر دو نیمه را پوشش می دهند. اگر هنوز بررسیهای وبسایت را تنظیم نکردهاید، راهنمای ما را در مورد نحوه نظارت بر آپتایم وبسایت رایگان دنبال کنید و زمانی که آنجا هستید، نظارت بر انقضای SSL و دامنه را اضافه کنید. شما می توانید هر گواهی را در حال حاضر با جستجوگر SSL بررسی کنید.
حدود پنج دقیقه طول می کشد تا از مهمترین کار خود محافظت کنید. حساب رایگان خود را ایجاد کنید ، یک ضربان قلب برای پشتیبان گیری خود اضافه کنید و به ما اجازه دهید مراقب باشیم تا مجبور نباشید.
سوالات متداول
تفاوت بین cron monitoring و uptime monitoring چیست؟
نظارت بر آپتایم یک URL را از بیرون بررسی می کند تا ببیند آیا سایت شما پاسخ می دهد یا خیر. نظارت بر ضربان قلب یا Cron منتظر می ماند تا کار برنامه ریزی شده شما بررسی شود و در صورت عدم رسیدن به موقع به شما هشدار می دهد.
آیا پایش ضربان قلب واقعا رایگان است؟
بله. این طرح رایگان شامل 5 مانیتور ضربان قلب با ایمیل، Slack ، Discord ، Telegram ، Microsoft Teams و هشدار وب هوک است. هیچ کارت اعتباری و آزمایشی وجود ندارد که تمام شود.
آیا باید یک عامل بر روی سرور خود نصب کنم؟
نه. کار شما فقط باید یک درخواست HTTP را به URL ضربان قلب خود ارسال کند، برای مثال با curl یا wget، که تقریباً در هر سروری موجود است.
مدت مهلت باید چقدر باشد؟
آن را روی زمان اجرای عادی کار به اضافه یک حاشیه ایمنی تنظیم کنید. کاری که معمولاً 10 دقیقه طول می کشد، با مهلت 15 تا 20 دقیقه ای به خوبی انجام می شود.
آیا می توانم کارهایی را که یک بار در روز یا یک بار در هفته اجرا می شوند نظارت کنم؟
بله. بازه مورد انتظار را بر روی برنامه کار، مانند 1 روز یا 7 روز، تنظیم کنید و در صورت از دست دادن یک اجرا به شما هشدار داده می شود.