Building powerful tailored SCOM dashboards with Enterprise Applications (Part 2)

By Shawn WilliamsSquaredUp, Technical Evangelist

In my last blog post, we focused on creating 29 Enterprise Applications (EA).  We also spent some time talking about our Critical Service Offerings (CSO) and Supporting Service Offerings (SSO).  And finally, we looked at three out-of-box dashboards.  If all you needed was to create a dashboard to control the boxes’ color quickly, you already have what you need.  But when we talk about communicating strategically, we need something that helps us target three different audiences, our End Users, Upper Management, and the Infrastructure teams. 

For this post, we’re going to focus on these three tasks:

  1. Creating the IsBusinessService flag.
  2. Add a new Perspective Action button to SquaredUp.
  3. Update the Status dashboard to only show our Critical Service Offerings.

Once everything is set up, we spend some time demonstrating how things work.

Let’s get started!

Creating the IsBusinessService Flag

When an Enterprise Application is created, it inherits all of the properties of the System.Service (Service) class.  Some of the inherited properties are Service Description, Is Business Service, Owned by Organization, Priority, Status, Classification, and Availability Schedule.  To see these fields in the SCOM console

  1. Click on the Monitoring pane, then
  2. Click on Distributed Applications, then
  3. Click on one of your new Enterprise Applications.
  4. And then finally, be sure your Detailed View is open

System.Service properties that appear in SCOM.

Unfortunately, there isn’t any way to edit those fields.  And as far as I can tell, they are not used anywhere else, except possibly in System Center Service Manager (SCSM).  One of the available fields, “Is Business Service,” stands out as an obvious candidate to be appropriated.  By using it as a Boolean value, any EA tagged as “true” would be considered a Critical Service Offering (CSO).  And since the default state is empty or false, only those dashboards specifically tagged will appear on our dashboard. 

Create a SCOM Task to Toggle IsBusinessService

In your SCOM console:

  1. Go to your Authoring pane.
  2. Under Management Pack Objects, click on Tasks
  3. Click the Scope button,
    1. Then click the View all targets radial button
    2. And then, in the Look For field, enter: Enterprise Application (v1)
  4. Click the check box next to Enterprise Application (v1) in the Target dialog.
  5. Click the OK button. 

Your screen should now look similar to the following:

Note: For these next steps, you will need the free PowerShell Authoring management pack from Cookdown. 

Next:

  1. In the Tasks pane, click the Create a New Task link.
  2. When the Create Task Wizard appears, click on Run a PowerShell script (Community).
  3. Choose a destination management pack and then click Next.
  4. For the task name, enter: Toggle Is Business Service Flag
    1. You are free to enter a description if desired.
    2. Make sure the Task target is Enterprise Application (v1).
  5. Click Next.
  6. For the script a name, enter: ToggleIsBusService.ps1
  7. Set the Timeout to 1 minute.
  8. Paste in the PowerShell code listed below into the script field.
  9. Click Parameters.
    1. Add this parameter: $Target/Id$
  10. Click OK.
  11. Click create.

Powershell code to Toggle the IsBusinessService Field:

param([string]$Arguments)
Write-Host “Version 1.0.0.5”

$Class = Get-SCOMClass -Id $Arguments
$ClassInstance = Get-SCOMMonitoringObject -Class $class

Write-Host "Display Name :" $ClassInstance.DisplayName
Write-Host "ID           :" $ClassInstance.Id
Write-Host "Full Name    :" $ClassInstance.FullName
Write-Host "Business Srv :" $classInstance.'[System.Service].IsBusinessService'.Value

if ($classInstance.'[System.Service].IsBusinessService'.Value -eq $false -OR [string]::IsNullOrWhiteSpace($classInstance.'[System.Service].IsBusinessService'.Value) ) {
  $ClassInstance[$class, "IsBusinessService"].Value = $true
  Write-Host “Setting IsBusinessService to TRUE”
}
else {
  $ClassInstance[$class, "IsBusinessService"].Value = $false
  Write-Host "Setting IsBusinessService to FALSE"
}

$classInstance.Overwrite()
Write-Host “Finished” 

Add a Perspective Action button to SquaredUp

Now, let’s switch over to SquaredUp to add a custom button to all Enterprise Applications to make it easy to toggle the IsBusinessService Field.   

In SquaredUp, click on Applications, Enterprise Application, and then choose any Enterprise Application.  Once the EA has loaded, click on the edit this dashboard button at the page’s top right:

Once the dashboard is in Edit mode, the toolbar changes to look like this:

Click on the Edit actions button:

Once the Perspective Actions dialog appear, click the Add button:

Fill out the Perspective Actions so that it looks like the following:

  • Display Name: business service
  • Check the box “only show when this perspective is selected”
  • Action Type: Task
  • Task to execute: Toggle Is Business Service Flag

Now, click the Done button twice, then be sure to “Publish” your changes.  Once that’s finished, your new Action button will be added to the Perspective toolbar! 

Tag Each Enterprise Application with the IsBusinessService Flag

At this point, we need to open each EA we previously created and press the Business Service button to set the IsBusinessService flag.  The Critical Service Offerings should have a value of True, the Supporting Service Offerings should have a value of False.  All other EAs should retain their NULL value.

When you click the button, the Task Results will be returned to the dashboard, like this:

Update the Status Dashboard to only show Critical Service Offerings

Now that all of the EAs are tagged, we can make a small tweak to the out-of-box dashboard to only show the Critical Service Offerings. 

Open the dashboard you ant to change, click on the Scope category, then add the following criteria to the dashboard:

IsBusinessService = 'true'

 

Your dashboard should now look like the following:

Click the done button and publish you changes.

For comparison, here is what the dashboard looked like before we made changes:

And here is what the dashboard looks like now that we added the IsBusinessService criteria:

Now we have a nice simple dashboard that only shows our Critical Service Offerings (CSOs).

TL;DR

In our last post, we created some ground rules, created 29 Enterprise Applications (EAs) and looked at a couple of out-of-box dashboards.  For this blog post, we continued evolving the solution by focusing on three specific tasks.  The first task was to determine and implement a way to “tag” EAs.  We did this by appropriating an unused SCOM property and by adding some simple PowerShell code bundled in a SCOM task.  Our second task was to add a button to SquaredUp to make it easy for us to “tag” the EA as a business service.  Now, when the IsBusinessService flag is true, we know that the EA is a Critical Service Offering, or if the IsBusinessService is equal to false, it is a Supporting Service Offering.  Our last task was to update all of our EA’s so that only the Critical Service Offerings would appear on the Status dashboard.

Keep in mind that while I had a specific use-case to solve, the “tagging” technique can be used in a number of different ways. And when you combine SquaredUp’s filtering capabilities, you have a ton of flexibility when designing the dashboards to your specific use-case.

Now that we have our Enterprise Applications set up, along with our simple status dashboard, we can get down to business and start discussing what it means to “Communicate Strategically!”  But in order to do that, we need talk about relationships and SquaredUps Report Availability feature.  Both topics will take center stage in my next blog post.

Till next time!

-Shawn