Forum Discussion

amthog's avatar
amthog
Icon for Helper I rankHelper I
7 months ago
Solved

Workspace Monitoring - compute costs ?

Hi, 
We are interested in enabling workspace monitoring for our production workspaces, however we saw the following video which seemed to indicate a significant compute burden for doing so:

( link to specific timepoint) 
Mastering Fabric: Enable, Stop, and Delete Workspace Monitoring

As the compute burden was not the main point of video there is not a lot of information given.
For instance it is not clear what size the capacity is,  rough volume of operations in workspace etc.
However we have the impression that probably an F64 trial and that the level of operations was not large.

Chris seems to position workspace monitoring more as a investigative tool that is turned on temporarily for troubleshooting, rather than an operational observability feature that is always on in production. This seems to be based on the high level of compute it consumes.

We were wondering if anyone had any experience or observations on this. Perhaps have used workspace monitoring in a "real" setting and had a idea of the compute cost ?

Any feedback welcome.

cheers

  • Hi,

    This is a general response to all above.

    First, thanks all who responded. We were already aware of the various options mentioned but good to get further input from the community.

     

    So thanks to…

    deborshi_nag, strzala   for mentioning FUAM – we are considering it for other use cases, but need to confirm whether it also ingests job schedule runs for this particular use case.

    AsgerLB  for providing personal observations of workspace monitoring consumption. And also for mentioning Azure Log analytics – the benefit of it not consuming capacity compute, of course means additional costs, so we were still looking at how to estimate that, then determine whether we can get that additional budget.
     

    Regarding our own observations…

    Firstly, on the Kratos BI video.

     The “red flag” in the video is the large “hump” in CU consumption due to Eventhouse/Eventstream visible in the ribbon graph. However, one annoying aspect of the ribbon graph is that it does not indicate what fraction of total available capacity is being shown. This means that while it is good for visualizing the relative contributions of the various workload types, it does nothing as to whether these are a significant % of capacity.

    This means the large hump shown in the video may not really be a red flag unless it is a significant %. The real “red flag” in the video is his mention of receiving capacity alerts, as that (should) indicate significant levels of consumption.

     

    Based on other details visible we reached the following conclusions:

    • The capacity was an F64 (based on CU utilization and daily total)
    • The capacity was being barely used (based on CU utilization on the right)
    • The WM consumption in the ribbon graph represented barely 0.1% of capacity
    • The reason it was such a significant proportion of the total usage in the ribbon graph was down to:
      • There being very little usage in the first place
      • Possibly also due to semantic model events likely being the majority of events, and for small / fast semantic model refreshes that could form a much larger “relative” monitoring overhead

    Secondly, some items that might be useful for others based on our own investigations.

    WM covers 5 areas:

      • Fabric ( Jobs)
      • Data engineering (GraphQL)
      • Real time (Eventhouses – multiple logs)
      • Mirrored databases
      • Power BI (semantic models)

     

    Our tests were on some medium sized production workspaces that would only be producing Jobs and Semantic Model events. 
    So please be aware observations will not apply to workspaces with significant footprints in the other areas, and in particular we would expect workspaces with event houses to have significantly higher WM compute costs.

    This was on an F64 capacity.

    We observed:

    • Jobs events were on the order of 100 per day.
    • Semantic model events 50,000 per day.
    • Event house uptime was ~2.5 hours per day.
    • WM consumption per workspace was  ~0.6% of total capacity.
      • We will likely use 1% as our “conservative” estimate.

    There were also several things we noted about the WM feature. 

    While the general interest of anyone enabling WM will be observability, realistically almost everyone will be interested in creating alerts.

    • Because the event stream is read only you cannot use it to create alerts.
    • You can create alerts (activators) from KQL queries in the event house, but:
      • The activator for this is polled  and you have to set a polling frequency.
      • Documentation notes that if you set this frequency to 5 minutes or less then the eventhouse will have 100% uptime.

    The other area of interest would be longer term retention for historical analysis, trending of operational data.
    Likely people would want to be moving it into a lakehouse or similar.

    • Because the event house is read only you cannot enable one lake availability.
      • Even if you could this would have the same retention as the event house.
      • This means you will have to “roll your own” solution for long term retention, but lakehouse availability may have been useful as starting point for ingestion.

    Also some observations on other options for job events.
    If we exclude Azure Log analytics, there are 3 ways to get job event data :
    (well actually 4 but we won’t talk about the 4th 😉 )

    • Job Schedule REST API
    • Fabric Job Events, (event source)
    • Workspace Monitoring

     

    Worth noting:

    • Only the Job REST API includes failure reason (i.e. error message) in addition to the job status.
      • Fabric Job Events and WM do not so if you wanted alerts to include this you would have to do some custom work.
    • WM is the only one that get events at workspace scope.
      • REST API and Job events are at item scope so if you want to get events for the entire workspace you need to do extra work.
      • It is a bit annoying that there is no readily available source for jobs data at workspace scope, especially when the monitoring hub has already collected this data.
    • unlike jobs there are no convenient alternative sources/APIS for the data in most other WM logs e.g . Semantic Models
      • So if you are interested in those then WM may be the only choice.

    Hope this is of use to some people.

    Cheers


