Files

12 KiB
Raw Blame History

مشخصات درس‌نامه: سامانه‌های پایش آپتایم (Uptime Monitoring) و تنظیم هشدارهای تلگرام و ایمیل با UptimeRobot

  • شناسه در سیلابس: L13.3
  • فصل: فصل ۱۳: نگهداری محصول (Ch 13)
  • نوع محتوا: 📘 درس‌نامه متنی
  • زمان تقریبی مطالعه: ۱۶ دقیقه
  • پیش‌نیازهای مستقیم: L13.2 (مشاهده‌پذیری و مانیتورینگ منابع سرور)

۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)

دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:

  • درک کند (Understand): مفهوم پایداری و زمان آنلاین بودن (Uptime Percentage) را شرح دهد و بداند چرا کارفرما هرگز نباید اولین نفری باشد که خرابی سایت را به شما گزارش می‌دهد.
  • تحلیل/ارزیابی کند (Evaluate): نحوه عملکرد پایش شبیه‌سازی‌شده بیرونی (Synthetic HTTP Health Check) و تفاوت پایش وضعیت HTTP را با پایش کلیدواژه (Keyword Monitoring) تحلیل کند.
  • به‌کار ببندد (Apply): سرویس رایگان UptimeRobot را برای پایش ۲۴ ساعته دامنه پورتفولیو در فواصل زمانی ۵ دقیقه‌ای از دیتاسنترهای مختلف جهان راه‌اندازی کند.
  • ایجاد کند (Create): یک کانال هشدار فوری در تلگرام (Telegram Bot) و ایمیل متصل نماید که در صورت قطعی سرور یا بازگشت به وضعیت آنلاین، در کمتر از یک دقیقه اعلان فوری دریافت کند.

۲. محدوده و مرزهای محتوا (Scope & Boundaries)

آنچه باید پوشش داده شود (In-Scope):

  1. قانون طلایی اعتبار مهندسی: باخبر شدن سازنده قبل از بقیه دنیا:
    • چرا وقتی یک استخدام‌کننده لینک پورتفولیو را باز می‌کند و با صفحه سفید روبرو می‌شود، فرصت شغلی برای همیشه می‌سوزد؟
  2. ریاضیات آپتایم: قانون سه نُه (99.9% Uptime):
    • ۹۹.۹٪ به معنای حدود ۸.۷ ساعت قطعی در کل سال است؛ هدف شما پایداری ۹۹.۹۵٪ یا بالاتر است.
  3. پایشگرهای سلامت بیرونی (Synthetic Heartbeat Monitoring):
    • چرا پایش باید از بیرون سرور انجام شود؟ ربات‌های سراسر دنیا هر ۵ دقیقه یک پینگ HTTPS به سایت شما می‌فرستند.
    • پایش کدهای وضعیت: کد ۲۰۰ به معنای وضعیت سبز (UP) و هرگونه خطای ۵۰۰، ۵۰۲، ۵۰۳ یا تاخیر طولانی به معنای قطعی (DOWN).
    • پایش کلیدواژه‌ای (Keyword Check): اطمینان از اینکه متن مشخصی (مثلاً نام شما یا عنوان پورتفولیو) در خروجی هست و صفحه سفید خالی رندر نشده است.
  4. راه‌اندازی گام‌به‌گام UptimeRobot (پلن رایگان با ۵۰ مانیتور):
    • ثبت نام سریع و زدن دکمه Add New Monitor.
    • انتخاب نوع HTTPS، وارد کردن دامنه و تنظیم بازه چک ۵ دقیقه‌ای.
  5. اتصال کانال‌های اعلام خطر فوری (Alerting Contacts):
    • اتصال ایمیل شخصی برای دریافت گزارش‌های قطعی و اتصال مجدد.
    • اتصال ربات رسمی تلگرام UptimeRobot: عضویت در ربات، دریافت شناسه چت و دریافت پیام‌های آنی قطعی به محض بروز حادثه.
  6. ساخت صفحه وضعیت عمومی (Public Status Page):
    • ساخت یک صفحه وضعیت شیک با تاریخچه ۹۰ روزه پایداری برای نشان دادن حرفه‌ای‌گری به کارفرمایان و مشتریان.
  7. کال‌اوت‌های آموزشی و هشدار کوئرا:
    • کال‌اوت بنفش (<details class="violet">): مفهوم آلارم کاذب (False Positive)؛ چرا مانیتور باید بعد از ۲ تلاش ناموفق متوالی آلارم بزند تا با نوسانات چندثانیه‌ای اینترنت هشدار اشتباه ندهد.
    • کال‌اوت سبز (<details class="green">): دریافت نوتیفیکیشن تلگرام در کمتر از ۶۰ ثانیه بعد از قطعی سرور روی گوشی موبایل.
    • کال‌اوت قرمز (<details class="red">): پایش روت‌های سنگین دیتابیسی را در بازه‌های ۳۰ ثانیه‌ای نگذارید؛ پینگ‌های سنگین مداوم خودشان باعث کندی سرور می‌شوند!

آنچه نباید وارد آن شویم (Out-of-Scope):

  • سامانه‌های پیجینگ تلفنی گران‌قیمت شرکتی نظیر PagerDuty یا Opsgenie.
  • کانفیگ سیستم‌های بررسی پکت‌های خام شبکه ICMP در فایروال‌ها.

۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)

