1---2name: fabric-monitoring3description: Use when monitoring Microsoft Fabric capacity usage, pipeline run failures, notebook performance, semantic model refresh errors, or managing Fabric capacity with the Capacity Metrics app. Covers DP-700 monitoring and optimization domain.4---56# Fabric Monitoring78## When to Use9- Investigating pipeline, notebook, or dataflow run failures in Microsoft Fabric10- Monitoring Fabric capacity unit (CU) consumption and identifying throttling11- Checking semantic model refresh history and diagnosing refresh failures12- Analyzing Spark job performance in notebooks13- Setting up alerts for pipeline failures or capacity overuse14- Preparing for Microsoft Fabric Data Engineer Associate (DP-700) exam1516## Core Jobs1718### 1. Monitoring Hub19- **Monitoring Hub** = central view of all Fabric activity runs in a workspace20- Access: Fabric workspace left nav → "Monitoring Hub"21- Covers: Pipeline runs, Notebook runs, Dataflow Gen2 refreshes, Semantic model refreshes, Spark jobs22- Columns: Item name, type, status (Succeeded/Failed/In Progress), start time, duration23- Click any run → **Activity run details**: per-activity status, input/output, error message24- Filter by: status (failed only), item type, date range, user2526### 2. Capacity Metrics App27- **Capacity Metrics app** = installed from AppSource; monitors CU usage for Fabric capacity28- Key metrics:29 - **CU %** — percentage of capacity consumed; >100% triggers throttling30 - **Throttling** — operations queued or rejected when capacity is consistently exceeded31 - **Smoothing** — Fabric spreads burst CU usage over a 10-minute rolling window to avoid instant throttling32- Use Capacity Metrics app to:33 - Identify which workloads consume the most CUs (Spark, SQL, Pipelines, Dataflows)34 - Find throttling incidents and their timing35 - Plan capacity scaling (upgrade SKU if consistently >80% utilization)36- Smoothing example: a 30-second Spark job consuming 100 CUs spreads impact over 10 minutes3738### 3. Semantic Model Refresh Monitoring39- Access: Workspace → Semantic Model → Settings → Refresh history40- Refresh history shows: scheduled/on-demand refreshes, status, duration, error details41- Common refresh failures:42 - Source connectivity (credentials expired, firewall block)43 - Timeout (large model exceeding refresh timeout)44 - Memory limit (model too large for capacity SKU)45- Schedule refresh: configure in Semantic Model settings; requires gateway for on-premises sources4647### 4. Alerts and Notifications48- **Pipeline failure alerts**: configure on pipeline run failure → send email or Teams notification49 - Use Failure path in Pipeline + Email/Teams activity50 - Or: Azure Monitor alert on Fabric pipeline failure metric51- **Capacity alerts**: in Capacity Metrics app, set threshold alerts for CU overuse52- **Semantic model refresh failure**: configure email notification in dataset settings → send failure email53- **Reflex alerts**: for Eventstream data — trigger actions when real-time data meets conditions5455### 5. Spark Monitoring in Notebooks56- Each notebook cell shows execution duration after run57- **Spark job monitoring**: click "Spark jobs" in notebook toolbar → opens Spark monitoring UI58- Spark UI includes:59 - **DAG visualization** — shows stages and task dependencies60 - **Stage/task metrics** — input bytes, shuffle bytes, task duration61 - **Executor logs** — stderr/stdout for debugging failures62- Common Spark performance issues:63 - Data skew: one partition much larger than others (use salting or repartition)64 - Excessive shuffle: joins on non-partitioned columns (partition by join key)65 - Small files: many tiny Delta files slow reads (use `OPTIMIZE` command on Delta table)6667### 6. Admin Portal Monitoring68- **Admin portal** → accessible to Fabric/Power BI tenant admins69- Key monitoring tools:70 - **Usage metrics** — who is using which items (reports, datasets); consumption trends71 - **Audit logs** — user activity log (create, delete, share, export); integrates with Microsoft Purview72 - **Tenant settings** — enable/disable features across tenant (e.g., allow external users, allow export)73 - **Capacity settings** — manage Fabric capacity SKUs; assign workspaces to capacities7475## Key Concepts76- **Monitoring Hub** — workspace-level view of all activity runs; primary debugging tool for failed pipelines/notebooks77- **CU (Capacity Unit)** — unit of Fabric compute resource; SKU determines how many CUs available78- **Throttling** — operations slowed or rejected when capacity CU limit exceeded79- **Smoothing** — 10-minute rolling window; Fabric spreads burst usage to reduce throttling frequency80- **Capacity Metrics app** — AppSource app for CU usage analysis; identify heavy workloads and plan scaling81- **Spark UI** — detailed DAG and task metrics for Spark Notebook jobs82- **Audit logs** — tenant-level activity log; 90-day retention; export to Log Analytics for longer retention8384## Checklist85- [ ] Monitoring Hub checked first when investigating pipeline/notebook failures?86- [ ] Capacity Metrics app installed and reviewed for CU utilization trends?87- [ ] Pipeline failure notifications configured (email/Teams on failure path)?88- [ ] Semantic model refresh failure email notifications enabled?89- [ ] Spark UI reviewed for data skew or shuffle issues in slow notebooks?90- [ ] OPTIMIZE command scheduled for Delta tables with many small files?91- [ ] Admin portal audit logs reviewed for unexpected data access or sharing?9293## Output Format94- 🔴 **Critical** — capacity consistently >100% CU without scaling plan (throttling affects all workloads)95- 🔴 **Critical** — no failure notification on critical pipelines (failures go undetected)96- 🟡 **Warning** — Spark notebook slow due to data skew or excessive shuffle (check Spark UI stage metrics)97- 🟡 **Warning** — Delta table has many small files (run `OPTIMIZE` to compact; improves query performance)98- 🟢 **Suggestion** — install Capacity Metrics app and set CU threshold alert at 80% before throttling occurs99100## Exam Tips101- **Monitoring Hub = primary place to check pipeline/notebook/dataflow run status** — not in workspace item list; dedicated monitoring view102- **CU throttling = capacity exceeded** — use Capacity Metrics app (from AppSource) to identify heavy workloads and throttling incidents103- **Smoothing = Fabric spreads burst usage over 10-minute rolling window** — a short Spark job's CU burst is amortized; reduces but does not eliminate throttling risk104- **Notebook Spark monitoring** — each cell shows duration; click "Spark jobs" link for DAG and task-level metrics (stage input/output bytes, shuffle)105- **Pipeline failure → check Activity Run details in Monitoring Hub** — shows per-activity input, output, and error message; most specific failure info106- **Admin portal Usage Metrics** — tracks who uses which items (reports, datasets); useful for capacity planning and identifying unused items