# مشخصات درس‌نامه: سامانه‌های پایش آپتایم (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. **کال‌اوت‌های آموزشی و هشدار کوئرا:** * کال‌اوت بنفش (`
`): مفهوم آلارم کاذب (False Positive)؛ چرا مانیتور باید بعد از ۲ تلاش ناموفق متوالی آلارم بزند تا با نوسانات چندثانیه‌ای اینترنت هشدار اشتباه ندهد. * کال‌اوت سبز (`
`): دریافت نوتیفیکیشن تلگرام در کمتر از ۶۰ ثانیه بعد از قطعی سرور روی گوشی موبایل. * کال‌اوت قرمز (`
`): پایش روت‌های سنگین دیتابیسی را در بازه‌های ۳۰ ثانیه‌ای نگذارید؛ پینگ‌های سنگین مداوم خودشان باعث کندی سرور می‌شوند! ### آنچه نباید وارد آن شویم (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 (`
`):** جلوگیری از آلارم‌های کاذب؛ تنظیم شرط اعلام قطعی تنها پس از ۲ بار تلاش ناموفق پیاپی. 11. **باکس هشدار Quera (`
`):** مانیتور را روی صفحات سنگین نیازمند لاگین نگذارید؛ همیشه صفحه اصلی یا یک اندپوینت سبک `/api/health` را مانیتور کنید. 12. **باکس رضایت‌بخش Quera (`
`):** شبیه‌سازی قطعی سرور (توقف موقت در پنل) و شنیدن صدای زنگ هشدار تلگرام در کمتر از ۶۰ ثانیه روی گوشی. 13. **جمع‌بندی درس‌نامه:** مجهز شدن به سیستم هشدار سریع؛ ورود به ایستگاه کالبدشکافی خطاهای زنده پروداکشن با سنتری (Sentry) در درس بعدی. --- ## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) - [ ] مفهوم آپتایم و چرخه مانیتورینگ بیرونی به روشنی بیان شود. - [ ] راه‌اندازی گام‌به‌گام UptimeRobot به صورت عملی آموزش داده شود. - [ ] نحوه اتصال ربات تلگرام و دریافت اعلان‌های لحظه‌ای در متن لحاظ گردد. - [ ] مفهوم پایش کلیدواژه و صفحه وضعیت عمومی (Status Page) تشریح شود.