پیامک، تلگرام یا بله؟ انتخاب کانال هشدار بدون خستگی از هشدار
کدوم هشدارهای قطعی با پیامک برن و کدوم با تلگرام یا بله، چطور بر اساس فوریت مسیریابی کنیم و چطور هشدارهای مهم زیر هشدارهای بیمورد گم نشن.
هر پاسخ HTTP با یه کد وضعیت سهرقمی شروع میشه. اولین چیزیه که مانیتور نگاه میکنه و اولین سرنخ وقتی چیزی خراب میشه. این مرجع کدهایی رو که واقعاً باهاشون روبهرو میشید و معنای معمولشون در محیط تولید رو پوشش میده.
502، 503 و 504 معمولاً به پراکسی یا لودبالانسری اشاره میکنن که به برنامه نمیرسه.200 ثابت نمیکنه صفحه درسته؛ محتواش رو هم چک کنید.429 تکراری یعنی محدودیت نرخ خوردید، نه اینکه سایت قطعه.noc724 سایت، سرور و APIهای شما رو شبانهروز چک میکنه و همون لحظهای که چیزی خراب شد با پیامک، تلگرام یا بله خبرتون میکنه.
| دسته | معنی |
|---|---|
| 1xx | اطلاعرسانی؛ مانیتورها بهندرت میبیننش |
| 2xx | درخواست موفق بود |
| 3xx | برو جای دیگه |
| 4xx | درخواست اشتباه بود یا اجازه نداشت |
| 5xx | سرور نتونست یه درخواست معتبر رو انجام بده |
| کد | معنی |
|---|---|
| 200 OK | موفقیت معمولی |
| 201 Created | یه منبع ساخته شد (معمول برای POST) |
| 204 No Content | موفقیت بدون بدنه (رایج برای DELETE یا پینگ سلامت) |
| 206 Partial Content | بخشی از یه فایل برگردونده شد |
| کد | معنی |
|---|---|
| 301 Moved Permanently | از این به بعد آدرس جدید رو استفاده کن؛ موتورهای جستجو رتبه رو منتقل میکنن |
| 302 Found | ریدایرکت موقت |
| 304 Not Modified | نسخهی کششده هنوز معتبره |
| 307 / 308 | ریدایرکت موقت / دائمی که متد درخواست رو حفظ میکنه |
زنجیرهی ریدایرکت (از HTTP به HTTPS به www به مسیر زبان) به هر بازدید اول تأخیر اضافه میکنه. حلقهها (A به B و B دوباره به A) سایت رو کاملاً خراب میکنن؛ مرورگرها بعد از حدود ۲۰ بار تسلیم میشن.
| کد | علت رایج |
|---|---|
| 400 Bad Request | درخواست، JSON یا هدر نامعتبر |
| 401 Unauthorized | اطلاعات ورود نیست یا نامعتبره |
| 403 Forbidden | احراز هویت شده ولی اجازه نداره؛ یا فایروال یا WAF جلوش رو گرفته |
| 404 Not Found | آدرس اشتباه، صفحهی حذفشده، مسیر خراب بعد از دیپلوی |
| 405 Method Not Allowed | مثلاً GET به endpointی که فقط POST قبول میکنه |
| 408 Request Timeout | کلاینت در فرستادن درخواست خیلی کند بود |
| 410 Gone | عمداً حذف شده |
| 413 Payload Too Large | آپلود بیشتر از سقف سرور |
| 429 Too Many Requests | محدودیت نرخ |
در عمل همهی 4xxها تقصیر کلاینت نیستن. سیل ناگهانی 404 بعد از یه انتشار معمولاً یعنی یه مسیر خراب شده؛ 403 برای همه معمولاً یعنی یه قانون WAF اشتباه شده.
| کد | علت رایج |
|---|---|
| 500 Internal Server Error | خطای مدیریتنشده در برنامه |
| 501 Not Implemented | متد پشتیبانی نمیشه |
| 502 Bad Gateway | پراکسی پاسخ نامعتبر گرفته؛ برنامه کرش کرده یا گوش نمیده |
| 503 Service Unavailable | بار زیاد، در حال تعمیرات یا هیچ بکاند سالمی نیست |
| 504 Gateway Timeout | برنامه بهموقع به پراکسی جواب نداد |
وقتی 502/504 میبینید، پشت پراکسی رو نگاه کنید: پروسس برنامه اجرا میشه؟ روی پورت مورد انتظار گوش میده؟ به اندازهی کافی سریعه؟
بیشتر مانیتورها 2xx و 3xx رو سالم و 4xx/5xx رو خراب حساب میکنن. برای هر endpoint تنظیمش کنید:
401 یا 302 به صفحهی ورود.200.204 برمیگردونه: صریحاً مجازش کنید.دنبال کردن ریدایرکت صفحهای رو تست میکنه که کاربر در نهایت بهش میرسه. دنبال نکردنش اجازه میده خود ریدایرکت رو چک کنید؛ مثلاً اینکه HTTP هنوز به HTTPS ریدایرکت میشه.
صفحهی ورودی که میگه «اتصال به دیتابیس برقرار نشد» معمولاً هنوز 200 برمیگردونه. برای صفحههای مهم، چک وضعیت رو با مانیتورینگ کلمهی کلیدی ترکیب کنید.
میتونید کد وضعیت فعلی یه سایت رو با ابزار سایت قطعه؟ فوراً ببینید.
برای یه صفحهی گمشده، نه. برای صفحهی اصلی، پرداخت یا مسیر API، بله؛ دیپلویی که مسیریابی رو خراب کنه دقیقاً همین رو تولید میکنه.
502 یعنی پراکسی پاسخ بد یا هیچ پاسخی نگرفته (معمولاً اتصال رد شده). 504 یعنی منتظر مونده و برنامه بیش از حد طول کشیده.
معمولاً نه بهعنوان قطعی. اگه مانیتورتون 429 میگیره، از صاحب سایت بخواید IPهای مانیتورینگ رو مجاز کنه یا فاصلهی چکها رو بیشتر کنید.
نویسنده
تیم noc724
تیم فنی مانیتورینگ آپتایم
ما noc724 رو میسازیم و اداره میکنیم؛ سرویس مانیتورینگ آپتایمی که سایت، سرور و API رو از چند شهر ایران چک میکنه. این راهنماها از مشکلهایی میان که خودمون و کاربرهامون موقع آنلاین نگه داشتن سرویسها باهاشون روبهرو میشیم.
تماس با تیمتخصص:DevOps
کدوم هشدارهای قطعی با پیامک برن و کدوم با تلگرام یا بله، چطور بر اساس فوریت مسیریابی کنیم و چطور هشدارهای مهم زیر هشدارهای بیمورد گم نشن.
چرا مانیتورهای آپتایم هشدار اشتباه میدن (اختلال شبکه، timeout، محدودیت نرخ، تغییر محتوا) و تنظیماتی که اینها رو حذف میکنه و هشدار واقعی رو سریع نگه میداره.
چطور یه چرخهی آنکال ساده و سیاست ارجاع هشدار بچینیم که هر هشدار حیاتی جواب داده بشه، بدون اینکه یه تیم کوچیک فرسوده بشه.