Thursday, February 12, 2009

EventID 31400

The OpsMgr eventlog of the RMS shows this event:
Event Type: Error
Event Source: Health Service Modules
Event Category: None
Event ID: 31400
Date: xx-xx-2009
Time: xx:xx:xx
User: N/A
An exception occured processing a group membership rule. The rule will be unloaded.
Subscription ID: f0aaa92f-8a7a-4b91-98ff-6b931463b6a3
Rule ID: e51c2c21-2456-0738-3051-b1a7f5bb687b
Group ID: 88340b40-e0a4-1909-499d-777927ca3c80
Group type name: bwren.MaintenanceGroup1
Exception: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
There are two possibilities.

First one has to check whether the OpsMgr database supports regular expressions. It can be done by a SQL query but also by GUI:

- Start SQL Server Surface Area Configuration Tool
- Select Surface Area Configuration for Features
- Select component Surface Area Configuration for Features
- Check whether Enable CLR Integration is selected. If not, do so and apply changes

When this already the case, there is something else amiss: a collectionrule of a certain MP isn't configured properly.By running two or three queries one can find the culprit:

Query 1
The event contains an entry Rule ID. The GUID of this entry is needed here:
SELECT * FROM dbo.[Discovery]
where [DiscoveryId] = 'GUID Rule ID'
From this result, copy the GUID of the column ManagementPackID. This GUIS is needed for the second query

Query 2
Run this query:
SELECT * from dbo.[ManagementPack]
WHERE [ManagementPackId] = 'GUID ManagementPackID'
This result will have a column named MPFriendlyName. This will show the MP containing the faulty collectionrule.

Query 3
A third query will show the xml-output of the problematic MP:
DECLARE @mpxml xml;
SELECT @mpxml = [MPXML] FROM dbo.[ManagementPack]
WHERE [ManagementPackId] = 'GUID ManagementPackID';
SELECT @mpxml as MPXML;
The column DiscoveryName shows the culprit.

Source: Eggheadcafe

No comments: