Vercel
Status200 را از Vercel Marketplace به تیم Vercel خود اضافه کنید. با حساب Vercel خود وارد میشوید و هزینه را روی صورتحساب Vercel خود میپردازید، و پروژههای Vercel شما بیآنکه چیزی را دستی راهاندازی کنید، در Status200 ترِیسها، لاگها، پایش دسترسپذیری و یک صفحهٔ وضعیت میگیرند.
@vercel/otelمتغیرهای محیطی از پیش تنظیم شدهاند.ارسال لاگها و ترِیسها با drainهالاگها و اسپنهای خود Vercel، در طرحهای Pro و Enterprise.طرحها و صورتحسابطرحهای Status200، روی فاکتور Vercel شما.چگونه کار میکند
هر منبع Status200 که در Vercel اضافه میکنید، یک پروژهٔ Status200 مستقل است. Vercel به هر پروژهٔ Vercel که به منبع وصل میکنید، متغیرهای محیطی منبع را میدهد، که ترِیسهای پروژه را به Status200 میفرستند. drainها لاگها و اسپنهای Vercel را میفرستند، و دامنهٔ production هر پروژهٔ وصلشده یک مانیتور دسترسپذیری روی صفحهٔ وضعیت منبع میگیرد.
از پروژههای Vercel شما تا Status200
این یکپارچهسازی برای Status200 Cloud (status200.ru) است. یک Status200 خودمیزبان را نمیتوان از Vercel Marketplace اضافه کرد: Status200 خودمیزبان را ببینید.
پیش از شروع
- یک تیم Vercel، با هر طرحی. drainهای لاگ و ترِیس به طرح Pro یا Enterprise در Vercel نیاز دارند؛ ترِیسهای
@vercel/otelدر همهٔ طرحها کار میکنند. - یک نشانی ایمیل تأییدشده روی حساب Vercel شما. Status200 با همین نشانی شما را وارد میکند، و اگر حساب Status200 ندارید، حسابتان را با آن میسازد.
- یک روش پرداخت در Vercel، برای همهٔ طرحها: هزینهٔ مانیتورها و تلهمتری بر اساس مصرف محاسبه میشود، از جمله در طرح Free. طرحها و صورتحساب را ببینید.
افزودن Status200 به تیم Vercel شما
باز کردن Status200 در Vercel Marketplace
در داشبورد Vercel، Integrations و سپس Browse Marketplace را باز کنید، و Status200 را زیر Observability پیدا کنید. روی Install کلیک کنید و شرایط Status200 را بپذیرید.
انتخاب طرح
Free، Growth یا Scale را برگزینید. این طرحها از آنِ خود Status200 هستند، با قیمتهایی که در status200.ru/pricing آمده است.
نامگذاری منبع و انتخاب تنظیمات آن
برای منبع نامی برگزینید که بگوید چه چیزی را پایش میکند، مانند
storefront: پروژهٔ Status200 و صفحهٔ وضعیت آن همین نام را میگیرند. دو تنظیم در آغاز روشناند:- Monitor production domains: یک مانیتور وبسایت برای دامنهٔ production هر پروژهٔ Vercel که وصل میکنید.
- Create a status page: یک صفحهٔ وضعیت عمومی برای منبع، که همین مانیتورها را نشان میدهد.
وصل کردن پروژههایتان
پروژههای Vercel را که به این منبع داده میفرستند برگزینید، و محیطهایی را که متغیرهای محیطی آن را میگیرند. به اتصال پیشوند سفارشی ندهید:
@vercel/otelمتغیرها را با نامهای خودشان میخواند.
منبع ظرف چند ثانیه آماده میشود. برای دیدن پروژهٔ آن روی Open in Status200 کلیک کنید.
آنچه هر منبع به شما میدهد
| چه | کجا آن را بیابید |
|---|---|
| یک پروژهٔ Status200، همنام با منبع | مالک آن شما هستید. همتیمیهایتان وقتی آن را از Vercel باز کنند به آن میپیوندند. |
یک کلید دریافت داده با نام Vercel | تنظیمات پروژه > تلهمتری و APM > کلیدهای دریافت داده |
| متغیرهای محیطی در هر پروژهٔ Vercel وصلشده | Settings → Environment Variables پروژه در Vercel |
| یک مانیتور وبسایت برای هر پروژهٔ وصلشده | مانیتورها، همنام با پروژهٔ Vercel |
| یک صفحهٔ وضعیت عمومی | صفحات وضعیت، همنام با منبع |
متغیرهای محیطی در همهٔ پروژههای وصلشده یکساناند:
| متغیر | مقدار |
|---|---|
OTEL_EXPORTER_OTLP_ENDPOINT | https://status200.ru/otlp |
OTEL_EXPORTER_OTLP_HEADERS | x-status200-token= و کلید دریافت دادهٔ منبع |
OTEL_EXPORTER_OTLP_PROTOCOL | http/protobuf |
STATUS200_TELEMETRY_INGESTION_KEY | خودِ کلید دریافت داده بهتنهایی، که drainها میفرستند |
هر استقرار متغیرها را هنگام ساخته شدنش میگیرد: پس از وصل کردن یک پروژه، دوباره مستقر کنید.
ارسال ترِیسها با @vercel/otel
@vercel/otel بستهٔ OpenTelemetry خود Vercel برای Next.js و دیگر فریمورکهایی است که Vercel اجرا میکند. این بسته متغیرهای OTEL_EXPORTER_OTLP_* را میخواند، پس پروژهای که به منبع وصل است فقط به همین بسته نیاز دارد.
نصب بسته
npm install @vercel/otel @opentelemetry/api @opentelemetry/api-logsثبت کردن آن
instrumentation.tsرا در ریشهٔ پروژه بسازید، یا اگر پروژه پوشهٔsrcدارد، در آن، و نام سرویس را تعیین کنید:import { registerOTel } from "@vercel/otel"; export function register(): void { registerOTel({ serviceName: "storefront" }); }مستقر کردن
پروژه را مستقر کنید. ترِیسهای آن در ترِیسها، زیر نام سرویس، نمایش داده میشوند.
در طرحهای Pro و Enterprise در Vercel، یک drain ترِیس هم اضافه کنید: آنگاه Vercel برای هر درخواست اسپنهای خودش را همراه با اسپنهای برنامهٔ شما به Status200 میفرستد، و @vercel/otel فرستادن آنها را به drain میسپارد، پس هیچ چیز دو بار نمیرسد.
ارسال لاگها و ترِیسها با drainها
یک drain آنچه را Vercel دربارهٔ پروژههای شما ثبت میکند به Status200 میفرستد: drain لاگ برای لاگهای ساخت، تابع، edge و درخواستِ آنهاست، و drain ترِیس برای اسپنهایشان. drainها به طرح Pro یا Enterprise در Vercel نیاز دارند، و Vercel هزینهٔ دادهای را که میفرستند روی صورتحساب Vercel شما میآورد.
افزودن یک drain
در Vercel، Team Settings → Drains را باز کنید و روی Add Drain کلیک کنید. Logs یا Traces را برگزینید، و سپس Status200 را زیر Native Integrations برگزینید.
انتخاب پروژهها
پروژهها را برگزینید، و برای لاگها منشأها و محیطها را هم. drain با کلید دریافت دادهٔ منبع میفرستد: چیزی برای تایپ کردن نیست.
هر پروژهٔ Vercel در Status200 یک سرویس است، همنام با پروژه. هر لاگ زمان، سطح و پیام خود را نگه میدارد، و اطلاعات درخواستش را با نامهای OpenTelemetry:
| فیلد Vercel | در Status200 |
|---|---|
projectName | سرویس، service.name |
timestamp، level، message | زمان، شدت و بدنهٔ لاگ |
deploymentId، environment | vercel.deployment.id، deployment.environment.name |
proxy.method، proxy.path، proxy.statusCode | http.request.method، url.path، vercel.proxy.status_code |
traceId، spanId | ترِیس لاگ، پیوندخورده به همان ترِیس در ترِیسها |
| هر فیلد دیگر | یک ویژگی زیر vercel.، مانند vercel.source |
مانیتورهای دسترسپذیری و صفحهٔ وضعیت
وقتی یک پروژهٔ Vercel را وصل میکنید، Status200 برای دامنهٔ production آن یک مانیتور وبسایت میسازد که از پرابهای Status200 بررسی میشود، و آن را به صفحهٔ وضعیت منبع اضافه میکند. پروژهای که پیش از نخستین استقرار production خود وصل شود هنوز دامنهای ندارد: مانیتورش در همان استقرار ساخته میشود. قطع اتصال پروژه، مانیتور آن را حذف میکند.
هر یک از این مانیتورها یک مانیتور فعال است، هزینهاش مانند هر مانیتور دیگری محاسبه میشود، و درست مانند مانیتوری که خودتان ساختهاید کار میکند: مانیتور وبسایت را ببینید. برای اینکه هیچ مانیتوری ساخته نشود، Monitor production domains را در تنظیمات منبع در Vercel خاموش کنید. روشن کردن دوبارهٔ آن، مانیتورهایی را که هنوز ساخته نشدهاند میسازد.
باز کردن Status200 از Vercel
روی Open in Status200 در منبع، یا روی هر یک از پیوندهای آن در Vercel، کلیک کنید تا با نشانی ایمیل حساب Vercel خود وارد Status200 شوید. بار نخست به پروژهٔ منبع میپیوندید: اگر مالک یا عضو تیم Vercel باشید بهعنوان مدیر، و اگر یکی از نقشهای فقطخواندنی آن را داشته باشید بهعنوان عضو.
اگر حساب Status200 با آن نشانی ایمیل از پیش وجود داشته باشد، به همان حساب وارد میشوید. حسابی که احراز هویت دومرحلهای آن روشن است، یا متعلق به یک مدیر Status200 است، بهجای آن با گذرواژهٔ خودش وارد میشود. در هر حال، شما عضو پروژه میشوید.
طرحها و صورتحساب
| چگونه کار میکند | |
|---|---|
| طرحها | Free، Growth و Scale، با قیمتهای status200.ru: قیمت طرح برای هر کاربر، مانیتورهای فعال با $۱ برای هر مانیتور در ماه، و تلهمتری به ازای هر گیگابایت. |
| کجا پرداخت میکنید | روی فاکتور Vercel شما، ماهی یک بار، برای هر منبع. Vercel مصرف ماه تا این لحظه را روی منبع نشان میدهد، و آن را هر ساعت بهروز میکند. |
| دورههای آزمایشی | تا وقتی دورهٔ آزمایشی طرح ادامه دارد هزینهای گرفته نمیشود: نه برای کاربرانش، نه مانیتورهایش و نه تلهمتریاش. |
| تغییر طرح | در Vercel، روی منبع، یا در Status200 زیر تنظیمات پروژه > صورتحساب و فاکتورها > صورتحساب. تغییر در هر کدام، در هر دو جا اعمال میشود. |
| فاکتورهای پرداختنشده | Vercel تا ۱۵ روز پرداخت را دوباره امتحان میکند. پس از آن، پروژه تا پرداخت فاکتور از دسترس خارج میشود: دادههایش نگه داشته میشوند و هیچ چیز حذف نمیشود. |
روی فاکتور، هر منبع برای کاربرانش، مانیتورهای فعالش، تلهمتریاش و هر شارژ موجودی یک ردیف دارد، بر حسب واحدهای مصرف $۰٫۰۱.
حذف Status200
| شما | چه پیش میآید |
|---|---|
| یک منبع را در Vercel حذف میکنید | پروژهٔ آن، پس از صورتحساب شدن مصرفش تا آن لحظه، حذف میشود. پروژههای Vercel وصلشده در استقرار بعدیشان متغیرهای محیطی آن را از دست میدهند. |
| Status200 را از تیم حذف نصب میکنید | پروژهٔ همهٔ منبعها حذف میشود، و فاکتور نهایی فرستاده میشود. |
| پروژه را در Status200 حذف میکنید | منبع در Vercel هم حذف میشود. |
حذف یک پروژه، مانیتورها، صفحهٔ وضعیت، حادثهها و تلهمتری آن را برای همیشه پاک میکند. پیش از آن، از هر چیزی که میخواهید نگه دارید خروجی بگیرید.
Status200 خودمیزبان
یک Status200 خودمیزبان را نمیتوان از Vercel Marketplace اضافه کرد، چون Vercel Marketplace فقط Status200 Cloud را فراهم میکند. با این حال پروژههای Vercel شما همچنان میتوانند به آن داده بفرستند:
- ترِیسها: در Settings → Environment Variables پروژهٔ Vercel، متغیرهای آنچه هر منبع به شما میدهد را تنظیم کنید، با
https://YOUR-ONEUPTIME-HOST/otlpبهعنوان نقطهٔ پایانی و یک کلید دریافت داده از پروژهٔ خودتان. - لاگها: در Team Settings → Drains یک drain لاگ سفارشی به
https://YOUR-ONEUPTIME-HOST/telemetry/vercel/v1/logsاضافه کنید، در قالب JSON یا NDJSON. سرآیندx-status200-tokenرا با کلید دریافت دادهتان اضافه کنید، و راز امضای drain را روی همان کلید بگذارید: Status200 فقط ارسالهایی را میپذیرد که Vercel با آن امضا کرده باشد.
همین drain سفارشی در Status200 Cloud هم کار میکند، با status200.ru بهعنوان میزبان.
عیبیابی
هیچ ترِیسی نمیرسد
- پروژه را دوباره مستقر کنید: استقراری که پیش از وصل شدن پروژه ساخته شده، متغیرهای
OTEL_EXPORTER_OTLP_*را ندارد. - نام متغیرها را در Settings → Environment Variables پروژه بررسی کنید. اتصالی که با یک پیشوند سفارشی ساخته شده نام آنها را تغییر میدهد، و
@vercel/otelدیگر آنها را نمیخواند: پروژه را بدون پیشوند دوباره وصل کنید. - بررسی کنید که
instrumentation.tsتابعregisterOTelرا فرا میخواند، و در Next.js 14 و نسخههای قدیمیتر، کهexperimental.instrumentationHookدرnext.config.jsروشن است.
Vercel برای drain خطا نشان میدهد
Vercel پاسخ Status200 به ارسالهای drain را نشان میدهد:
403باx-vercel-signatureدر پیام: Vercel ارسال را با کلیدی که میفرستد امضا نکرده است. برای یک drain سفارشی، سرآیندx-status200-tokenآن را بررسی کنید، و راز امضایش را روی همان کلید بگذارید.401: Status200 هیچ پروژهای را با کلیدی که drain میفرستد نمیشناسد: کلید حذف شده، یا در هر دو جا اشتباه تایپ شده است. از کلیدی در تنظیمات پروژه > تلهمتری و APM > کلیدهای دریافت داده استفاده کنید.422: کلید خاموش شده است. آن را در همان صفحه دوباره روشن کنید، یا از کلید دیگری استفاده کنید.
یک پروژهٔ وصلشده مانیتور ندارد
- Monitor production domains در تنظیمات منبع در Vercel خاموش است.
- پروژه هنوز دامنهٔ production ندارد: مانیتورش در نخستین استقرار production آن ساخته میشود.
- پروژه به سقف مانیتورهای فعالی که طرحش اجازه میدهد رسیده است: طرح را ارتقا دهید، سپس Monitor production domains را خاموش و دوباره روشن کنید.
Vercel میگوید نشانی ایمیل خود را تأیید کنید
Status200 به نشانی ایمیلی نیاز دارد که Vercel آن را تأیید کرده باشد، و اگر حساب Status200 با آن نشانی از پیش وجود دارد، نشانی آن حساب هم باید تأیید شده باشد. نشانی را تأیید کنید، سپس منبع را اضافه کنید یا Status200 را دوباره باز کنید.