Tag Archives: MimboloveDashboard

Visualising OMS Agent Heartbeat Data in Power BI

Written by Tao Yang


Few days ago, the OMS product team has announced the OMS Agent Heartbeat capability. If you haven’t read about it, you can find the post here: https://blogs.technet.microsoft.com/msoms/2016/08/16/view-your-agent-health-in-oms-2/. In this post, Nini, the PM for the agent heartbeat feature explained how to create custom views within OMS portal to visualize the agent heartbeat data. Funny that I also started working on something similar around the same time, but instead of creating visual presentations within OMS, I did it Power BI. I managed to create couple of Power BI reports for the OMS agent heartbeat, using both native and custom Power BI Visuals:

01. Agent Locations Map Report:

Since the agent heartbeat data contains the geo location of the agent IP address, I’ve created this report to map the physical location the agent on an interactive map.

02. Agent Statistics Report:

This report has several parts, it contains the following parts:

  • A heat map based on the country where the agent is located (Agent Location by Country). The colour highlighting the country changes based on the agent count.
  • An interactive “fish tank” visual. In this visual, each fish represent an OMS agent. the size of the fish presents number of heartbeats generated by the agent. So, the older the agent (fish) is, the more heartbeat will be generated to the OMS workspace (fish tank), and the bigger the fish will become.
  • A Brick chart shows the percentage (this chart contains 100 tiles) of the agent by OS type (Linux vs Windows).
  • A tornado chart shows agent distribution by country. Agent OS type is also separated in different colours.
  • A Pie Chart shows agent distribution by management groups (SCOM attached vs direct attached vs Linux agents)
  • Agent version Donut chart that separates agent counts by agent version numbers (both Windows agents and Linux agents).

The fish visual is called “Enlighten Aquarium”, as you can see below, it’s an animated visual.

In this blog post, I will walk through the steps of creating these reports.



Before we create these reports, you need to make sure:

01. Power BI account

You will need to have a Power BI account (either a free or pro account) so OMS can inject data into your Power BI workspace.

02. Power BI preview feature is enabled in OMS

At the time of writing this post, the Power BI integration feature in OMS is still under public preview. Therefore if you haven’t done so, you will need to manually enable this feature first. To do so, go to the “Preview Features” tab in the OMS settings page, and enable “Power BI Integration”:

03. Connect your OMS workspace to your Power BI workspace.

Once the Power BI Integration feature is enabled, you need to connect OMS to Power BI. This is achieved by providing the Power BI account credential in the “Accounts” tab of the OMS settings page:


04. Setting up Power BI injection schedules

We need to inject the OMS agent heartbeat data to Power BI. We can just use a simple query: “Type=Heartbeat”, and set the schedule to run every 15 minutes:


05. Wait 15 – 30 minutes

You will have to wait a while before you can see the data in Power BI.

06. Download Power BI Custom visual