اصطلاح انگلیسی معادل فارسی مصوب توضیح یک‌خطی ساده
Uptime / Downtime زمان پایداری / زمان قطعی درصد مدت زمانی که سرویس اینترنتی به درستی در دسترس بوده در مقایسه با زمان از کارافتادگی
Synthetic Monitoring پایش ساختگی شبیه‌ساز ارسال خودکار درخواست‌های دوره‌ای از سرورهای مختلف جهان برای سنجش دسترسی به سایت
Heartbeat Ping پالس ضربان قلب سیگنال دوره‌ای منظم برای اطمینان از زنده بودن و پاسخ‌گویی سرور
Alerting Channel کانال اعلام خطر بستر ارتباطی (تلگرام، پیامک، ایمیل) که اعلان اضطراری قطعی سرور را به مدیر سیستم می‌رساند
Public Status Page صفحه وضعیت عمومی صفحه‌ای شفاف و عمومی که آمار زنده سلامت، پایداری تاریخی و قطعی‌های سیستم را نمایش می‌دهد
False Positive زنگ خطر کاذب اعلام اشتباه قطعی سیستم به دلیل افت موقت شبکه در یک نقطه محلی بدون اینکه سرور واقعاً خاموش باشد

۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)

راهنمای ایجنت نویسنده: تمام تصاویر باید در پوشهٔ images/ ذخیره شده و در جدول تک‌خانه‌ای وسط‌چین درج شوند:

  1. تصویر کاور درس: images/cover.png
    • موضوع: زنگ نئونی هشدار دیجیتال در حال مخابره پیام به یک گوشی هوشمند با نماد ربات تلگرام و چراغ سبز فعال سرور.
  2. چرخه پایش سلامت و ارسال هشدار: images/uptime-monitoring-flow.png
    • موضوع: فلوچارت: ربات‌های UptimeRobot درخواست می‌فرستند \rightarrow سرور پاسخ نمی‌دهد (خطای ۵۰۲) \rightarrow تست مجدد بعد از ۳۰ ثانیه \rightarrow ارسال پیام هشدار فوری به تلگرام توسعه‌دهنده.
  3. تنظیم مانیتور و هشدارهای تلگرام در کنسول UptimeRobot: images/uptimerobot-dashboard-setup.png
    • موضوع: اسکرین‌شات از داشبورد UptimeRobot با فرم ثبت مانیتور جدید، تنظیم اینتروال و تیک زدن تلگرام و ایمیل.
  4. نمونه پیام هشدار قطعی و اتصال مجدد در تلگرام: images/telegram-alert-message-preview.png
    • موضوع: اسکرین‌شات از چت‌باکس تلگرام با پیام‌های قرمز «Monitor is DOWN» و پیام سبز بعدی «Monitor is UP».

۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (README.md)

  1. تیتر اصلی: # سامانه‌های پایش آپتایم (Uptime Monitoring) و تنظیم هشدارهای تلگرام و ایمیل با UptimeRobot
  2. مقدمه: اگر ساعت ۴ صبح سایت شما قطع شود، ترجیح می‌دهید ساعت ۹ صبح با صدای اعتراض کارفرما بیدار شوید یا ساعت ۴:۰۱ با اعلان هوشمند در تلگرامتان؟
  3. جدول کاور درس
  4. استعاره نگهبان شبانه ۲۴ ساعته:
    • سیستم پایشگری که هرگز نمی‌خوابد و هر ۵ دقیقه یک بار سلامت دروازه قلعه شما را چک می‌کند.
  5. مفهوم پایداری و در دسترس بودن (Uptime):
    • معنی درصدهای ۹۹.۹٪ و تاثیر مستقیم آن بر سئو و اعتماد کاربران.
  6. آموزش عملی ثبت مانیتور در UptimeRobot:
    • گام‌به‌گام ساخت حساب، انتخاب پروتکل HTTPS، و تعیین فاصله زمانی ۵ دقیقه‌ای.
  7. تکنیک پیشرفته: پایش کلیدواژه (Keyword Monitoring):
    • چرا گاهی سرور کد ۲۰۰ برمی‌گرداند اما صفحه سفید یا پیام خطاست؟ جستجوی هوشمند کلمات داخل صفحه.
  8. اتصال کانال تلگرام برای دریافت اعلان‌های آنی:
    • آموزش استارت ربات رسمی تلگرام UptimeRobot و اتصال آن به اکانت کاربری.
  9. ساخت صفحه وضعیت عمومی (Status Page) برای پورتفولیو:
    • نمایش کارنامه درخشان پایداری و ایجاد حس اعتماد در اولین نگاه کارفرما.
  10. باکس نکته Quera (<details class="violet">): جلوگیری از آلارم‌های کاذب؛ تنظیم شرط اعلام قطعی تنها پس از ۲ بار تلاش ناموفق پیاپی.
  11. باکس هشدار Quera (<details class="red">): مانیتور را روی صفحات سنگین نیازمند لاگین نگذارید؛ همیشه صفحه اصلی یا یک اندپوینت سبک /api/health را مانیتور کنید.
  12. باکس رضایت‌بخش Quera (<details class="green">): شبیه‌سازی قطعی سرور (توقف موقت در پنل) و شنیدن صدای زنگ هشدار تلگرام در کمتر از ۶۰ ثانیه روی گوشی.
  13. جمع‌بندی درس‌نامه: مجهز شدن به سیستم هشدار سریع؛ ورود به ایستگاه کالبدشکافی خطاهای زنده پروداکشن با سنتری (Sentry) در درس بعدی.

۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)

  • مفهوم آپتایم و چرخه مانیتورینگ بیرونی به روشنی بیان شود.
  • راه‌اندازی گام‌به‌گام UptimeRobot به صورت عملی آموزش داده شود.
  • نحوه اتصال ربات تلگرام و دریافت اعلان‌های لحظه‌ای در متن لحاظ گردد.
  • مفهوم پایش کلیدواژه و صفحه وضعیت عمومی (Status Page) تشریح شود.