پیامک، تلگرام یا بله؟ انتخاب کانال هشدار بدون خستگی از هشدار
کدوم هشدارهای قطعی با پیامک برن و کدوم با تلگرام یا بله، چطور بر اساس فوریت مسیریابی کنیم و چطور هشدارهای مهم زیر هشدارهای بیمورد گم نشن.
خیلی از APIها رو نمیشه با یه درخواست تست کرد. اول وارد میشید، توکن میگیرید، endpoint رو با اون صدا میزنید و گاهی از یه شناسهی همون پاسخ در تماس سوم استفاده میکنید. چک چندمرحلهای کل این زنجیره رو طبق زمانبندی اجرا میکنه و دقیقاً میگه کدوم مرحله خراب شد.
noc724 سایت، سرور و APIهای شما رو شبانهروز چک میکنه و همون لحظهای که چیزی خراب شد با پیامک، تلگرام یا بله خبرتون میکنه.
Step 1 POST /api/auth/login { "username": "monitor", "password": "***" }
expect 200, extract access_token = $.token
Step 2 GET /api/orders?limit=1 Authorization: Bearer {access_token}
expect 200, expect $.items.length > 0, extract order_id = $.items[0].id
Step 3 GET /api/orders/{order_id} Authorization: Bearer {access_token}
expect 200, expect $.id == {order_id}اگه مرحلهی ۱ شکست بخوره، احراز هویت خرابه. اگه مرحلهی ۲ با 401 شکست بخوره، توکن صادر میشه ولی پذیرفته نمیشه؛ شاید چرخش کلید اشتباه انجام شده. اگه فقط مرحلهی ۳ شکست بخوره، مشکل از endpoint جزئیات یا کوئری دیتابیسشه.
بیشتر ابزارها از عبارتهایی شبیه JSONPath برای بیرون کشیدن مقدار از پاسخ استفاده میکنن:
| عبارت | چی رو برمیداره |
|---|---|
$.token | یه فیلد سطح اول |
$.data.user.id | یه فیلد تودرتو |
$.items[0].id | شناسهی اولین آیتم یه لیست |
مقدارها میتونن از هدرهای پاسخ (مثلاً هدر Location بعد از ساختن یه رکورد) یا کوکیها برای ورودهای مبتنی بر session هم بیان.
status با مقدار ok.Content-Type: application/json و هدرهای کش هر جا مهمن.جریانهای چندمرحلهای وسوسهتون میکنن «ثبت سفارش» رو هم تست کنید. اگه مجبورید نوشتن رو تست کنید:
مانیتورینگ API چندمرحلهای در noc724 مرحلهها رو به ترتیب اجرا میکنه، مقدارها رو بینشون جابهجا میکنه، شرطها رو روی هر مرحله چک میکنه و اسم مرحلهی خراب رو در هشدار (با پیامک، تلگرام یا بله) میاره؛ پس همون پیام اول میگه کجا رو نگاه کنید.
به اندازهای که ثابت کنه جریان کار میکنه؛ معمولاً دو تا چهار. هر مرحلهی اضافه یه جای دیگه است که تغییرات بیخطر میتونن چک رو خراب کنن.
هر اجرا دوباره وارد میشه، پس انقضا بین اجراها مهم نیست. اگه ورود محدودیت نرخ داره، فاصلهای انتخاب کنید که خیلی زیر اون حد بمونه.
بله. یه درخواست client-credentials رو مرحلهی اول بذارید تا توکن دسترسی بگیرید و بعد API رو با اون صدا بزنید.
نویسنده
تیم noc724
تیم فنی مانیتورینگ آپتایم
ما noc724 رو میسازیم و اداره میکنیم؛ سرویس مانیتورینگ آپتایمی که سایت، سرور و API رو از چند شهر ایران چک میکنه. این راهنماها از مشکلهایی میان که خودمون و کاربرهامون موقع آن��این نگه داشتن سرویسها باهاشون روبهرو میشیم.
تماس با تیمکدوم هشدارهای قطعی با پیامک برن و کدوم با تلگرام یا بله، چطور بر اساس فوریت مسیریابی کنیم و چطور هشدارهای مهم زیر هشدارهای بیمورد گم نشن.
چرا مانیتورهای آپتایم هشدار اشتباه میدن (اختلال شبکه، timeout، محدودیت نرخ، تغییر محتوا) و تنظیماتی که اینها رو حذف میکنه و هشدار واقعی رو سریع نگه میداره.
چطور یه چرخهی آنکال ساده و سیاست ارجاع هشدار بچینیم که هر هشدار حیاتی جواب داده بشه، بدون اینکه یه تیم کوچیک فرسوده بشه.