یک فروشگاه اینترنتی کوچک در قونیه، Uptime Kuma را روی یک VPS (سرور مجازی اجارهای) در همان دیتاسنتری اجرا میکند که وبسرورش در آن است و داشبورد سه روز است که سبز مانده است. دوشنبه پیامهایی که به پشتیبانی رسیده چیز دیگری میگویند: مشتریانی که با اینترنت همراه وصل میشوند نمیتوانند صفحه پرداخت را باز کنند و یک نماینده فروش در آلمان اصلاً به سایت نمیرسد. خرابی جایی در مسیر رسیدن به سایت است؛ مثلاً مشکل مسیریابی در یک شبکه یا قاعده مسدودسازی جغرافیایی که بیش از حد گسترده تنظیم شده است. پایشگر درست کنار سایت نشسته بود، پس هیچکدام از اینها را ندید.
این راهنما توضیح میدهد آپتایم 99.9% به ساعت چقدر است، Uptime Kuma چه کاری انجام میدهد، کدام نوع پایشگر را انتخاب کنید و چگونه آن را با Docker نصب کنید. سپس نشان میدهد چرا بررسی از یک نقطه، نقطه کوری باقی میگذارد، چگونه بررسیهای یک پایشگر را از پروکسی HTTP یا SOCKS5 عبور دهید و این کار چقدر ترافیک مصرف میکند.
آپتایم چیست و آپتایم 99.9% یعنی چه؟
آپتایم (uptime) سهمی از زمان است که یک سرویس در دوره اندازهگیری در دسترس بوده است؛ باقی آن زمان قطعی (downtime) است. این مفهوم با فرمان uptime در Linux فرق دارد که نشان میدهد یک دستگاه چه مدت روشن بوده است. سال 365 روزه 8,760 ساعت دارد و آپتایم 99.9% فقط 0.1% آن، یعنی 8.76 ساعت، را برای قطعی باقی میگذارد. ماشینحسابهایی که 8 ساعت و 45 دقیقه و 57 ثانیه نشان میدهند، سال را 365.25 روز حساب میکنند.
| آپتایم | قطعی در سال (365 روز) | در ماه 30 روزه | در روز |
|---|---|---|---|
| 99% | 87.6 ساعت | 7 ساعت و 12 دقیقه | 14 دقیقه و 24 ثانیه |
| 99.5% | 43.8 ساعت | 3 ساعت و 36 دقیقه | 7 دقیقه و 12 ثانیه |
| 99.9% | 8 ساعت و 45 دقیقه و 36 ثانیه | 43 دقیقه و 12 ثانیه | 1 دقیقه و 26 ثانیه |
| 99.95% | 4 ساعت و 22 دقیقه و 48 ثانیه | 21 دقیقه و 36 ثانیه | 43 ثانیه |
| 99.99% | 52 دقیقه و 34 ثانیه | 4 دقیقه و 19 ثانیه | 8.6 ثانیه |
تضمین آپتایم همین هدف است که در توافقنامه سطح خدمات (SLA) نوشته میشود. کتاب SRE شرکت Google دو روش برای اندازهگیری آن شرح میدهد: سهم زمانی که سیستم برقرار بوده و سهم درخواستهایی که موفق شدهاند (Embracing Risk).
Uptime Kuma چیست و به چه کاری میآید؟
Uptime Kuma ابزار پایشی ساخته Louis Lam است که با مجوز MIT منتشر شده است. آن را روی سرور خودتان نصب میکنید، در مرورگر باز میکنید و پایشگر (monitor) اضافه میکنید؛ هر پایشگر یک نشانی یا سرویس است که باید بررسی شود. مخزن پروژه در سپتامبر 2026 بیش از 90,000 ستاره داشت و نسخه جاری آن 2.5.5 بود.
برخلاف یک سرویس میزبانیشده، تاریخچه بررسیها و کلیدهای اعلان روی سرور شما میمانند و تعداد پایشگرها محدودیتی ندارد. در عوض، روشن نگه داشتن آن سرور با شماست و بررسیها از همان جایی انجام میشوند که برنامه اجرا میشود. Uptime Kuma همچنین Status Pages عمومی (صفحههای وضعیت)، بازههای Maintenance (نگهداری) که هشدارها را متوقف میکنند و رابط کاربری به بیش از 40 زبان دارد.
Uptime Kuma سایت را چگونه بررسی میکند؟
هر پایشگر همین چرخه را تکرار میکند:
- فاصله بررسی سر میرسد. مقدار Heartbeat Interval بهطور پیشفرض 60 ثانیه است. درخواست، User-Agent را با مقدار
Uptime-Kuma/2.5.5میفرستد، پس میتوانید آن را در لاگهای سرورتان پیدا کنید. - منتظر میماند. اگر پاسخی در مدت Request Timeout (بهطور پیشفرض 48 ثانیه) نرسد، بررسی شکست میخورد.
- پاسخ را میخواند. کد وضعیت باید در محدوده Accepted Status Codes باشد که بهطور پیشفرض
200-299است (کدهای وضعیت HTTP). پایشگر Keyword علاوه بر این، واژه موردنظر شما را در صفحه جستوجو میکند و به بزرگی و کوچکی حروف حساس است. - دوباره تلاش میکند. اگر Retries بیشتر از 0 باشد، بررسی ناموفق با فاصله Heartbeat Retry Interval تکرار میشود. پایشگرهای تازه با مقدار 0 شروع میکنند، پس گم شدن یک بسته هم هشدار میفرستد.
- هشدار میدهد. وقتی تلاشهای دوباره تمام شوند، پایشگر به وضعیت DOWN میرود و کانالهایی که زیر Settings > Notifications افزودهاید پیام میگیرند؛ وقتی بررسی دوباره موفق شود، به UP برمیگردد.
- ثبت میکند. صفحه پایشگر آپتایم 24 ساعت، 30 روز و 1 سال گذشته را نشان میدهد.
گزینه Certificate Expiry Notification در پایشگرهای تازه خاموش است. آن را برای سایتهای HTTPS روشن کنید: Let's Encrypt از ماه مه 2026 گواهیهای 45 روزه را بهصورت اختیاری ارائه میکند و قرار است از فوریه 2027 گواهیهای 64 روزه را پیشفرض کند (Let's Encrypt)؛ پس نوبت تمدید گواهی زودتر فرا میرسد.
کدام نوع پایشگر را انتخاب کنید؟
Uptime Kuma 2.5.5 حدود سی نوع پایشگر دارد. بیشتر سایتها به اینها نیاز دارند:
| نوع پایشگر | چه چیزی را تأیید میکند | از طریق پروکسی؟ | چه زمانی انتخاب کنید |
|---|---|---|---|
| HTTP(s) | سرور با یک کد وضعیت پذیرفتهشده پاسخ میدهد | بله | یک صفحه سلامت کوچک |
| HTTP(s) - Keyword | صفحه واژهای را که انتظار دارید در خود دارد | بله | صفحه پرداخت، صفحه ورود |
| HTTP(s) - Json Query | پاسخ API مقدار موردانتظار را دارد | بله | نقطههای اتصال API |
| TCP Port و Ping و DNS | یک پورت باز است، یک میزبان پاسخ میدهد، یک رکورد درست است | خیر | پایگاه داده، سرور ایمیل، DNS |
| Push | یک کار زمانبندیشده گزارش میدهد که اجرا شده است | لازم نیست | پشتیبانگیری، کارهای cron |
| Globalping | Ping یا HTTP یا DNS از نقطه آزمونی (probe) که جامعه کاربران میزبانی میکند | خیر، از موقعیتی اجرا میشود که وارد میکنید | پوشش جغرافیایی گسترده |
| UptimeRobot (سرویس میزبانیشده، برای مقایسه) | HTTP، کلیدواژه، پورت و ping از سرورهای خود سرویس | خیر؛ پلنهای پولی از میان چهار منطقه انتخاب میکنند (سپتامبر 2026) | بدون نیاز به نصب |
پایشگر HTTP(s) بهتنهایی فقط ثابت میکند که سرور پاسخ داده است. حتی صفحه «در حال تعمیر» یا قالبی که خراب شده هم میتواند با کد 200 پاسخ دهد و UP حساب شود. پایشگر Keyword که دنبال برچسب دکمه پرداخت میگردد هر دو حالت را تشخیص میدهد و گزینه Invert Keyword وقتی واژهای مانند «تعمیر» در صفحه ظاهر شود هشدار میدهد. صفحه سلامت (health page) نشانی کوتاهی است که برنامهنویس شما اضافه میکند و وقتی برنامه و پایگاه داده پاسخ میدهند، «ok» برمیگرداند.
پیشرفته: Uptime Kuma را چگونه با Docker نصب کنیم؟
به یک VPS با Linux یا یک سرور خانگی نیاز دارید که Docker روی آن نصب باشد و از دستگاهی که سایت روی آن اجرا میشود جدا باشد. فرمان موجود در README پروژه:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2-dآن را در پسزمینه اجرا میکند و--restart=alwaysپس از خرابی یا راهاندازی دوباره سیستم، آن را دوباره روشن میکند.-p 3001:3001پورت پیشفرض 3001 را در دسترس قرار میدهد.-v uptime-kuma:/app/dataپایگاه داده را در یک volume از Docker نگه میدارد که با حذف کانتینر پاک نمیشود (مستندات volume در Docker). طبق README، پوشههای شبکهای (NFS) پشتیبانی نمیشوند.louislam/uptime-kuma:2سری2.xرا دنبال میکند؛ در 25 سپتامبر 2026 به نسخه 2.5.5 اشاره میکرد.
با Docker Compose، فایل رسمی compose.yaml را در یک پوشه خالی دانلود کنید و docker compose up -d را اجرا کنید؛ در این روش دادهها در پوشه محلی ./data میمانند. سپس http://your-server-ip:3001 را باز کنید، زبان و پایگاه داده را انتخاب کنید (برای راهاندازی کوچک SQLite کافی است)، حساب مدیر را بسازید و روی Add New Monitor کلیک کنید. نام گزینهها در این راهنما از رابط انگلیسی برنامه آمده است. برای بهروزرسانی، ایمیج تازه را pull کنید، کانتینر را حذف کنید و فرمان را دوباره اجرا کنید؛ volume پایشگرهای شما را نگه میدارد.
باز کردن داشبورد روی دامنه خودتان با HTTPS کار یک ریورس پروکسی مانند nginx یا Caddy است که باید هدرهای Upgrade و Connection را برای WebSocket عبور دهد؛ ویکی پروژه نمونههایی دارد. این دو جهت پروکسی در فوروارد پروکسی و ریورس پروکسی: تفاوت در چیست؟ با هم مقایسه شدهاند.
پایش از یک نقطه چه چیزهایی را نمیبیند؟
پایشگری که در دیتاسنتر خود سایت قرار دارد ثابت میکند سرور کار میکند، نه اینکه مشتریان به آن میرسند. این موارد را نمیبیند:
- مشکل مسیریابی در یک شبکه: مشتریان یک ارائهدهنده اینترنت به سایت نمیرسند.
- DNS که بسته به منطقه فرق میکند: رکورد اشتباه روی یک سرور DNS فقط کاربران همان سرور را درگیر میکند.
- قاعده مسدودسازی جغرافیایی که بیش از حد گسترده است: قاعدهای که برای یک کشور نوشته شده کشور دیگری را هم مسدود میکند.
- یک سرور CDN که خطا برمیگرداند: CDN سایت را از سرورهای زیادی ارائه میکند و فقط بازدیدکنندگانی که به سرور خراب فرستاده میشوند خطا میبینند.
- IPهای مشترک موبایل که به محدودیت نرخ میخورند: اپراتورها کاربران زیادی را پشت یک نشانی قرار میدهند (CGNAT چیست؟).
سه راه برای گستردهتر کردن دید وجود دارد. راه نخست یک Uptime Kuma دوم در کشوری دیگر است. راه دوم نوع پایشگر Globalping است که در نسخه 2.1.0 اضافه شد و از نقطههای آزمونی (probe) آزمایش میکند که جامعه کاربران میزبانی میکند؛ فیلد موقعیت آن نام کشور، شهر یا ارائهدهنده شبکه را میپذیرد (Globalping). Globalping بدون حساب کاربری 250 آزمون در ساعت را مجاز میداند و از میان نقطههای آزمونی انتخاب میکند که در همان لحظه آنلایناند، پس ممکن است درست وقتی به آن نیاز دارید، در شبکه موردنظر هیچ نقطه آزمونی نباشد.
راه سوم پروکسی روی خود پایشگر است: بررسی از یک IP خروجی در کشوری که انتخاب میکنید بیرون میرود؛ همان ایدهای که پشت تست بومیسازی است.
چگونه روی پایشگر Uptime Kuma پروکسی تنظیم کنیم؟
این بخش درباره بررسیهای خروجی پایشگر است؛ داشبوردی که پشت nginx قرار دارد همان حالت ریورس پروکسی در بخش قبل است. تنظیمات پروکسی فقط در پایشگرهای HTTP(s)، HTTP(s) - Keyword و HTTP(s) - Json Query دیده میشود.
- به Settings > Proxies بروید و روی Set Up Proxy کلیک کنید.
- زیر Proxy Protocol گزینه HTTP یا SOCKS v5 (+DNS) را انتخاب کنید. در این فهرست HTTPS و SOCKS و SOCKS v5 و SOCKS v4 هم هست.
- زیر Proxy Server نشانی
pr.proxynet.ioرا وارد کنید و برای HTTP پورت8000را، یا برای SOCKS5 پورتی را که سازنده نقطه اتصال (Endpoint Generator) نشان میدهد. - گزینه Proxy server has authentication را تیک بزنید و User و Password را پر کنید (اینجا
user:pass). نام کاربری را از سازنده نقطه اتصال در پنل Proxynet کپی کنید؛ کشور، شهر و نشست در همین نام کاربری است (احراز هویت پروکسی). - Set As Default این پروکسی را به پایشگرهای تازه میدهد و Apply on all existing monitors به پایشگرهای موجود.
- ذخیره کنید و سپس در هر پایشگر، زیر Proxy گزینه No Proxy یا همین پروکسی را انتخاب کنید.
برای کشور دوم، کنار پروکسی روی Clone کلیک کنید و کشور را در نام کاربری تغییر دهید. آنوقت دو پایشگر «پرداخت (ترکیه)» و «پرداخت (آلمان)» میتوانند یک نشانی را زیر نظر بگیرند.
پروتکل تعیین میکند نام سایت کجا به IP تبدیل شود. SOCKS v5 دامنه را روی سرور Uptime Kuma به IP تبدیل میکند؛ SOCKS v5 (+DNS) و HTTP این کار را به پروکسی در نقطه خروج میسپارند، پس DNS هم از کشور مقصد آزمایش میشود (تفاوت پروکسی SOCKS و HTTP). برای اطمینان از مسیر، یک پایشگر Keyword با همین پروکسی را روی صفحهای بگذارید که کشور شما را نشان میدهد (آیا پروکسی کار میکند؟).
استخر پروکسی موبایل خطوطی از Turkcell و Türk Telekom و Vodafone در ترکیه دارد. شما کشور و شهر را انتخاب میکنید، نه اپراتور را؛ هر بررسی نشان میدهد سایت در شبکه موبایل چگونه رفتار میکند.
اگر سرور به Telegram یا سرویس هشدار دیگری دسترسی ندارد، متغیر محیطی NOTIFICATION_PROXY (از نسخه 2.0.0) بیشتر هشدارها را از پروکسی عبور میدهد، اما ایمیل را نه (متغیرهای محیطی پروکسی).
پایش از طریق پروکسی چقدر ترافیک مصرف میکند؟
هزینه پروکسیهای مسکونی و موبایل بر اساس گیگابایت (GB) حساب میشود. با فاصله 60 ثانیه، یک پایشگر در 30 روز 43,200 بررسی انجام میدهد. Uptime Kuma فقط HTML صفحه را دانلود میکند، نه تصویرها یا اسکریپتها را، اما برای هر بررسی اتصال تازهای از طریق پروکسی باز میکند؛ پس هر بررسی دستدهی TLS را تکرار میکند، یعنی تبادلی که رمزنگاری HTTPS را برقرار میکند.
ما این را در 25 سپتامبر 2026 اندازه گرفتیم: درخواست Uptime Kuma (با همان هدرها و بدون فشردهسازی) را از یک پروکسی HTTP محلی عبور دادیم و بایتها را در هر دو جهت شمردیم:
| آنچه پایشگر بار میکند | در هر بررسی | هر 60 ثانیه، 30 روز | هر 300 ثانیه، 30 روز |
|---|---|---|---|
| صفحه سلامت کوچک با 0.5 کیلوبایت کد HTML | 6.8 کیلوبایت | 0.29 گیگابایت | 0.06 گیگابایت |
| صفحهای با 120 کیلوبایت کد HTML | 127 کیلوبایت | 5.5 گیگابایت | 1.1 گیگابایت |
| همان صفحه، فشرده با gzip | 36.5 کیلوبایت | 1.6 گیگابایت | 0.32 گیگابایت |
| همان صفحه، با متد HEAD | 7.5 کیلوبایت | 0.32 گیگابایت | 0.06 گیگابایت |
برای محاسبه عدد خودتان، اندازه HTML فشردهنشده صفحه را از ابزارهای توسعهدهنده مرورگر بردارید، 6 تا 8 کیلوبایت برای اتصال به آن اضافه کنید و حاصل را در تعداد بررسیهای ماهانه و تعداد پایشگرها ضرب کنید. برای کم کردن آن:
- یک صفحه سلامت را زیر نظر بگیرید، نه صفحه اصلی را.
- از HEAD استفاده کنید (زیر HTTP Options > Method)؛ این متد بدنه صفحه را دریافت نمیکند، پس پایشگرهای Keyword نمیتوانند از آن استفاده کنند.
- فشردهسازی را درخواست کنید:
{"Accept-Encoding": "gzip"}را در فیلد Headers بگذارید؛ بررسی کلیدواژه همچنان کار میکند. - فاصله را طولانیتر کنید: پایشگر بدون پروکسی هر 60 ثانیه و پایشگرهای پروکسیدار هر 2 تا 5 دقیقه.
پروکسی مسکونی یک خروجی با اتصال خانگی در کشوری که انتخاب میکنید به شما میدهد. خروجی چرخشی در هر بررسی IP تازهای میدهد و همین زمان پاسخ را بالا و پایین میبرد؛ پروکسی با نشست ثابت یک IP را 1 تا 60 دقیقه نگه میدارد.
کاربردها
- صفحه پرداخت از نگاه اینترنت همراه در ترکیه: یک پایشگر Keyword از طریق پروکسی موبایل.
- پورتال نمایندگان فروش برای شریکان خارجی: برای هر کشوری که در آن نماینده دارید یک پایشگر (تست بومیسازی).
- API اپلیکیشن موبایل شما: یک پایشگر Json Query که از شبکه موبایل بررسی میشود (تست اپلیکیشن).
- API یک شریک تجاری که فقط IPهای ثبتشده را میپذیرد: Uptime Kuma روی سروری با IP ثابت (تفاوت IP ثابت و IP پویا).
- تغییرات محتوای یک صفحه: کار دیگری است؛ چگونه تغییرات یک وبسایت را پایش کنیم و هشدار بگیریم؟ را ببینید.
- بررسی یکباره «آیا سایت از کار افتاده است؟»: خطای This Site Can't Be Reached را ببینید.
خطاهای رایج
- نصب پایشگر روی همان سروری که زیر نظر دارد. وقتی سرور از کار بیفتد، ابزاری که باید هشدار را بفرستد هم همراه آن از کار میافتد.
- رها کردن Retries روی 0. گم شدن یک بسته در ساعت 3 بامداد کسی را از خواب بیدار میکند؛ آن را روی 1 یا 2 بگذارید.
- مسدود شدن پایشگر با فایروال خودتان. اگر سایت شروع به پاسخ 403 کرد، IP پایشگر را مجاز کنید (خطای Access Denied). فقط سایتهایی را زیر نظر بگیرید که مال شماست یا اجازه بررسیشان را دارید.
- استفاده از SOCKS v5 ساده برای تست موقعیت. نام دامنه همچنان روی سرور خودتان به IP تبدیل میشود.
- روشن کردن «Ignore TLS/SSL errors for HTTPS websites». این گزینه هشدار انقضای گواهی را هم خاموش میکند.
- اجرای کانتینر بدون volume. با یک بهروزرسانی همه پایشگرها از دست میروند.
راهنمای انتخاب
| نیاز | پیشنهاد |
|---|---|
| پایش یک سایت، بدون نصب چیزی | یک سرویس میزبانیشده؛ اگر دادهها باید پیش خودتان بماند، Uptime Kuma |
| اطمینان از اینکه صفحه با محتوای درست باز میشود | HTTP(s) - Keyword روی صفحه پرداخت، Retries روی 1 یا 2 |
| دیدن سایت همانطور که کاربران موبایل در ترکیه میبینند | پایشگری از طریق پروکسی موبایل، با HTTP یا SOCKS v5 (+DNS) |
| بررسی از کشور یک مشتری در خارج | یک خروجی مسکونی در همان کشور؛ اگر موقعیت تقریبی کافی است، Globalping |
| پایین نگه داشتن ترافیک پروکسی | صفحه سلامت، HEAD یا gzip، فاصله 2 تا 5 دقیقه |
| پایش API شریک تجاری با لیست IP مجاز | سروری با IP ثابت که در لیست آن شریک ثبت شده باشد |
| باز کردن داشبورد روی دامنه خودتان با HTTPS | ریورس پروکسیای که هدرهای WebSocket را عبور دهد |
پرسشهای متداول
آیا Uptime Kuma رایگان است؟
بله، نرمافزاری متنباز با مجوز MIT است. هزینه شما سروری است که روی آن اجرا میشود و ترافیک پروکسی، اگر از پروکسی استفاده کنید.
Uptime Kuma از کدام پورت استفاده میکند؟
بهطور پیشفرض از پورت 3001. در -p 8080:3001 عدد اول پورت روی سرور شما و عدد دوم پورت داخل کانتینر است (پورت 8080 چیست؟).
تفاوت Uptime Kuma و UptimeRobot چیست؟
UptimeRobot سرویسی میزبانیشده است و چیزی برای نصب ندارد؛ در سپتامبر 2026 پلن رایگان آن 50 پایشگر با فاصله 5 دقیقه را پوشش میداد. Uptime Kuma روی سرور خودتان و بدون محدودیت تعداد پایشگر اجرا میشود و نگهداری آن سرور با شماست.
آپتایم 99.9% در یک ماه چقدر قطعی را مجاز میداند؟
در ماه 30 روزه 43 دقیقه و 12 ثانیه و در یک ماه تقویمی میانگین حدود 43 دقیقه و 50 ثانیه.
تضمین آپتایم در SLA چیست؟
هدف دسترسپذیری در قرارداد ارائهدهنده سرویس است. دوره اندازهگیری، مواردی که مستثنا شدهاند (مانند نگهداری برنامهریزیشده) و شیوه جبران را بررسی کنید که اغلب به شکل اعتبار خدمات (service credit) است.
آیا Uptime Kuma میتواند از چند موقعیت پایش کند؟
بله، هرچند نسخه 2.5.5 عامل راه دور (remote agent) ندارد: پایشگر معمولی از سرور خودش بررسی میکند. برای موقعیتهای بیشتر، نسخههای دیگری از آن را در جاهای دیگر اجرا کنید، از نوع پایشگر Globalping استفاده کنید یا به هر پایشگر HTTP پروکسیای در کشوری دیگر بدهید.
خلاصه
درصد آپتایم فقط به اندازه جایی که از آن اندازهگیری میشود دقیق است. Uptime Kuma با یک فرمان Docker نصب میشود؛ برای صفحه پرداخت یک پایشگر Keyword بسازید، Retries را روی 1 یا 2 بگذارید و هشدار انقضای گواهی را روشن کنید. برای دیدن آنچه مشتریانتان میبینند، پس از حساب کردن ترافیک، همان پایشگر را از یک خروجی در کشور آنها اجرا کنید. صفحه خدمات پروکسی ما انواع خروجی را فهرست کرده است.




