فصل 17 از 50 درس 1 از 1

فصل هفدهم — Power BI Operations؛ مانیتورینگ، SLA، Gateway و نگهداری بعد از Go-Live

Power BI Operations؛ مانیتورینگ، SLA، Gateway و نگهداری بعد از Go-Live

بخشی از آموزش جامع Power BI

محتوای درس Power BI Operations؛ مانیتورینگ، SLA، Gateway و نگهداری بعد از Go-Live

کتاب جامع Power BI — آموزش پروژه‌محور، تصویری و کاربردی

مقدمه؛ Go-Live پایان پروژه نیست

خیلی از تیم‌ها فکر می‌کنند وقتی Dashboard منتشر شد پروژه تمام شده. اتفاقاً از همین‌جا یک مسئولیت جدید شروع می‌شود: مطمئن شویم داده به‌موقع Refresh می‌شود، Gateway سالم است، کاربران واقعاً از گزارش استفاده می‌کنند و اگر عددی خراب شد تیم می‌داند چه کار کند.

در این فصل Power BI را مثل یک سرویس سازمانی نگاه می‌کنیم؛ سرویسی که باید مانیتور، پشتیبانی و بهبود داده شود.

۱۷.۱. چرخه عملیات Power BI

شکل ۱۷-۱ — چرخه عملیات بعد از انتشار
شکل ۱۷-۱ — چرخه عملیات بعد از انتشار

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

۱۷.۲. چه چیزهایی باید مانیتور شوند؟

حوزهنمونه کنترل
Data Refreshموفق/ناموفق، مدت اجرا
GatewayOnline بودن و اتصال
Semantic Modelخطا و Performance
Reportsمصرف و تجربه کاربر
Securityدسترسی و RLS
Capacityفشار و مصرف منابع در محیط‌های مربوط

۱۷.۳. Refresh SLA

SLA یعنی توافق روشن درباره سطح خدمت. مثلاً گزارش فروش باید تا ساعت ۷ صبح با داده روز قبل آماده باشد.

Sales BI SLA
Data ready: 07:00
Maximum accepted delay: 30 min
Owner: BI Operations

عدد SLA باید با نیاز کسب‌وکار و توان زیرساخت هماهنگ باشد.

۱۷.۴. SLA با Refresh Schedule یکی نیست

Schedule می‌گوید Refresh چه زمانی شروع شود؛ SLA می‌گوید کسب‌وکار چه زمانی انتظار دارد داده قابل استفاده باشد.

نکته: اگر Refresh ساعت ۶ شروع شود ولی دو ساعت طول بکشد، Schedule رعایت شده اما SLA ساعت ۷ شکسته شده است.

۱۷.۵. Refresh Failure

اول باید بدانیم Failure از کدام دسته است: Source، Credential، Gateway، Query، Capacity یا تغییر Schema.

Refresh failed
→ Source reachable?
→ Credentials valid?
→ Gateway healthy?
→ Schema changed?
→ Query/model issue?

۱۷.۶. Refresh Duration

فقط موفق بودن Refresh کافی نیست. اگر اجرای معمول ۱۰ دقیقه‌ای ناگهان ۵۰ دقیقه شود، یک علامت هشدار داریم حتی اگر کار هنوز Fail نشده باشد.

Trend زمان Refresh را نگه دار تا تغییر رفتار را زود ببینی.

۱۷.۷. Gateway؛ نقطه حساس

در سناریوهایی که Power BI Service باید به منبع داخل شبکه سازمان متصل شود، Gateway بخشی حیاتی از مسیر داده است.

Gateway را روی سیستم شخصی توسعه‌دهنده یا لپ‌تاپی که خاموش می‌شود قرار نده.

۱۷.۸. Gateway Health

کنترلسؤال
AvailabilityGateway آنلاین است؟
Connectivityبه Source دسترسی دارد؟
Credentialsاعتبار اتصال معتبر است؟
HostCPU/RAM/Network مناسب است؟
Ownershipچه کسی مسئول آن است؟

۱۷.۹. Credential Management

Credentialها نباید وابسته به حساب شخصی فردی باشند که ممکن است سازمان را ترک کند. روش احراز هویت باید با سیاست امنیتی سازمان هماهنگ باشد.