Since these reports use number of custom Power BI visuals, you will need to download them to your local computer first, and then import them into the reports when you start creating the reports. To download custom visuals, go to the Power BI Visuals Gallery (https://app.powerbi.com/visuals/) and download the following visuals:

  • Brick Chart
  • Hierarchy Slicer
  • Donut Chart GMO
  • Timeline
  • Tornado Chart
  • Enlighten Aquarium

Create Reports

To start creating the report, firstly logon to Power BI using the account you’ve used to make the connection in OMS, and then find the Dataset you have specified. in this post, I’ve created a dataset called “OMS – Agent Heartbeat”. By clicking on the dataset, you will be presented to an empty report:


You will then need to import the custom visuals – by clicking on the “…” icon under Visualizations, and select “Import a custom visual”


You can only import one at a time, so please repeat this process and import all the custom visuals I have listed above.

Creating Agent Location Report

For the Agent location report, we will add 3 visuals:

  • Hierarchy Slicer – for filtering IP addresses and computer names
  • Map – for pinpointing the agent location
  • Timeline – for filtering the time windows


Agent Filter (Hierarchy Slicer)


Add a Hierarchy slicer and place on the left side of the page, then drag the ComputerIP and Computer fields from to the “Fields” section, please make sure you place ComputerIP on top of Computer:


it’s also a good idea to turn off single selection for the hierarchy slicer so you can select multiple items:


Agent Location Map


Add the Map visual to the report, configure it as listed below:

  • Location – RemoteIPCountry
  • Legend – Computer
  • Latitude – Average of Remote IPLatitude
  • Longitude – Average of RemoteIPLongitude
  • Size – Count of Computer (Distinct)


Note: since the latitude and longitude shouldn’t change between different records for the same computer as long as the IP doesn’t change, so it doesn’t matter if you use average, or maximum or minimum, the result of each calculation should be the same.

Time Slicer (Timeline)


Add a timeline slicer to the bottom of the report page, configure it to use the TimeGenerated field:


To same some space on the report page, you may also turn off the labels for the timeline slicer:


Lastly, add a text box on the top of the report page, give it a title, also if you want to, assign each visual a title by highlighting the visual, then click on Format icon, and update the title field:


To use this report, you can make your selections in the hierarchy slicer and the timeline slicer. The map will be automatically updated.

Create Agent Statistic Report

For the second report, you can create a new page of the existing report, or create a brand new report based on the same dataset. We will use the following visuals in this report:

  • Filled Map
  • Aquarium
  • Brick Chart
  • Tornado Chart
  • Pie Chart
  • DonutChartGMO


Agent Location By Country (Filled Map)


Configure the Filled Map visual as shown below:


OMS Agent By Heartbeat Count (Aquarium)


Configure the Aquarium visual as shown below:


Agent OS Type (Brick Chart)


Configure the Brick Chart visual as shown below:


Agent Distribution By Country (Tornado Chart)


Configure the Tornado Chart as shown below:


Agent Distribution By Management Groups (Pie Chart)


Configure the Pie Chart as shown below:


Agent Version (DonutChartGMO)


Configure the DonutChartGMO visual as shown below:


and change the Primary Measure under Legend to “Value” / “Percentage” / “Both”, whichever you prefer:


Most of the visuals used by this report are interactive. i.e. if I click on a section in the Agent Version DonutChartGMO visual, other visuals will be automatically updated to reflect the selection I made in the DonutChartGMO visual.

Once you’ve configured all the visuals, please make sure you save your report.


There are many things you can do with the Power BI reports you’ve just created. i.e. you can share it with other people, ping individual visuals or entire report to a dashboard, or create an Iframe link and embed the report to 3rd party systems that support IFrame (i.e. SharePoint sites). We are not going to get into details of how to consume these reports today.

Please note that during my testing, the RemoteIPLatitude and RemoteIPLongitude data from the heartbeat events are not very accurate for the computers in my lab. I’m based in Melbourne, Australia but the map coordinates pinged to a location in Sydney, which is over 1000km away from me.

Please also be aware that for SCOM attached agents, each time when the agent sends heartbeat, it will send 2 heartbeats via different channels. This behaviour is by design – my good friend and fellow CDM MVP Stanislav Zhelyazkov(@StanZhelyazkov) has explained this in his blog post: https://cloudadministrator.wordpress.com/2016/08/17/double-heartbeat-events-in-oms-log-analytics/

This is all I have to share for today. until next time, have fun with OMS and Power BI!

Demo – Creating an OpsLogix ProView Dashboard for an Existing OpsMgr Distributed App

Written by Tao Yang

Over the last couple of days, I have spent sometime with OpsLogix ProView.  The OpsLogix ProView is a product that could be a good alternative for the old OpsMgr Visio Add-in. I have recorded a short demo on how to quickly produce a dashboard for an existing Distributed App in OpsMgr.

As shown in the diagram below, the window on the right hand side is the original diagram view for a distributed app in the OpsMgr console, and the window on the left and side is what I produced in ProView.


You can watch the recorded demo on YouTube:

Extending Your OpsMgr Power BI Dashboards to Power BI Sites

Written by Tao Yang


Few days ago, my friend and CDM MVP Cameron Fuller published a great article on how to build Power BI Dashboards for OpsMgr. You can check out Cameron’s post from here: http://blogs.catapultsystems.com/cfuller/archive/2015/12/01/using-power-bi-for-disk-space-dashboards-and-reports-in-operations-manager/

The solution Cameron produced was based on Power BI desktop and OpsMgr Data Warehouse DB, which both are located in your on-premises network. After Cameron has shown us what he has produced, I spent some time, and managed to extend the reports and dashboards that Cameron has created using Power BI Desktop to Power BI sites, which is a cloud-based PaaS solution offered as a part of the Office 365.

In this post, I will go through the process of setting up this solution so you can move Cameron’s Power BI dashboard to the cloud.


In order to create a Power BI dataset in your cloud based Power BI sites which is based on the on-prem OpsMgr Data Warehouse DB, we will need to install a component called Power BI Enterprise Gateway (Currently in preview) on a server in your on-prem data center. As shown in the diagram below, once the dataset is created for the OpsMgr Data Warehouse DB, the Power BI Site will query the OpsMgr DW DB through the Power BI Enterprise Gateway.

PowerBI OpsMgr Dashboard Connection


The solution we are going to implement requires the following pre-requisites:

  • A on-prem server for hosting the Power BI Enterprise Gateway
  • Power BI Desktop installed on an on-prem computer (i.e. your own PC)
  • A Power BI Pro account
  • A service account that has access to the OpsMgr data warehouse DB


Power BI Enterprise Gateway is a feature only available for Power BI Pro accounts. Please refer to this page for differences between Power BI Free and Pro accounts.


The install process for the Power BI Enterprise Gateway is very straightforward. It is documented here: https://powerbi.microsoft.com/en-us/documentation/powerbi-gateway-enterprise/

Once it is installed and connected to your Power BI account, you will be able to manage the gateway after you’ve logged on to the Power BI Site (https://app.powerbi.com/):


And you can use “Add Data Source” to establish connection to a data base via the gateway:


I have created a data source for my OpsMgr DW DB:


After the data source is created for the OpsMgr DW DB, I then need to create a dataset based on the OpsMgr DW DB. We must create this dataset in Power BI Desktop.

As Cameron already demonstrated in his post, in Power BI Desktop, we create a new document, and select SQL Server Database:


We then specify the SQL server name and database name for the OpsMgr DW DB:



Please make sure the server name and database name entered here is IDENTICAL as what you have entered for the OpsMgr DW DB Data Source you have created under the Power BI Enterprise Gateway.

Then, we will select all the tables and views that we are interested in. I won’t repeat what Cameron has already demonstrated, Please refer to his post for more details on what tables and views to select.

Please make sure you have select ALL the tables and views that you need. Once we have uploaded this configuration to Power BI Site, we won’t be able to modify this dataset in Power BI Site.

Once we have selected all required tables and views, click “Load”:


Please make sure you choose “DirectQuery” when prompted:


Power BI will then create the connections to each table and view you have selected. Depending on the number of tables and views you have selected, this process may take a while:


You can now see all the tables and views you have selected in Power BI Desktop:


Now, we can save this empty Power BI report:


After it is saved, we can go back to the Power BI Site, and import the newly created report by clicking “Get Data”:


Then choose “Files:


Select Local File, and choose the empty report we’ve just created in Power BI Desktop


Then, you should be able to the new dataset appeared under “Datasets”:


And we can create a new report in Power BI Site, same way as what Cameron has demonstrated in his post:


In my lab, I have created the dataset and imported the Power BI report file to Power BI Site few days ago. From the above screenshot, you can see the performance data collected today (as highlighted in red). This means the Power BI Site is directly quering my On-Prem OpsMgr DW DB in real time via the Power BI Enterprise gateway. And when I checked my usage, the OpsMgr DW DB dataset has only consumed 1MB of data:



In this post, I have demonstrated how to extend the PowerBI report and dashboard you have build in PowerBI Desktop located in your On-Prem environments to the cloud based version – Power BI Site, via the newly released Power BI Enterprise Gateway (still in preview at the time of writing).

Although we must have a Power BI Pro account in order to leverage the Power BI gateways, since are using direct query method when connecting to the OpsMgr DW database, this solution should not consume too much data from your monthly allowrance for the PRO user.

The performance for the report is really fast. My OpsMgr management group and the Power BI Enterprise Gateway server is located in my home lab, which is connected to the Internet only via an ADSL 2+ connection.

This is certainly a cheaper alternative OpsMgr dashboarding solution (compared with other commercial products). Additionally, since it is hosted on the cloud, it is much easier to access the reports and dashboard no matter where you are. Power BI also provides mobile apps for all 3 platforms (Windows, iOS and Android), which you can use to access the data using your preferred mobile devices. You can find more information about the mobile apps here: https://powerbi.microsoft.com/en-us/mobile

You also have the ability to share the dashboards you have created with other people within your organisation.

Squared Up Released version 2.3

Written by Tao Yang

Few weeks ago, the Squared Up folks sent me the preview bits for version 2.3. I haven’t had time to play with it until today.

There have already been few posts about v2.3, i.e. the post by Squared Up, and the post by my friend and CDM MVP Daniele Grandini.

When I was reading the feature intro that Squared Up sent me, the one feature that really stood out for me was the Open Access Dashboards. You can read the feature description from Squared Up’s post here.

So basically, once you’ve made necessary configurations to support this feature and enabled Open Access on a dashboard, the IIS that’s hosting Squared Up would generate an image of the specific dashboard (in .png format), which you can open in any browsers without having to login to Squared Up. This image will be regenerated every 60 seconds, and the URL to this image uses a randomly generated GUID (in order to hide the URL of the full blown version of the dashboard).

SQUPOpenAccessIn the past, I’ve worked in environments where people had to create a read-only operator in OpsMgr for having Squared Up dashboards on big LCD screens on the wall. It is an admin overhead to manage this account and the password, not to mention that I’ve also seen it many times that when managers walk past, the dashboard is sitting at the login screen on the wall LCD screens because the session was expired. It doesn’t make the team look good Sad smile.

The Open Access dashboards addressed these issues, it would be a great feature for those who uses Squared Up on big screens hanging on the wall.

So if you haven’t upgraded your Squared Up instance to v2.3, I strongly recommend you to take a look at this great feature and start planning your upgrade Smile.

Displaying OpsMgr Events Data in Squared Up Dashboards

Written by Tao Yang

For those who’s been using Squared Up dashboards for your OpsMgr environments, you’d probably know that currently Squared Up does not have a plug-in for OpsMgr event data, thus you cannot display event data collected by OpsMgr on a Squared Up dashboard natively.

However, since Squared Up does have a SQL plugin and the OpsMgr event data is stored in OpsMgr databases, I’d like to show you a way of displaying event data using the SQL Plugin today.

When developing event collection rules for an OpsMgr management pack, MP developers generally would configure the collection rule to store the collected event in both operational DB (OperationsManager) and the Data Warehouse DB (OperationsManagerDW).

So why storing the data in 2 different databases? As you may know, in the native OpsMgr console, all the event views are accessing the event data from the operational DB, but when you are using reports to retrieve event data, most likely you are accessing the data from the DW DB. Another difference is, the retention period in Operational DB is a lot shorter than the Data Warehouse DB. For example the data retention period for event data is 7 days in Operational DB and 100 days in the DW DB.

With the Squared Up SQL Plugin, there’s a variable you can use for referencing the Data Warehouse DB (global:dw). I have developed couple of similar SQL query that you can run against the DW DB to retrieve event data:

Get the 30 most recent events logged with a specific source (publisher):

Get all events with a specific Event Number:

Note: For these 2 queries, you will need to place the event publisher name and event ID into the queries accordingly.

As an example, I have created a Squared Up dashboard for Forefront Endpoint Protection (FEP) MP, where I used the SQL plugin to retrieve the recent 30 security events logged by the MP:


The result displayed by the SQL query matches the Event view shipped with the FEP MP:



and I have used the Data Warehouse DB variable in the SQL plugin configuration:


You can download this dashboard from Squared Up’s community site: https://community.squaredup.com/browse/download-info/forefront-endpoint-protection-2/

Lastly, please always test and tweak to query to need your requirements in SQL Management Studio first.

Squared Up Dashboards Community

Written by Tao Yang


Squared Up has recently established a brand new web site: https://community.squaredup.com. This is where everyone in the community is able to share Squared Up dashboards. So, it’s pretty similar to TechNet Gallery, but only for Squared Up dashboards.

So far, I have produced dashboards for all products in the System Center 2012 (R2)suite. I am planning to share few more dashboards via this site, but for now, I’d like to show you what I have shared so far, and what other awesome dashboards a currently available for download.

My System Center 2012 R2 Suite Dashboards

ConfigMgr 2012 (R2)

Download from: https://community.squaredup.com/browse/download-info/configmgr-2012/

SCVMM 2012 R2

Download from: https://community.squaredup.com/browse/download-info/scvmm-2012-r2/

SCSM 2012 R2

Download from: https://community.squaredup.com/browse/download-info/service-manager-2012-r2/

Orchestrator 2012 R2 (Microsoft Official MP Only)

Download from: https://community.squaredup.com/browse/download-info/orchestrator-2012-r2/

Orchestrator 2012 R2 (Official MP + MPAuthor’s Orchestrator MP)

Download from: https://community.squaredup.com/browse/download-info/scorch-2012-r2-combined/


This dashboard requires the modified version of MPAuthor’s Orchestrator MP, which can be found from this blog: http://blog.tyang.org/2015/09/14/updated-mp-authors-system-center-2012-orchestrator-management-pack/

SMA 2012 R2

Download from: https://community.squaredup.com/browse/download-info/sma-2012-r2/

Windows Azure Pack (Microsoft Official MP)

Download from: https://community.squaredup.com/browse/download-info/windows-azure-pack-msft/

Windows Azure Pack (Based on Oskar Landman’s WAP MP V2)

Download from: https://community.squaredup.com/browse/download-info/wap-community/


The screenshot provided does not contain any subscription perf data because I do not have any subscriptions created in my lab environment. However, the author of this MP, Oskar Landman has verified this dashboard against his environment, and confirmed the performance plugin is configured correctly.

OpsMgr Self Maintenance (Based on OpsMgr Self Maintenance MP

Download from: https://community.squaredup.com/browse/download-info/opsmgr-self-maintenance/

Other Awesome Dashboards

In addition to the dashboards I’ve created for the System Center 2012 R2 suite, there are also other awesome dashboards that I think you should take a look:

Office 365 (Created by myself)

Download from: https://community.squaredup.com/browse/download-info/office-365/

Veeam Hyper-V (Created by Steve Turnbull)

Download from: https://community.squaredup.com/browse/download-info/veeam-hyper-v/

OpsLogix Oracle (Created by Arjan Vroege)

Download from: https://community.squaredup.com/browse/download-info/opslogix-oracle-dashboard/

Capacity Usage (Created by Dieter Wijckmans)

Download from: https://community.squaredup.com/browse/download-info/capacity-usage-8/

SharePoint 2013 (Created by myself)

Download from: https://community.squaredup.com/browse/download-info/sharepoint-2013/

OpsMgr Community Dashboard (Created by Martin Nygaard Ehrnst)

Download from: https://community.squaredup.com/browse/download-info/opsmgr/

About Squared Up Community Dashboards

Please visit https://squaredup.com/community/ If you’d like to learn more about Squared Up’s Community Dashboards initiative. It is really easy to export your dashboards and share with the community. We will sanity check all dashboards submission before publishing it to the public, this is to ensure no sensitive information about your environment is shared with the public.

Squared Up Dashboard Community Initiative

Written by Tao Yang


It has been over 3 months since I started working for Squared Up. If you ask me my impression about Squared Up, I believe they truly care about the System Center community. Over the last few months, the folks at Squared Up have been working on an initiative to create a community dashboard repository, where everyone can submit and share their Squared Up dashboards with the broader community.

With the recent release of Squared Up version 2.1.11, exporting and importing dashboards have been made incredibly easy. I have made a short demo video and uploaded to YouTube:

Or watch it on YouTube: https://www.youtube.com/watch?v=NYDqSWbA2E0

As you can see, it is now really easy to export and import dashboards within Squared Up. Mr. Richard South from Squared Up has also asked me to share an Squared Up community news letter with readers of my blog:

Subject: Community Dashboards – New Features

Hi Tao

We have a couple of updates on our Community Dashboards project that I wanted to quickly share with you.

The main one is that we’ve just released a new version of the product which includes the ability to Export your dashboards and also to Import template dashboards (v2.1.11)

This should make it incredibly easy for you to submit dashboards, which you can send to community@squaredup.com, together with screenshots.

If you’d like get up and running with v2.1.11, without necessarily having to upgrade a production instance of Squared Up, we’d suggest simply applying for a 30 day trial online and you’ll be sent everything you need – http://squaredup.com/free-trial/download-30-day-free-trial/

If you have any questions in this respect, do please let me know.

We’ve also produced a launch page, including FAQs, at https://squaredup.com/community and put together a short video showing this new functionality in action – http://youtu.be/72HeYi9CvFc – as well as a longer one to discuss the project in more depth (although you’re up to speed with most of the information in that already)http://youtu.be/tRn1LnqQ2FY

So, that means the process for submitting is now as simple as;

  • Build dashboard (nb – don’t use SQL or iframe plugin)
  • Make private *
  • Take screenshots
  • One-Click Export
  • Send the ZIP + screenshots to community@squaredup.com
  • Win a Lego Death Star (hopefully…)


* You may want to ensure that there’s no private information available in any images or Visio SVGs used within your dashboards or in the dashboard title or sub-titles

Remember, we’re counting on you to get your dashboard submissions in by the beginning of next week in time for our preview launch at SCU Europe

As ever, many thanks for being part of this, feel free to drop me a line with any questions and have a great weekend



Richard South | Squared Up Ltd

Now with the SCU Europe is taking place over in Basel, Switzerland this week, Squared Up has 2 sessions:


  • Whisky Tasting (and insider info…) with Squared Up (25th August, 17:15)
  • Revolutionise SCOM with Squared Up (26th August, 12:00pm)


Please stay tuned, there might be something exciting to be announced!

There are many ways to get involved in the System Center community, such as blogging, podcasting, sharing code on TechNet / GitHub / CodePlex, etc.

During a catch up call with Squared Up last week, Richard explained to me that they are essentially providing an additional channel for people to contribute and get involved in the community, because at the end of the day, not everyone blogs or write code. contributing an existing dashboard can be very quick and easy, it doesn’t take too much effort at all!

So, if you have designed an awesome Squared Up dashboard for a particular application and you would like to share it with the community, I encourage to take this opportunity and start sharing! As Squared Up Pointed out to me, their goal is for people to:

Use –> Share –>Improve

Geo-Location Squared Up Bing Map Dashboard

Written by Tao Yang


Before I started working for Squared Up, the very first project we talked about was producing Bing Maps dashboard in Squared Up.

I started working on this project after I finished the OpsMgr Data Warehouse Health Check script. And I’m please to announce we have just published the Bing Maps Dashboard solution on Squared Up’s website: http://squaredup.com/geo-location-of-scom-objects-within-squared-up-map-dashboards/

These are some of the sample dashboards I produced in my lab:

Example #1: World Map (Multi-Objects):


Example #2: Australia Map (Multi-Objects):


Example #3: Melbourne Aerial Map (Multi-Objects):


Example #4: Single Object Street Map (of my local pub):


Do you want to know more about this solution? Please head over the Squared Up’s site and read the full post HERE.

Lastly, like I mentioned in the post, if you have any specific requirements, we are more than happy to work with you, so please feel free to contact us.

World and Country Maps for Squared Up Visio Dashboard

Written by Tao Yang

In the recently released Inside System Center Podcast Episode 2: Dashboarding, I have demonstrated few Visio map dashboards in Squared Up.


World Map:


USA Map:


Australia Map:


These maps can be easily found via your favourite search engine (i.e. search “SVG maps”). I managed to find a good site where you can download the maps for most of the countries in SVG format: http://www.amcharts.com/svg-maps/

Once the .svg maps are downloaded, you can open it in Visio 2013, and start mapping the data to each shape like you normally wound with Squared Up Visio Plugin:



Sometimes, the shape that you need to map the data to is too small for you to drag and drop the data to. i.e. Australia Capital Territory (ACT) in the map above is just a tiny little dot within another shape (New South Wales). In this case, you can also select the small shape (ACT in this case), and then right click on the data that you wish to map to, and select “Link to Selected Shapes”:


Inside System Center Podcast Episode 2: Dashboarding

Written by Tao Yang

Last week, Pete Zerger, Lee Berg, Cameron Fuller and myself got together and recorded the second episode for the new Inside System Center Podcast series. The topic was OpsMgr dashboards.

This episode was published last night, you can watch it on YouTube: https://www.youtube.com/watch?v=NuMAUKEDkx0

Pete has also put together some show notes, which can be found on his new blog: http://insidethecloudos.azurewebsites.net/inside-system-center-2-opsmgr-dashboarding-show-notes/