11 Replies

  • Hello amthog 

     

    You have 2 options for Fabric Workspace Monitoring -

     

    1) Fabric Workspace Monitoring (Preview) – official Microsoft feature

    • An official, built‑in observability feature for Microsoft Fabric workspaces.
    • Provides logs, performance metrics, query performance insights, and mirrored database operation logs.
    • When enabled, Fabric automatically deploys a Monitoring Eventstream and Monitoring Eventhouse for the workspace.
    • Billing starts March 10, 2025, consuming Fabric Capacity Units (CUs) via:
      • Eventstream compute + data traffic
      • Eventhouse compute + storage
    2) Fabric Unified Admin Monitoring (FUAM) – community-driven solution accelerator
    • Not an official Microsoft product, no SLA, community maintained.
    • Gives tenant-level, holistic monitoring across:
    • Built entirely with Fabric pipelines, notebooks, lakehouse, semantic models, Power BI.
    • Stores all telemetry in a Delta Lakehouse and exposes reports.

     

    Which One Costs More Fabric Capacity?

     

    Workspace Monitoring

    • Uses Eventstream & Eventhouse, which have continuous compute costs:
      • Eventstream: 0.22 CU/hour + traffic costs
    • Eventhouse: compute at 1 CU/hour per active v-core + separate storage charges

    This runs 24/7, so CU usage is continuous.

     

    FUAM

    • CU consumption depends on:
      • How often pipelines run
      • How many users view the FUAM reports
    • Explicitly designed to minimize CU consumption, but still uses CUs for pipelines & notebooks.

    This is not continuous — cost depends on schedule frequency (e.g., hourly vs. daily loads).

     

     

    FUAM costs less because:

    • Pipelines trigger periodically.
    • You can control ingestion frequency.

     

    Which Is Easier to Set Up?

    Workspace Monitoring

    • Very easy > toggle on in workspace > done.
    • Underlying Monitoring Eventstream/Eventhouse auto‑created by Fabric

    FUAM

    • Moderate/complex setup:
      • Needs Fabric capacity, tenant admin rights, service principal, workspace setup
      • Deployment notebook run

     

    Use FUAM if:

    • You want tenant‑wide visibility (capacity, settings, activities).
    • You are OK with a DIY, unsupported solution.
    • You need maximum cost control by controlling ingestion frequency

     

    • purpleomega's avatar
      purpleomega
      Frequent Visitor

      Hi deborshi_nag Can FUAM be setup on a trial capacity? Also does FUAM maintain data for a long period of time or does it limit itself to 14days like the Fabric Capacity Metrics App

      • strzala's avatar
        strzala
        Frequent Visitor

        purpleomega 
        Yes, FUAM works on Trial capacity.

         

        Unlike the Microsoft Fabric Capacity Metrics App (which keeps 14 days of data), FUAM is not limited by built-in retention.

        Because it’s based on Notebooks and a Lakehouse, we can persist and structure history going forward as long as needed.


        Did I answer your question?
        Please mark as Solution to help others find the answer.
        👍 Kudos are always appreciated!

        Andrzej Strzala | Data Guideline
        LinkedIn | Blog | YouTube
  • Hi,

    This is a general response to all above.

    First, thanks all who responded. We were already aware of the various options mentioned but good to get further input from the community.

     

    So thanks to…

    deborshi_nag, strzala   for mentioning FUAM – we are considering it for other use cases, but need to confirm whether it also ingests job schedule runs for this particular use case.

    AsgerLB  for providing personal observations of workspace monitoring consumption. And also for mentioning Azure Log analytics – the benefit of it not consuming capacity compute, of course means additional costs, so we were still looking at how to estimate that, then determine whether we can get that additional budget.
     

    Regarding our own observations…

    Firstly, on the Kratos BI video.

     The “red flag” in the video is the large “hump” in CU consumption due to Eventhouse/Eventstream visible in the ribbon graph. However, one annoying aspect of the ribbon graph is that it does not indicate what fraction of total available capacity is being shown. This means that while it is good for visualizing the relative contributions of the various workload types, it does nothing as to whether these are a significant % of capacity.

    This means the large hump shown in the video may not really be a red flag unless it is a significant %. The real “red flag” in the video is his mention of receiving capacity alerts, as that (should) indicate significant levels of consumption.

     

    Based on other details visible we reached the following conclusions:

    • The capacity was an F64 (based on CU utilization and daily total)
    • The capacity was being barely used (based on CU utilization on the right)
    • The WM consumption in the ribbon graph represented barely 0.1% of capacity
    • The reason it was such a significant proportion of the total usage in the ribbon graph was down to:
      • There being very little usage in the first place
      • Possibly also due to semantic model events likely being the majority of events, and for small / fast semantic model refreshes that could form a much larger “relative” monitoring overhead

    Secondly, some items that might be useful for others based on our own investigations.

    WM covers 5 areas:

      • Fabric ( Jobs)
      • Data engineering (GraphQL)
      • Real time (Eventhouses – multiple logs)
      • Mirrored databases
      • Power BI (semantic models)

     

    Our tests were on some medium sized production workspaces that would only be producing Jobs and Semantic Model events. 
    So please be aware observations will not apply to workspaces with significant footprints in the other areas, and in particular we would expect workspaces with event houses to have significantly higher WM compute costs.

    This was on an F64 capacity.

    We observed:

    • Jobs events were on the order of 100 per day.
    • Semantic model events 50,000 per day.
    • Event house uptime was ~2.5 hours per day.
    • WM consumption per workspace was  ~0.6% of total capacity.
      • We will likely use 1% as our “conservative” estimate.

    There were also several things we noted about the WM feature. 

    While the general interest of anyone enabling WM will be observability, realistically almost everyone will be interested in creating alerts.

    • Because the event stream is read only you cannot use it to create alerts.
    • You can create alerts (activators) from KQL queries in the event house, but:
      • The activator for this is polled  and you have to set a polling frequency.
      • Documentation notes that if you set this frequency to 5 minutes or less then the eventhouse will have 100% uptime.

    The other area of interest would be longer term retention for historical analysis, trending of operational data.
    Likely people would want to be moving it into a lakehouse or similar.

    • Because the event house is read only you cannot enable one lake availability.
      • Even if you could this would have the same retention as the event house.
      • This means you will have to “roll your own” solution for long term retention, but lakehouse availability may have been useful as starting point for ingestion.

    Also some observations on other options for job events.
    If we exclude Azure Log analytics, there are 3 ways to get job event data :
    (well actually 4 but we won’t talk about the 4th 😉 )

    • Job Schedule REST API
    • Fabric Job Events, (event source)
    • Workspace Monitoring

     

    Worth noting:

    • Only the Job REST API includes failure reason (i.e. error message) in addition to the job status.
      • Fabric Job Events and WM do not so if you wanted alerts to include this you would have to do some custom work.
    • WM is the only one that get events at workspace scope.
      • REST API and Job events are at item scope so if you want to get events for the entire workspace you need to do extra work.
      • It is a bit annoying that there is no readily available source for jobs data at workspace scope, especially when the monitoring hub has already collected this data.
    • unlike jobs there are no convenient alternative sources/APIS for the data in most other WM logs e.g . Semantic Models
      • So if you are interested in those then WM may be the only choice.

    Hope this is of use to some people.

    Cheers


    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi amthog,

      Thanks for sharing your detailed findings and for summarising everything clearly. This really helps in understanding the actual capacity impact of Workspace Monitoring, especially the difference between visual spikes and real usage on an F64 capacity.

      Your notes on alerting, retention, and job-event options are very useful and will help others who are planning to use Workspace Monitoring in production.

      Please let us know if you have any further questions or need help with anything else.

      Regards,
      Community Support Team.

  • Thanks for the question, amthog! 

     

    I’ve tested Fabric workspace monitoring myself and, since it uses the real-time analytics workload, I also saw a noticeable spike in capacity consumption (even on an F4). So it can definitely eat into your production CUs when things get busy.

     

    Have you considered using a Log Analytics workspace instead?

    Instead of letting monitoring eat your Fabric capacity, you can hook your workspaces up to a Azure Log Analytics Workspace. In my opnion it’s usually a better fit for "real" production settings because:

    • Zero Capacity Impact: It uses Azure’s monitoring resources, so it won’t throttle your reports or pipelines.

    • Predictable Cost: You pay for the data stored in Azure, rather than burning your expensive Fabric CUs.

    • Centralized: You can point all your PROD PBI workspaces to one place for a single view of everything.

    Plus, you can still use the saved queries in Log Analytics as native Power Query sources, so your reporting on top stays just as easy to build. It’s a great way to get the visibility you need without worrying about the add burden to your Fabric capacity.

     

    Br

    Asger

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi amthog,

    I would also take a moment to thank deborshi_nag  , AsgerLB  for actively participating in the community forum and for the solutions you’ve been sharing in the community forum. Your contributions make a real difference.
     

    I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions.

    Regards,
    Community Support Team.