انواع مانیتور
نه نوع بررسی قابلساخت: هرکدام چه چیزی را چک میکند و چه زمانی «قطع» حساب میشود.
نگاه کلی
| نوع | چه چیزی را بررسی میکند | هدف (Target) |
|---|---|---|
| HTTP | پاسخ یک آدرس وب | آدرس کامل، مثل https://example.com |
| کلیدواژه در صفحه | پاسخ HTTP + وجود یک متن در صفحه | آدرس کامل |
| TCP | باز بودن یک پورت | host:port |
| Ping | پاسخدادن یک میزبان به ping | نام میزبان یا IP |
| گواهی SSL | تاریخ انقضای گواهی | دامنه (و اختیاری :پورت) |
| DNS | مقدار یک رکورد DNS | نام دامنه |
| API (چندمرحلهای) | درخواست API و بررسی بدنهی JSON | آدرس پایه (Base URL) |
| Heartbeat | پینگ دورهای که سیستم شما میفرستد | یک نام دلخواه |
| وبهوک خطا | گزارش خطایی که کد شما میفرستد | یک نام دلخواه |
HTTP
یک درخواست GET به آدرس میفرستد. اگر کد پاسخ جزو کدهای قابلقبول باشد «فعال»، وگرنه «قطع» است. اگر کدهای قابلقبول را خالی بگذارید، هر کد ۲۰۰ تا ۳۹۹ موفق حساب میشود (ریدایرکتها دنبال میشوند). برای مثال اگر آدرس شما عمداً ۴۰۱ برمیگرداند، در «کدهای وضعیت قابلقبول» بنویسید 401 (چند کد را با کاما جدا کنید، هر کد بین ۱۰۰ تا ۵۹۹).
«قطع» میشود وقتی: کد غیرمنتظره، timeout، خطای DNS، رد یا قطع اتصال، یا خطای TLS.
کلیدواژه در صفحه
مثل HTTP است و علاوه بر آن باید یک متن در بدنهی صفحه (۲ مگابایت اول پاسخ) وجود داشته باشد. جستوجو حساس به بزرگی و کوچکی حروف است. اگر متن پیدا نشود، دلیل خطا «کلیدواژه یافت نشد» ثبت میشود. کاربرد خوب: صفحهای که وقتی دیتابیس خراب است هم ۲۰۰ برمیگرداند ولی متن اصلیاش نیست.
TCP و Ping
- TCP: هدف را به شکل
host:portبنویسید. اگر اتصال برقرار شود فعال است و بلافاصله بسته میشود. - Ping: یک بستهی ping میفرستد. هر شکستی (از جمله بستهشدن ping در فایروال میزبان) «اتمام زمان» ثبت میشود؛ اگر سرور شما به ping جواب نمیدهد، از TCP روی یک پورت باز استفاده کنید.
گواهی SSL
دامنه را بنویسید (پورت پیشفرض ۴۴۳؛ برای پورت دیگر example.com:8443). مانیتور تاریخ انقضا را میخواند و اگر گواهی منقضی شده باشد، یا ۳۰ روز یا کمتر به انقضا مانده باشد، «قطع» میشود تا قبل از افتادن سایت هشدار بگیرید. زنجیرهی گواهی (اعتماد به صادرکننده) بررسی نمیشود، فقط تاریخ.
DNS
نام دامنه، نوع رکورد (A، AAAA، CNAME، MX، TXT، NS) و مقدار مورد انتظار را بدهید. اگر رکورد وجود داشته باشد و با مقدار شما بخواند، فعال است؛ وگرنه «عدم تطابق DNS» یا «خطای DNS». در A و AAAA یکی از IPهای برگشتی باید دقیقاً همان مقدار باشد؛ در TXT مقدار دقیق یا بخشی از متن کافی است. مناسب برای فهمیدن اینکه کسی رکورد دامنهتان را عوض کرده.
API (چندمرحلهای)
آدرس پایه را بدهید، سپس «مسیر» (نسبت به آدرس پایه، اختیاری)، کدهای قابلقبول و یک شرط روی بدنهی JSON. شرط یک مسیر نقطهای است، مثل data.status، با یکی از حالتها: «برابر باشد با»، «شامل باشد» یا «فقط وجود داشته باشد». اگر شرط برقرار نشود، دلیل «شرط برقرار نشد» ثبت میشود. مسیرهای JSON فقط نقطهای هستند (اندیس آرایه پشتیبانی نمیشود).
از طریق API عمومی میتوان تا ۱۰ مرحلهی پشتسرهم تعریف کرد که مقدارِ یک مرحله را با {{name}} در مرحلهی بعد استفاده میکنند؛ رابط وب فعلاً فقط یک مرحله میسازد. ببینید API عمومی.
Heartbeat و وبهوک خطا
این دو را ما بررسی نمیکنیم؛ سیستم شما خودش خبر میدهد. توضیح کامل و نمونه کد در Heartbeat و وبهوک خطا.
فاصلهی بررسی
گزینهها: ۱۵ و ۳۰ ثانیه، ۱ و ۵ و ۱۰ و ۳۰ دقیقه، ۱ و ۶ و ۱۲ ساعت و ۱ روز. فقط گزینههایی نمایش داده میشوند که کمتر از حداقل پلن شما نباشند (پلن رایگان ۶ ساعت؛ حرفهای ۶۰ ثانیه؛ بیزینس ۳۰ ثانیه؛ اینترپرایز ۱۵ ثانیه). این برای همهی نوعها، از جمله Heartbeat و وبهوک، صادق است. بررسی اول یک مانیتور تازه با کمی تأخیر تصادفی شروع میشود تا همهی مانیتورها همزمان اجرا نشوند.
هر بررسی در هر ناحیه تا ۳ بار تلاش میکند (۵ ثانیه فاصله) و اگر هر تلاش موفق باشد، آن ناحیه «سالم» گزارش میدهد. جزئیات در چکها چطور کار میکنند.
آدرسهای داخلی
برای امنیت، هر هدفی که به آدرس خصوصی یا داخلی ختم شود (۱۰.x، ۱۷۲.۱۶–۳۱.x، ۱۹۲.۱۶۸.x، localhost، لینکلوکال و مانند آن) بررسی نمیشود و بهصورت «خطای DNS» ثبت میشود. برای سرویسهای داخل شبکهی خصوصی از Heartbeat یا وبهوک خطا استفاده کنید؛ آنها از داخل شبکهی شما به ما درخواست میزنند.