Skip to content

**📑 مهاجرت به سرور جدید

  • تاریخ اجرا: ۱۴۰۴/۰۶/۲۹ (۲۰ سپتامبر ۲۰۲۵)
  • ساعت شروع: ۰۰:۰۰
  • ساعت پایان: ۰۴:۰۰
  • داون تایم ۳۵ دقیقه
  • تهیه‌کننده گزارش: آرین ابراهیمی (SRE)
  • مدیر فنی: سیدعلی جزایری

1️⃣ خلاصه عملیات / Executive Summary

هدف عملیات: انتقال دیتابیس‌ها و سرویس‌های اصلی شهرزاد به زیرساخت جدید (Production Cloud) بدون ایجاد اختلال پایدار در دسترسی کاربران.

جریان عملیات:

  • تنظیم موقت /etc/hosts برای تست (۰۰:۰۳)
  • تهیه بکاپ کامل دیتابیس‌ها (۰۰:۰۳–۰۰:۲۹)
  • انتقال و بازگردانی بکاپ‌ها روی سرورهای جدید (۰۰:۲۹–۰۰:۴۰)
  • تست اولیه و هماهنگی تیم‌ها (۰۰:۴۰)
  • تغییر مسیر ترافیک به سرورهای جدید (۰۱:۱۵)
  • مشکل در Sentry logging → رفع شد
  • مشکل در تنظیم برخی متغیرهای محیطی (مانند MIARE_API_BASE_URL) → اصلاح شد
  • تأیید پایداری نهایی و اتمام عملیات (۰۲:۲۹)
  • انجام لود تست و بررسی سلامت سرور ها (۰۲:۴۰)
  • تست‌های تکمیلی در صبح روز بعد → موفقیت‌آمیز

نتیجه:

  • همه سرویس‌ها پایدار و در دسترس
  • مشکلات Sentry و Env Vars برطرف شدند
  • نیازی به Rollback نبود

2️⃣ فعالیت‌های انجام‌شده / Tasks Performed

DevOps – علی پیمان

  • [✅] قطع ترافیک ورودی و هدایت موقت
  • [✅] بکاپ‌گیری کامل از دیتابیس‌ها
  • [✅] انتقال دیتابیس‌ها به سرور جدید
  • [✅] بازگردانی بکاپ‌ها و بررسی صحت
  • [✅] تغییر مسیر ترافیک به زیرساخت جدید
  • [✅] بررسی منابع (CPU, RAM, Disk, Network)
  • [✅] رفع مشکل Environment Variables (MIARE & دیگر سرویس‌ها)

SRE – آرین ابراهیمی

  • [✅] مانیتورینگ لحظه‌ای سرویس‌ها
  • [✅] ثبت لاگ‌ها و گزارش خطاها
  • [✅] تست پایش از طریق Grafana + Cadvisor
  • [✅] تأیید سلامت سیستم پس از بازگشایی ترافیک

Backend – امیر کولیوند / مانا شمس / محمد عظیمی / فرهاد باغبان

  • [✅] بررسی صحت داده‌ها پس از انتقال
  • [✅] تست سرویس سفارش و پرداخت
  • [✅] بررسی و رفع مشکل امضای JWT
  • [✅] بررسی اتصال سرویس‌ها با env جدید

Frontend – آروین رحیمی / علیرضا عموبابایی / مهسا شهرابی / هاله شیخان

  • [✅] اجرای تست Playwright
  • [✅] بررسی UI روی وب‌سایت‌ها و سرویس‌ها (web.shahrzadcity.ir, panel, statics)

QA – میلاد اشرفی

مدیر فنی – سیدعلی جزایری

  • [✅] هماهنگی تیم‌ها در لحظه
  • [✅] تصمیم‌گیری در شرایط بحرانی
  • [✅] جمع‌بندی گزارش و تأیید نهایی

3️⃣ وضعیت سرویس‌ها پس از انتقال / Post-Migration Status

  • وب‌سایت (web.shahrzadcity.ir): فعال ✅
  • پنل ادمین: فعال ✅
  • سفارش (Order Service): فعال ✅ – تست شد (موارد دوچرخه + تاکسی)
  • پرداخت (Payment Service): فعال ✅ – مشکل timeout رفع شد
  • TMS / Driver:

  • Base URL Prod → web.shahrzadcity.ir/driver

  • Stage/Dev → قابل تست
  • میاره (MIARE):
  • Base URL Prod → https://ws.miare.ir/trip-management/third-party-api/v2/
  • Stage → https://ws.staging.miare.ir/trip-management/third-party-api/v2/
  • دیتابیس‌ها: پایدار، latency برطرف شد ✅
  • Grafana & Cadvisor: فعال – داشبورد پایش منابع در دسترس است
  • Sentry: مشکل عدم لاگ‌گیری → رفع شد ✅