۱۷.۱۰. تغییر Schema منبع

تیم ERP ممکن است نام ستون را تغییر دهد یا View را بازطراحی کند و فردای آن روز Refresh بشکند.

Source change
→ Data contract / notice
→ Dev test
→ BI update
→ Controlled release

همین‌جا ارزش Data Contract فصل سیزدهم مشخص می‌شود.

۱۷.۱۱. Incident چیست؟

Incident یعنی رخدادی که سرویس BI را مختل یا خروجی قابل اعتماد آن را تهدید می‌کند؛ مثل Refresh Failure، داده اشتباه یا دسترسی نادرست.

۱۷.۱۲. فرایند Incident

شکل ۱۷-۲ — مسیر ساده مدیریت Incident
شکل ۱۷-۲ — مسیر ساده مدیریت Incident

هدف این نیست که فقط مشکل را سریع ببندیم؛ باید بعد از Fix مطمئن شویم عدد درست شده و علت اصلی هم ثبت شده است.

۱۷.۱۳. Severity

سطحنمونه
Criticalگزارش هیئت‌مدیره عدد غلط نشان می‌دهد
HighRefresh فروش روزانه Fail شده
Mediumیک صفحه فرعی کند است
Lowاشکال ظاهری محدود

سطح‌بندی واقعی باید با اثر کسب‌وکاری سازمان تعریف شود.

۱۷.۱۴. Triage

در Triage سریع مشخص می‌کنیم چه کسانی تحت تأثیرند، چه KPIهایی مشکل دارند، آخرین Refresh چه زمانی بوده و آیا Workaround وجود دارد.

۱۷.۱۵. Root Cause Analysis

Problem: Sales report stale
Why? Refresh failed
Why? Gateway unavailable
Why? Host restarted
Why? Service did not recover
Action: infrastructure + monitoring fix

Root Cause یعنی از علامت عبور کنیم و به علت اصلی نزدیک شویم.

۱۷.۱۶. Post-Incident Review

برای Incidentهای مهم بعد از حل مشکل یک مرور کوتاه انجام بده: چه شد، چرا شد، چطور فهمیدیم، چطور حل شد و چه کاری جلوی تکرار را می‌گیرد.

این جلسه برای مقصر پیدا کردن نیست؛ برای بهتر شدن سیستم است.

۱۷.۱۷. Usage Metrics؛ سؤال درست

صرفاً تعداد View کافی نیست. باید بفهمیم چه کسانی، کدام صفحات و با چه تکراری از گزارش استفاده می‌کنند و آیا گزارش واقعاً در تصمیم‌گیری وارد شده است.

۱۷.۱۸. Adoption

شکل ۱۷-۳ — Adoption فقط باز کردن Report نیست
شکل ۱۷-۳ — Adoption فقط باز کردن Report نیست

کاربر ممکن است دسترسی داشته باشد و Report را باز کند، ولی به عدد اعتماد نکند. Adoption واقعی وقتی است که خروجی وارد فرایند تصمیم‌گیری شود.

۱۷.۱۹. شاخص‌های Adoption

شاخصبرداشت
Active Usersچند نفر واقعاً استفاده می‌کنند؟
Repeat Usageآیا دوباره برمی‌گردند؟
Page Usageکدام صفحه ارزش دارد؟
Support Questionsکجا UX یا تعریف مبهم است؟
Business Process Useآیا در جلسه/تصمیم استفاده می‌شود؟

۱۷.۲۰. گزارش بدون استفاده

اگر یک Report سه ماه است تقریباً مصرف ندارد، فوراً حذفش نکن. Owner را پیدا کن و ببین Seasonal است، جایگزین دارد یا واقعاً باید Retire شود.

۱۷.۲۱. Report Lifecycle

Development → Active → Review → Deprecated → Retired

Lifecycle باعث می‌شود Workspace تبدیل به قبرستان گزارش‌های قدیمی نشود.

۱۷.۲۲. Owner Review

هر چند وقت یک بار مالک گزارش باید تأیید کند که Report هنوز لازم است، KPIها معتبرند و مخاطبان درست هستند.

