Thursday, February 12, 2009

EventID 31400

Situation
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
Computer:
Description:
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.
Cause
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: