رفتن به محتوا
nsin docs

Uptime & Outages

nsin بین بازدیدکنندگان شما و سرورتان می‌نشیند، پس می‌تواند ببیند وقتی سرور شما (origin) درست پاسخ نمی‌دهد — حتی اگر خود nsin خوب سرو می‌کند. وقتی این تکرار شود، nsin یک incident باز می‌کند و به شما می‌گوید. این را زیر Uptime در sidebar دامنه‌تان پیدا کنید.

چه چیزی “down” حساب می‌شود

Section titled “چه چیزی “down” حساب می‌شود”

nsin سایت شما را از بیرون ping نمی‌کند. ترافیک واقعی بازدیدکنندگان را تماشا می‌کند، و request‌هایی که سرور شما درست پاسخ نداده را می‌شمارد.

یک subdomain برای یک دقیقه down حساب می‌شود وقتی سهم request‌های fail‌شده بالاتر از threshold شما باشد، و در آن دقیقه ترافیک کافی بوده باشد که عدد معنا داشته باشد. کف ترافیک مهم است: دو fail از سه request ساعت ۴ صبح نویز است، نه یک outage.

یک incident وقتی باز می‌شود که یک subdomain تمام detection window را down بماند — نه فقط یک دقیقه بد — و بعد از یک سری دقیقه‌های تمیز بسته می‌شود. هر incident hostname، زمان شروع، زمان بهبود، و بدترین error rate را ثبت می‌کند.

نمای live هر subdomain را همین الان نشان می‌دهد، شامل آن‌هایی که error می‌دهند اما هنوز از threshold‌های شما رد نشده‌اند — وقتی چیزی درست به نظر نمی‌رسد اما هیچ alert‌ای نیامده آن را چک کنید. برای هر host request‌های دیده‌شده در window، چند تا fail شده، درصد error، و اینکه آیا الان down حساب می‌شود را می‌بینید.

زیر Uptime → Settings می‌توانید detection را برای ترافیک خودتان تنظیم کنید:

تنظیمیعنی چه
Alerts on/offآیا outage notification برای این دامنه ارسال می‌شود.
Thresholdدرصد request‌های fail‌شده در دقیقه که down حساب می‌شود.
Windowhost چقدر باید down بماند تا یک incident باز شود.
Minimum requestsکف ترافیک — زیر این، هیچ incident باز نمی‌شود.
Minimum active minutesچند دقیقه در window باید ترافیک واقعی داشته باشد.
Recoveryچند دقیقه تمیز پشت‌سرهم incident را می‌بندد.

هر تنظیم یک بازه معتبر دارد، کنار آن در پنل نشان داده می‌شود.

Notification به owner دامنه و به هر memberی که outage notification را روشن دارد می‌رود. هر member آن را جداگانه کنترل می‌کند، پس یک همکار در آژانس می‌تواند uptime را تماشا کند بدون اینکه هر notification دیگری را هم بگیرد.

Notification channels، در صفحه Uptime، تصمیم می‌گیرد alert‌های دامنه کجا بروند. سوییچ‌ها روی همه اعمال می‌شوند — owner و member‌ها — روی هر ترجیح شخصی هر member. Alert‌ها همیشه در پنل نشان داده می‌شوند، هر چیزی که خاموش باشد.

Channelپیش‌فرضتوضیح
EmailOn
SMSOnفقط plan‌های پولی. شماره موبایل ایرانی تأییدشده.
WebhookOffروی هر plan رایگان است. یک URL برای هر دامنه.

یک URL با http:// یا https:// ذخیره کنید و webhook را روشن کنید. nsin یک POST با body از نوع JSON می‌فرستد وقتی یک outage باز می‌شود (outage.opened) و برطرف می‌شود (outage.resolved) — یک بار برای هر incident. Test یک event نمونه test می‌فرستد.

{
"event": "outage.opened",
"incident_id": 4312,
"domain": "example.com",
"hostname": "api.example.com",
"monitor_id": null,
"scope": "",
"peak_error_pct": 100,
"started_at": "2026-09-20T10:14:00Z",
"resolved_at": null,
"duration_sec": null,
"sent_at": "2026-09-20T10:14:02Z"
}

با هر 2xx ظرف ۵ ثانیه پاسخ بدهید؛ هر چیز دیگری دو بار دوباره امتحان می‌شود، بعد از ۵ و ۳۰ ثانیه. Redirect‌ها دنبال نمی‌شوند، و URL‌هایی که به آدرس‌های private یا local اشاره می‌کنند رد می‌شوند. آخرین delivery‌ها زیر فیلد URL لیست می‌شوند.

امضا را verify کنید. هر request حامل X-Nsin-Timestamp و X-Nsin-Signature است. امضا sha256= به‌علاوه hex HMAC-SHA256 از <timestamp>.<raw body> است، با signing secret نشان‌داده‌شده در صفحه:

import crypto from 'node:crypto';
function verify(req, rawBody, secret) {
const ts = req.headers['x-nsin-timestamp'];
const want = 'sha256=' + crypto.createHmac('sha256', secret).update(`${ts}.${rawBody}`).digest('hex');
const got = req.headers['x-nsin-signature'] ?? '';
const fresh = Math.abs(Date.now() / 1000 - Number(ts)) < 300;
return fresh && got.length === want.length && crypto.timingSafeEqual(Buffer.from(got), Buffer.from(want));
}

ساختن یک secret جدید بلافاصله قدیمی را از کار می‌اندازد.

Uptime می‌گوید down، اما سایت من برایم لود می‌شود. outage‌ها معمولاً partial هستند — یک subdomain، یک region، یا بعضی request‌ها. نمای live، و Monitoring → status codes را برای اینکه سرورتان چه برگردانده چک کنید.

اصلاً چیزی اینجا نشان داده نمی‌شود. Detection روی ترافیک واقعی اجرا می‌شود — subdomainی که کسی بازدید نکرده داده‌ای تولید نمی‌کند — و به یک plan که monitoring دارد نیاز است. ببینید Plans.

آیا nsin در طول یک outage همچنان سرو می‌کند؟ صفحات cache‌شده همچنان سرو می‌شوند. هر چیزی که nsin باید از سرور شما بگیرد تا وقتی fail می‌شود fail می‌ماند — این چیزی است که caching و origin failover به آن کمک می‌کنند.