فاصله Review را بر اساس اهمیت و سرعت تغییر کسب‌وکار تعیین کن.

۱۷.۲۳. Access Review

دسترسی Workspace، App و RLS باید دوره‌ای بازبینی شود؛ مخصوصاً بعد از تغییر سمت یا خروج کارکنان.

۱۷.۲۴. RLS Monitoring

برای Roleهای حساس Test Case نگه دار. بعد از تغییر مدل یا Security Mapping دوباره بررسی کن که مدیر شعبه فقط داده مجاز را می‌بیند.

۱۷.۲۵. Performance Monitoring

کندی Report ممکن است از Visual، DAX، Model، Source یا Capacity باشد. Performance را فقط وقتی کاربر شکایت کرد بررسی نکن.

Baseline page load
→ Observe trend
→ Investigate regression

۱۷.۲۶. Capacity؛ نگاه مفهومی

در محیط‌هایی که ظرفیت اشتراکی یا اختصاصی مطرح است، مصرف منابع می‌تواند روی تجربه کاربران اثر بگذارد.

جزئیات Capacity و Licensing تغییرپذیر است؛ برای طراحی واقعی باید مستندات جاری سرویس بررسی شود.

۱۷.۲۷. Alerting

برای رخدادهای مهم بهتر است مسیر اطلاع‌رسانی مشخص باشد: Refresh Fail، SLA Breach یا Incident مهم نباید فقط با مشاهده اتفاقی کشف شوند.

Event → Alert → Owner → Action → Resolution

۱۷.۲۸. Alert Fatigue

اگر برای هر اتفاق کوچک Alert بفرستی، تیم بعد از مدتی هیچ Alertی را جدی نمی‌گیرد.

نکته: Alert باید Actionable باشد؛ یعنی دریافت‌کننده بداند چه چیزی را باید بررسی کند.

۱۷.۲۹. Runbook

Runbook دستورالعمل کوتاه و اجرایی برای مشکلات تکراری است.

Refresh Failure Runbook
1. Check refresh history
2. Check gateway
3. Check source
4. Check credentials
5. Re-run after fix
6. Validate KPI
7. Log incident

۱۷.۳۰. Operational Dashboard

خود تیم BI هم می‌تواند Dashboard عملیاتی داشته باشد: وضعیت Refreshها، Failure Rate، مدت اجرا، گزارش‌های پرترافیک و Incidentهای باز.

یعنی Power BI فقط برای فروش نیست؛ برای اداره خود سرویس BI هم می‌تواند استفاده شود.

۱۷.۳۱. KPIهای تیم BI

KPIنمونه تعریف
Refresh Success %Refresh موفق / کل Refresh
SLA Compliance %دفعات آماده بودن به‌موقع
MTTRمیانگین زمان رفع Incident
Active Usageکاربران فعال
Retired Contentمحتوای پاک‌سازی‌شده

۱۷.۳۲. MTTR

Mean Time To Resolve نشان می‌دهد به طور متوسط حل Incident چقدر زمان می‌برد.

این KPI باید همراه Severity دیده شود؛ حل یک اشکال ظاهری با Incident بحرانی قابل مقایسه مستقیم نیست.

۱۷.۳۳. Change Window

برای تغییرات حساس Production یک بازه کنترل‌شده تعریف کن؛ مخصوصاً وقتی Refresh یا مدل حیاتی است.

زمان انتشار را طوری انتخاب کن که امکان Validation و Rollback داشته باشی.

۱۷.۳۴. Rollback Plan

قبل از تغییر بزرگ بدان اگر Release مشکل داشت چطور به نسخه پایدار برمی‌گردی.

Release
→ Validate
→ Problem?
   Yes → Rollback
   No  → Monitor

۱۷.۳۵. Business Continuity

برای Dashboardهای حیاتی مشخص کن اگر سرویس یا Source موقتاً در دسترس نبود، کسب‌وکار چه جایگزینی دارد.

سطح Continuity باید متناسب با اهمیت فرایند باشد.

۱۷.۳۶. عملیات شرکت هانا

برای شرکت هانا گزارش فروش باید هر روز قبل از جلسه ساعت ۸ آماده باشد. SLA را ۷:۱۵ می‌گذاریم تا زمان کنترل وجود داشته باشد.