عالی 👌 پس این مورد رو هم باید به بخش مشکلات و خطاها اضافه کنیم، با همون سبک روایت‌محور قبلی. من برات نسخه کامل‌شده رو می‌نویسم:


۴️⃣ مشکلات و خطاها / Issues & Errors

🕐 ساعت ۰۱:۴۵ — Timeout در سرویس پرداخت

  • تیم مسئول: SRE + Backend
  • شرح مشکل: سرویس پرداخت در لحظه تغییر ترافیک دچار Timeout شد.
  • اقدام انجام‌شده: منابع سرور افزایش یافت، لاگ‌ها بررسی شد و ترافیک مجدداً تست گردید.
  • وضعیت نهایی: مشکل برطرف شد و سرویس پایدار گردید.

🕐 ساعت ۰۱:۵۵ — عدم لاگ‌گیری در Sentry

  • تیم مسئول: Backend
  • شرح مشکل: بخشی از سرویس‌ها لاگ‌ها را به Sentry ارسال نمی‌کردند.
  • اقدام انجام‌شده: بررسی پیکربندی DSN، اعمال اصلاحات و تست مجدد.
  • وضعیت نهایی: لاگ‌ها به‌طور کامل ارسال شد و مشکل رفع گردید.

🕐 ساعت ۰۲:۰۰ — عدم دسترسی به Portainer

  • تیم مسئول: DevOps
  • شرح مشکل: دسترسی به آدرس prod01-portainer.shahrzaad.cloud برای تیم غیرممکن شد.
  • اقدام انجام‌شده: بررسی DNS و ریستارت سرویس.
  • وضعیت نهایی: سرویس بالا آمد اما در حال حاضر همچنان تحت پایش است.

🕐 ساعت ۰۲:۰۵ — مشکل در نمایش فایل‌های استاتیک

  • تیم مسئول: DevOps +‌ Backend
  • شرح مشکل: سرویس وب امکان سروینگ فایل‌های استاتیک (Static Files) را نداشت و بخشی از UI بالا نمی‌آمد.
  • اقدام انجام‌شده: مسیر مربوط به فایل‌های استاتیک در Nginx/Django به‌روزرسانی شد و کانفیگ مجدد اعمال گردید.
  • وضعیت نهایی: مشکل رفع شد و فایل‌های استاتیک به‌درستی بارگذاری می‌شوند.

🕐 ساعت ۰۲:۱۰ — مشکل در Env Vars (MIARE_API_BASE_URL و سایر متغیرها)

  • تیم مسئول: DevOps
  • شرح مشکل: برخی متغیرهای محیطی به اشتباه به محیط Staging اشاره می‌کردند.
  • اقدام انجام‌شده: اصلاح متغیرها و تست مجدد روی سرویس‌های وابسته.
  • وضعیت نهایی: مشکل برطرف شد و سرویس‌ها با مقادیر صحیح در حال اجرا هستند.

5️⃣ اقدامات اصلاحی و بازگشت / Rollback & Mitigation

  • Rollback انجام شد؟ خیر
  • اقدامات اصلاحی:

  • بهینه‌سازی connection pool دیتابیس

  • افزایش منابع سرویس پرداخت
  • اصلاح Env Vars (MIARE, Driver, …)
  • رفع مشکل لاگ‌گیری Sentry
  • نتیجه: سرویس‌ها پایدار و در دسترس

6️⃣ یادداشت‌ها و موارد فردا صبح / Notes & Next-Day Checklist

موارد تست در ۱۴۰۴/۰۶/۳۰ (فردا صبح):

  • [ X ] پرداخت سهند تاکسی از ساعت ۸ صبح
  • [ X ] تست میاره پس از باز شدن سرویس
  • [ X ] تست دوچرخه دنارو
  • [ X ] پروژه Questionnaire → لاگ Sentry ندارد → باید اضافه شود
  • [ X ] بررسی امضای JWT روی تمام سرویس‌ها

یادداشت‌ها:

  • دوچرخه ID 1000037 تست شد و اوکی بود
  • سرویس تره‌بار و نوماند تست شدند → بدون مشکل
  • Portainer نیاز به پایش دارد
  • حضور QA در عملیات بعدی ضروری است

7️⃣ تأییدیه‌ها / Approvals

  • DevOps: علی پیمان – ✅
  • SRE: آرین ابراهیمی – ✅
  • Backend: امیر کولیوند / مانا شمس / محمد عظیمی / فرهاد باغبان – ✅
  • Frontend: آروین رحیمی / علیرضا عموبابایی / مهسا شهرابی / هاله شیخان – ✅
  • مدیر فنی: سیدعلی جزایری – ✅