Operations Manager Maintenance Mode

Summary

What is Operations Manager Maintenance Mode?

Maintenance Mode is a feature in Microsoft System Center Operations Manager that suspends the monitoring of an object during regular software or hardware maintenance activities like software update installations, hardware replacements, and so on.

What happens when an object is put into Maintenance Mode?

When an object is put into Maintenance Mode, all workflows that are targeted against that object are suspended during that specific interval. This prevents alerts and notifications from being generated by the workflows that are targeted against the object in Maintenance Mode and helps reduce alerting noise during a planned maintenance activity on the server. In Maintenance Mode, alerts, notifications, rules, monitors, automatic responses, state changes, and new alerts are suppressed at the agent.

During starting and ending of Maintenance Mode for a monitored object, the following event is logged on the Operations Manager event log:

Important We do not recommend that you put management servers into Maintenance Mode. Configuration distribution, the heartbeat feature, and other features for the system might become unreliable. If you put a management server into Maintenance Mode, alerts, notifications, rules, monitors, automatic responses, state changes, and new alerts that are generated on the management server will be suppressed. The health service on the management server continues to run. Alerts, notifications, rules, monitors, automatic responses, state changes, and new alerts from other agent-managed computers will be processed and displayed as appropriate.

How to put an object into Maintenance Mode

In Operations Manager, monitoring is based on specific classes. A specific monitored object on an agent can be put into Maintenance Mode instead of putting the whole computer into Maintenance Mode.

In the following example, the SQL Database Engine that is running on Server A will be updated to the current version. This software update maintenance is expected to take 30 minutes to be completed. During this time, the default instance of the SQL Database engine that is running on this server will not be available.

In this case, we can put the SQL Database engine and its contained object into Maintenance Mode instead of putting the whole server into Maintenance Mode. This helps in monitoring the operating system and other applications that are running on the server while SQL maintenance is performed.

The default instance of SQL that is running on Server A can be put into Maintenance mode as follows.

Note This article assumes that we have a working Operations Manager management group and that the SQL management pack is already installed and working.

Open the Operations Manager console. Under the Monitoring Pane, expand the Microsoft SQL Server folder, expand Server Roles, and then select the Database Engines state view.

All monitored instances of SQL Database engine in this management group will be listed.

If you select Selected objects only, only the Database engine is put into Maintenance Mode.

If you select Selected Objects and all their contained objects, the Database Engine and all the databases that are hosted by this instance of SQL database engine are put into Maintenance Mode.

An easier way to find the contained objects is to open the Diagram view for the specific object and then drill down in the view.

You can select the time interval for the Maintenance Mode by using the options that are listed under Duration.

How to schedule Maintenance Mode

Operations Manager does not let you schedule Maintenance Mode for monitored objects from the console. However, you can schedule Maintenance Mode for a future time by using the Maintenance Mode schedule tool that is part of the Operations Manager R2 Admin resource kit. For more information, go to the following Microsoft website:

How to view the objects that are in Maintenance Mode

To view all objects of a specific class that are in Maintenance Mode by using the Operations console, follow these steps:

Open the Operations Manager console.

Under the Monitoring pane, create a state view that is named "Maintenance Mode" under the specific unsealed Management Pack folder or under the Monitoring folder at the root of the view tree. Creating the view under the Monitoring folder at the root of the view tree saves the view in the Default Management Pack.

Under the Name option, type Maintenance Mode.

Change the value under Show data related to from Entity to the class of objects that you want to view.

Under Select conditions, click to select the is in Maintenance Mode check box.

Click OK to create the view.

This view will display all objects of that specific class that are currently in Maintenance Mode.

Maintenance Mode cmdlets

The following cmdlets are available for managing Maintenance Mode by using the Operations Manager command shell in Operations Manager 2007 R2:

New-MaintenanceWindow – This cmdlet puts the Specified monitoring object into Maintenance Mode. For more information about this cmdlet, go to the following Microsoft website:

Set-MaintenanceWindow – This cmdlet sets properties of a maintenance window. It can be used to update end time, reason, and comments on the current Maintenance Mode for the monitoring object that is specified by the Monitoringobject parameter. For more information about this cmdlet, go to the following Microsoft website:

Get-MaintenanceWindow – This cmdlet retrieves maintenance window information for a monitoring object that is currently in Maintenance Mode. The cmdlet can retrieve maintenance windows for top-level items, items at the current location, or specified monitoring objects. For more information about this cmdlet, go to the following Microsoft website:

How Maintenance Mode helps reporting

Starting and ending Maintenance Mode for a specific object for a planned maintenance helps the Operations Manager administrator report accurately on the planned and unplanned downtime of an application or a service. This helps report the availability of a specific service, application, or server accurately during a specific time.

Known issues

The known issues with Maintenance Mode are as follows:

A computer agent unexpectedly generates heartbeat alerts after you put it into Maintenance Mode in System Center Operations Manager 2007

This issue is explained in the following article in the Microsoft Knowledge Base:

942866 A computer agent unexpectedly generates heartbeat alerts after you put it into Maintenance mode in System Center Operations Manager

System Center Configuration Manager 2007 supports Maintenance Mode for Operations Manager with its Software Distribution and Software Updates features. By putting the agent into Maintenance Mode, alerts can be suppressed on computers that are running the Configuration Manager client. This option works well if you are running Operations Manager 2005 but does not operate as you may think with Operations Manager 2007 and later versions.

When you set this option, and when Configuration Manager tries to put an Operations Manager agent into Maintenance Mode, the health service is paused. While the health service is paused, you may receive heartbeat failure errors. Then, when the health service is resumed, all queued actions will be processed. This causes potential alerts. Therefore, and for other reasons, we do not recommend that you use the Configuration Manager option for Operations Manager agents.

Alerts are generated by an agent while in Maintenance Mode.

This issue occurs for one of the following reasons:

The object that was put into Maintenance Mode is not generating the alerts. To verify this, right-click the Active Alerts view on the Operations Manager console, select Personalize view on the menu, and then click to select the check box next to Class under the Columns to display option.

You will see a new column, Class, under the Active Alerts view. Make sure that the instance of this class for that agent is in Maintenance Mode.

The alerts were generated before monitoring was suspended on the agent. This can be verified by checking whether Event ID 1215 is suspended. This event confirms the monitoring of the specific instance.