06:30 Refresh starts
07:15 SLA deadline
07:20 Validation check
08:00 Sales meeting

۱۷.۳۷. Incident شرکت هانا

فرض کن ساعت ۷ Refresh Fail شده. تیم عملیات Refresh History را بررسی می‌کند، می‌بیند Gateway Offline است، سرویس را بازیابی می‌کند، Refresh را دوباره اجرا می‌کند و KPI اصلی را با منبع کنترل می‌کند.

بعد علت خاموش شدن Gateway Host ثبت و اقدام پیشگیرانه تعریف می‌شود.

۱۷.۳۸. Adoption شرکت هانا

بعد از یک ماه می‌بینیم صفحه Product Analysis تقریباً استفاده نمی‌شود. به جای حذف فوری با مدیر فروش صحبت می‌کنیم و مشخص می‌شود کاربران مسیر Drill Through را بلد نیستند.

پس مشکل Adoption با آموزش و UX حل می‌شود، نه با ساخت Report جدید.

۱۷.۳۹. چک‌لیست روزانه/هفتگی

تناوبکنترل
روزانهRefresh و Incidentهای مهم
هفتگیTrend زمان Refresh و خطاها
ماهانهUsage/Adoption و Access Review منتخب
فصلیLifecycle، Owner و محتوای Deprecated

۱۷.۴۰. خطاهای رایج Operations

خطای اول: فقط وقتی کاربر زنگ زد بفهمیم Refresh خراب است.

خطای دوم: Gateway روی سیستم شخصی.

خطای سوم: نبود Owner.

خطای چهارم: Alert زیاد و بی‌ارزش.

خطای پنجم: Fix بدون Validation.

خطای ششم: Reportهای قدیمی بدون Lifecycle.

خطای هفتم: Usage را فقط با View Count سنجیدن.

۱۷.۴۱. Best Practiceها

برای داده حیاتی SLA تعریف کن.

Refresh Duration را هم مانیتور کن.

Gateway را زیرساخت سازمانی در نظر بگیر.

Runbook برای Failureهای پرتکرار داشته باش.

Incident مهم را Root Cause Analysis کن.

Adoption را با رفتار واقعی کاربر بسنج.

Access و RLS را بازبینی کن.

Rollback و Change Log را فراموش نکن.

۱۷.۴۲. تمرین پایه

برای Dashboard فروش شرکت هانا یک SLA تعریف کن و مشخص کن Refresh چه زمانی شروع شود، Deadline چه زمانی باشد و Owner چه کسی باشد.

۱۷.۴۳. تمرین متوسط

یک Runbook برای Refresh Failure بنویس که Source، Credential، Gateway و Validation را پوشش دهد.

۱۷.۴۴. تمرین کاربردی

یک Operational Dashboard طراحی کن که Refresh Success، Duration، SLA Breach، Active Users و Incidentها را نشان دهد.

۱۷.۴۵. تمرین چالشی

سناریویی طراحی کن که Refresh موفق است ولی عدد فروش اشتباه است. توضیح بده تیم چطور Incident را تشخیص، محدود، رفع و Validate می‌کند.

۱۷.۴۶. پروژه نهایی فصل؛ BI Operations Center شرکت هانا

بخشخروجی
SLARefresh deadlines
MonitoringRefresh/Gateway/Performance
IncidentSeverity + Runbook
AdoptionUsage + business use
SecurityAccess/RLS review
LifecycleActive/Deprecated/Retired
ContinuityRollback/backup process
ImprovementPost-incident actions

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

جمع‌بندی فصل هفدهم

Power BI حرفه‌ای فقط Build و Publish نیست. بعد از Go-Live باید Refresh، Gateway، Performance، Security، Adoption و Incidentها مدیریت شوند.

Build → Publish → Operate → Monitor → Improve

در فصل بعد وارد موضوع امنیت و Governance پیشرفته می‌شویم: طراحی مدل دسترسی سازمانی، RLS/OLS، اصل Least Privilege، Audit، اشتراک‌گذاری امن و معماری امنیت Power BI در مقیاس Enterprise.