105 lines
12 KiB
Markdown
105 lines
12 KiB
Markdown
# مشخصات درسنامه: سامانههای پایش آپتایم (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) تشریح شود.
|