You can create an override for a property or configuration parameter for a monitor. A property override changes the default value of a monitor property, and a configuration override changes the default value of a custom configuration setting for a monitor. If you want to create an override for a monitor, use the Microsoft.EnterpriseManagement.Configuration.ManagementPackMonitorPropertyOverride or Microsoft.EnterpriseManagement.Configuration.ManagementPackMonitorConfigurationOverride class. These classes are derived from the Microsoft.EnterpriseManagement.Configuration.ManagementPackMonitorOverride class.
The following properties can be overridden for unit monitors.
- Enabled
- GenerateAlert
- AutoResolve
- AlertPriority
- AlertOnState
- AlertSeverity
The following properties can be overridden for rollup monitors.
- Enabled
- Algorithm
- AutoResolve
- AlertPriority
- AlertOnState
- AlertSeverity
The following properties can be overridden for dependency monitors.
- Enabled
- Algorithm
- AutoResolve
- AlertPriority
- AlertOnState
- AlertSeverity
- MemberInMaintenance
- MemberUnavailable
- IgnoreMemberInMaintenance
- IgnoreMemberUnavailable
To figure out which parameters can be overridden, you must look at the definition of the monitor in the Management Pack that defines the monitor. All the parameters that can be overridden are defined in the OverrideableParameters element of the monitor You can also call the GetOverrideableParameters method to get the list of parameters programmatically.
The following example creates an override for the Enabled property of a monitor.
Visual Basic | ![]() |
---|---|
Imports System Imports System.Collections.Generic Imports System.Text Imports Microsoft.EnterpriseManagement Imports Microsoft.EnterpriseManagement.Administration Imports Microsoft.EnterpriseManagement.Common Imports Microsoft.EnterpriseManagement.Configuration Imports Microsoft.EnterpriseManagement.Monitoring Namespace SDKSamples Class Program Public Overloads Shared Function Main(ByVal args() As String) As Integer Dim mg As ManagementGroup Dim mp As ManagementPack Dim monitoringClass As MonitoringClass Dim classCriteria As MonitoringClassCriteria Dim monitorCriteria As MonitorCriteria Dim monitor As ManagementPackMonitor Dim monitorOverride As ManagementPackMonitorPropertyOverride mg = New ManagementGroup("localhost") mp = mg.GetManagementPacks("OverrideTestMP")(0) classCriteria = New MonitoringClassCriteria("Name='Microsoft.SQLServer.2005.Database'") monitoringClass = mg.GetMonitoringClasses(classCriteria)(0) monitorCriteria = New MonitorCriteria("DisplayName='Database Status'") monitor = mg.GetMonitors(monitorCriteria)(0) monitorOverride = New ManagementPackMonitorPropertyOverride(mp, "SampleMonitorOverride") monitorOverride.Monitor = monitor monitorOverride.Property = ManagementPackMonitorProperty.Enabled monitorOverride.Value = "false" monitorOverride.Context = monitoringClass monitorOverride.DisplayName = "SampleMonitorOverride" mp.Verify() ' Save the changes into the management pack. mp.AcceptChanges() End Function End Class End Namespace |
C# | ![]() |
---|---|
using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using Microsoft.EnterpriseManagement; using Microsoft.EnterpriseManagement.Administration; using Microsoft.EnterpriseManagement.Common; using Microsoft.EnterpriseManagement.Configuration; using Microsoft.EnterpriseManagement.Monitoring; namespace SDKSamples { class Program { //--------------------------------------------------------------------- static void Main(string[] args) { ManagementGroup mg; ManagementPack mp; MonitoringClassCriteria classCriteria; MonitoringClass monitoringClass; MonitorCriteria monitorCriteria; ManagementPackMonitor monitor; ManagementPackMonitorPropertyOverride monitorOverride; mg = new ManagementGroup("localhost"); mp = mg.GetManagementPacks("OverrideTestMP")[0]; classCriteria = new MonitoringClassCriteria("Name='Microsoft.SQLServer.2005.Database'"); monitoringClass = mg.GetMonitoringClasses(classCriteria)[0]; monitorCriteria = new MonitorCriteria("DisplayName='Database Status'"); monitor = mg.GetMonitors(monitorCriteria)[0]; monitorOverride = new ManagementPackMonitorPropertyOverride(mp, "SampleMonitorOverride"); monitorOverride.Monitor = monitor; monitorOverride.Property = ManagementPackMonitorProperty.Enabled; monitorOverride.Value = "false"; monitorOverride.Context = monitoringClass; monitorOverride.DisplayName = "SampleMonitorOverride"; mp.Verify(); //Save the changes into the management pack. mp.AcceptChanges(); } } } |
Send comments about this topic to Microsoft.