A recent customer requirement was to add additional dashboards to the Navigation pane in the SCOM console. There is this tool to assist with the creation on the MOM Team blog, however, it was not working in this particular case. Rather than spending a ton of time attempting to troubleshoot, I took a more manual approach which ultimately yields similar results.
Tested version – SCOM 2012 R2 UR7
Step 1 – Create a new management pack to contain your dashboard
Step 2 – Under the Monitoring pane, locate the folder for your MP and create a new dashboard
Step 3 – Choose a layout. In this case, I am just going to create Grid Layout dashboard with a single cell in order to look at CPU utilization on a chosen Windows Computer
A. Choose Grid Layout
B. Give it a name
C. Choose a single cell for simple demo purposes
D. Create
Step 4 – Export the management pack. It is easier to move the dashboard under the Navigation pane and add the widgets after the fact
Step 5 – Open the XML in your favorite editor. There are a few pieces we need to tweak.
A. Add a reference to the Windows Library
B. Modify the <ComponentType> to include a Target
Note: the reference is correct. You do not use the typical alias when dealing with the mpinstance notation.
C. Modify the Parent for the <ComponentReference> to point at the Navigation pane rather than the default folder that was created within the MP
D. Modify the <ComponentImplementation> to point at the same Target as the <ComponentType>
E. Save your management pack. Optional – increment the version number
Step 6 – Import your new management pack
Step 7 – Locate your dashboard. If it still shows under the default folder in the monitoring pane, close and reopen your console.
Step 8 – Open your dashboard and click “Click to add widget…”
A. Select Performance Widget
B. Give it a name
C. Find an object of the specific type you are targeting. It is key that select a specific item, not a group or an object of a different class. In this case, Windows Computer
D. Select the desired performance counter and add
E. Choose a Time range
F. Choose whether or not to show the legend and then the desired fields if you choose to show
G. Create
Note – at this point you probably notice that the dashboard doesn’t work. This is expected behavior as the code for the widget is not correct since it was authored through the console but not for specific use in the Navigation pane
Step 9 – Export your management pack
Step 10 – Open the XML in your favorite editor
Step 11 – Find the <ComponentImplementation> for the widget and modify the <Base /> tag
Step 12 – Locate the <Bindings> section under the <ComponentOverride> for the Widget
Step 13 – Highlight and cut all of the <Binding> tags
Step 14 – Paste the <Binding> section between the <Base> tags within the <ComponentImplementation> for the widget
Step 15 – Under the PerformanceObjectCounters binding, locate the ManagedEntityIds binding
Step 16 – Modify binding to accept the id of the targeted object in the console rather than a specific instance
Step 17 – Delete the rest of the <ComponentOverride> code for the widget
Step 18 – Locate the <DisplayString> for the widget component override and delete that as well
Step 19 – Save and import your management pack. Post import, close and reopen your console
Step 20 – Test your dashboard. Enjoy