A diagnostic is attached to a monitor and can execute when the monitor changes to a specific health state. A diagnostic can be set to run on-demand (initiated by the user) or automatically. Diagnostic output is sent to the database and can be viewed in the Operations Console using the health explorer. A recovery could optionally be defined that uses the output of a diagnostic.
A diagnostic should not change system state in any way. Therefore the diagnostic must be a probe action and not a write action. Optionally a condition detection module is allowed in the workflow.
The attributes on a diagnostic are:
|
Name
|
Type
|
Use
|
Description
|
|
ID
|
ManagementPack
UniqueIdentifier
|
Required
|
The identity of the element. This must be unique within all elements of the management pack.
|
|
Comment
|
ManagementPackString
|
Optional
|
Use for author comments.
|
|
Enabled
|
ManagementPack
MonitoringLevel
|
Required
|
Defines if the diagnostic is enabled by default. Set to true or false. Other values allowed are OnEssentials, OnStandard, OnAdvanced. These will only be enabled in conjunction with category overrides. If it is not defined it defaults to true.
|
|
Target
|
ManagementPack
IdentifierReference
|
Required
|
The target class. This must be the same type the monitor is targeted at or it could be the management server or root management server type if you want it to run as a server side response.
|
|
Monitor
|
ManagementPack
IdentifierReference
|
Required
|
The monitor that this diagnostic will run for. This must be a valid monitor ID in the same MP or a public monitor in a referenced MP.
|
|
ExecuteOnState
|
HealthState
|
Required
|
The health state that the diagnostic should execute for. This should be a non healthy state i.e. Error or Warning
|
|
Remoteable
|
xsi:boolean
|
Optional
|
Defines whether this workflow will run for agentless monitoring. If it is not specified it is assumed to be true.
|
|
Timeout
|
xsi:int
|
Optional
|
The time in seconds that the diagnostic can run. The diagnostic will be terminated if it exceeds this limit.
|
Note that enabled set to true on a diagnostic means that it will run automatically when the monitor changes state. When it is set to false it must be initiated by the Ops Mgr user.
Category
The category of a diagnostic must be one of the standard category strings. However for a diagnostic it is recommened that you use the same category as the monitor that it runs for. This will normally be one of the following:
-
AvailabilityHealth
-
PerformanceHealth
-
ConfiguraitonHealth
-
SecurityHealth
The category field is not really used for anything in Operations Manager 2007. Category overrides can take advantage of this field but this concept is not exposed in the Ops Mgr UI.
Condition Detection
The condition detection module is optional. This would normally be a filter module to filter based on the data item that caused the state change of the monitor. If this filters out the data, the probe action will not execute. You should note that even if the probe action does not execute, the diagnostic will be reported as having successfully executed by the health service.
The attributes on the condition detection module are:
|
Name
|
Type
|
Use
|
Description
|
|
ID
|
ManagementPackLocal
IdentifierReference
|
Required
|
The identity of the sub-element. This must be unique within the containing element i.e. the diagnostic.
|
|
Comment
|
ManagementPackString
|
Optional
|
Use for author comments.
|
|
RunAs
|
ManagementPack
IdentifierReference
|
Optional
|
References a secure reference. You should use this attribute only if you want to associate this module with a Run As profile.
|
|
TypeID
|
ManagementPack
IdentifierReference
|
Optional
|
The ID of the condition detection module type that is to be used.
|
The condition detection module must contain the necessary configuration for the module type. This configuration will be validated during MP Verify:

Illustration from Altova XML Spy
Probe Action
The probe action element is required in the diagnostic. This element references a pre-defined probe action module type.
The attributes on a probe action are:
|
Name
|
Type
|
Use
|
Description
|
|
ID
|
ManagementPackLocal
IdentifierReference
|
Required
|
The identity of the sub-element. This must be unique within the containing element i.e. the diagnostic.
|
|
Comment
|
ManagementPackString
|
Optional
|
Use for author comments.
|
|
RunAs
|
ManagementPack
IdentifierReference
|
Optional
|
References a secure reference. You should use this attribute only if you want to associate this module with a Run As profile.
|
|
TypeID
|
ManagementPack
IdentifierReference
|
Optional
|
The ID of the probe action module type that is to be used.
|
The probe action module must contain the necessary configuration for the module type. This configuration will be validated during MP Verify.

Illustration from Altova XML Spy