“Wouldn’t it be awesome if we could create pretty Visio Drawings of our systems for the customers to look at and see up-time of servers using SCOM Data?”
Well turns out in fact you can do this! It’s a feature it’s been around in SCOM for quite some time. However it’s not exactly the best documented component and certainly has a couple of pit fulls, among them the frustrating “Client Not Supported Error”.
“What do you mean the client isn’t supported! I just installed the same version everything looks good SCOM WHYYYYY”
It looks like this
Why you ask? I’ll tell you why because it turns out SCOM get’s really angry at Null values in management packs.
First of all let me begin this with an assumption. This answer ASSUMES the following things to be true.
- You have correctly installed Visio Proffesional or Premium 2010/2013 on your workstation.
- You have correctly installed the SCOM Console and it’s pre-requisites on the workstation you are using.
- You have appropriate access to SCOM – (REQUIRES SCOM ADMINISTRATOR RIGHTS)
- You have correctly installed the SCOM For Visio Add in AFTER doing all these things and the receive the above error message.
The root cause of this problem is as previously stated a Null Value within a management pack that has been installed in your SCOM environment. Some common known examples include the Microsoft Azure Managemetn pack and the NetApp Management Pack for clusters monitoring. Essentially within the SQL tables for the management packs there is a description for the management pack component resource. Specifically icon resources “DiagramIcon” or “u16xu16Icon” and then every now and again a company simply doesn’t put anything in for that field and you get a “NULL” value.
Let me preface this with “Your milage may vary, use this at your own risk, I am not a Microsoft Employee you can’t say I didn’t warn you, and you can’t sue me if this blows up your environment”. That being said I did get this SQL Query from a Microsoft Employee so that has to count for something. The first component of the solution is determining which management pack contains the Null Value. In order to do this we will need to do something a little scary and that is query the Operations Manager Database. This handy SQL query did the job perfectly for me:
SELECT [ImageReference].[ImageId], [ImageReference].[ReferenceId], [ImageReference].[ManagementPackId], [ImageReference].TimeAdded, [ImageReference].LastModified, SUBSTRING([EnumType].EnumTypeName, 39, 100) AS ImageCategory, [MPElementView].[MPElementName],
JOIN dbo.[Resource] on ([Resource].ResourceId = ImageReference.ImageId)
LEFT JOIN dbo.[Category] ON [Category].CategoryTarget = [Resource].ResourceId
LEFT JOIN dbo.[EnumType] ON [EnumType].EnumTypeId = [Category].CategoryValue
JOIN dbo.MPElementView ON (ImageReference.ReferenceId = MPElementView.MPElementId)
INNER JOIN dbo.[ManagementPack] ON dbo.ManagementPack.ManagementPackId = [ImageReference].ManagementPackId AND dbo.ManagementPack.ContentReadable = 1
WHERE dbo.[ImageReference].[ReferenceId] IN (select dbo.ManagedType.ManagedTypeId from dbo.ManagedType)
and dbo.[Resource].ResourceType = 4
If this receives some feedback I will do a write up on how to actually run this query against the database complete with pictures and step by step components.
This should return some information that can be either copy pasted or exported to a CSV/Excel file and reviewed. Once you’ve done this you search for the word “NULL” if this is the root cause you should find something that looks like this:
To the right side you will then notice the descriptive name of the component in the management pack that uses the item with the null value. That is the item that is causing the problem. From this information you can then determine what vendor you either need to work with to resolve this, OR simply delete the offending management pack and it’s components.
I imagine there might also be a method to use SQL to delete that SPECIFIC piece of the management pack but I haven’t attempted to tackle that at this time.
I hope this helps!