Operations Manager Management Pack Authoring - Module Types
This document is part of the Operations Manager Management Pack Authoring Guide. The Microsoft System Center team has validated this procedure as of the original version. We will continue to review any changes and periodically provide validations on later revisions as they are made. Please feel free to make any corrections or additions to this procedure that you think would assist other users.
Data Source Modules
Data source modules in Operations Manager 2007 accept no input from the data stream because they are used at the start of a workflow. They produce a single output data stream. Data source modules are used in rules, discoveries, and regular detection in monitor types. They are always the first module in these kinds of workflows, since they define the schedule for the operation of the workflow and the initial data that is retrieved.
Data source modules collect information from an external source and pass that information into the data stream. They start workflows by using a timed-trigger mechanism that does not require user intervention. Data source modules perform activities such as collecting events from a specified log, sampling performance data at set intervals, or running a script according to a defined schedule.
Data source modules are not expected to make any changes to the environment but instead collect information that is sent into the data stream for other modules to potentially work with. This restriction cannot be enforced with custom modules performing actions such as running a script. The management pack author is expected to make sure that any such scripts or other actions used in a data source do not change the managed system.
Common Data Source Modules
The following table lists typically used data source modules. This is not a complete list of all data source modules that are available, but they are the most common modules that management pack authors will directly use in building custom workflows. The Module Types Reference can be accessed for a complete list of data source modules that are available to use for composing custom modules and workflows.
Module Name | Management Pack | Function | Output Data Type |
Microsoft. Windows. Discovery. WMISinglePropertyProvider | Microsoft. Windows .Library | Runs a WMI query and returns discovery data. Includes an expression to determine whether discovery data should be created. | System. Discovery. Data |
Microsoft. Windows. EventProvider | Microsoft. Windows .Library | Retrieves events with specified criteria from the Windows event log. | Microsoft. Windows .EventData |
Microsoft. Windows. FilteredRegistryDiscoveryProvider | Microsoft. Windows .Library | Collects keys and values from the registry and returns discovery data. Includes an expression to determine whether discovery data should be created. | System. Discovery. Data |
Microsoft. Windows. RegistryDiscoveryProvider | Microsoft. Windows .Library | Collects keys and values from the registry and returns discovery data. | System. Discovery. Data |
Microsoft. Windows. TimedPowerShell. DiscoveryProvider | Microsoft. Windows .Library | Runs a Windows PowerShell script at regular intervals and returns output as discovery data. | System.Discovery.Data |
Microsoft. Windows. TimedScript. DiscoveryProvider | Microsoft. Windows .Library | Runs a script at set intervals and returns output as discovery data. | System. Discovery. Data |
Microsoft. Windows. TimedScript. EventProvider | Microsoft. Windows .Library | Runs a script at set intervals and maps property bag output to event. | System. Event. Data |
Microsoft. Windows. TimedScript. PerformanceProvider | Microsoft. Windows .Library | Runs a script at set intervals and maps property bag output to performance data. | System. Performance. Data |
Microsoft. Windows. TimedScript. PropertyBagProvider | Microsoft. Windows .Library | Runs a script at set intervals and returns output as property bag. | System. PropertyBagData |
Microsoft. Windows. WmiEventProvider | Microsoft. Windows .Library | Monitors for occurrence of specified WMI event. | System. PropertyBagData |
System. Discovery. Scheduler | System.Library | Output a trigger on a schedule. Used only for discoveries. | SystemTriggerData |
System. Performance. DataProvider | System. Performance. Library | Collects a performance counter at set intervals. | System. Performance.Data |
System. Performance. OptimizedDataProvider | System. Performance. Library | Collects a performance counter at set intervals only if delta between samples matches specified criteria. | System. Performance.Data |
System. Scheduler | System. Library | Output a trigger on a schedule. | System. TriggerData |
System. SimpleScheduler | System. Library | Output a trigger on a schedule using frequency and sync time only. | System. TriggerData |
Microsoft. SystemCenter. Azure. RoleInstance. EventLog.CollectData. DS | Microsoft. SystemCenter. Azure | Retrieves events with specified criteria from an Azure application at set intervals. | Microsoft. SystemCenter. Event. LinkedData |
Microsoft. SystemCenter. Azure. RoleInstance. PerformanceCounter. CollectData. DS | Microsoft. SystemCenter. Azure | Collects a performance counter from an Azure application at set intervals. | System. Performance. Data |
Probe Action Module
Probe action modules resemble data source modules because they collect information and pass it into the data stream. A probe action module is also not intended to change the agent in any way. The difference is that a probe action requires some trigger to start it.
Probe action modules accept a single input from the data stream and produce a single output data stream. The input could be data from another module, or it could be a simple trigger for probe action modules that do not require input data.
Probe action modules are directly used in monitor types for On Demand Detection and can be used in Diagnostics and Recoveries. All those workflow types provide a trigger that is required to initiate the probe action. Probe action modules are most frequently used within composite data source modules. Many of the data source modules that are included in the management pack libraries actually contain probe action modules to perform their core functionality.
Common Probe Action Modules
The following table lists common probe action modules. This is not a complete list of all probe action modules that are available. However, they are the most common probe action modules that management pack authors will directly use in building custom workflows and modules.
Module Name | Management Pack | Function | Input Data Type | Output Data Type |
Microsoft. Windows. PowerShellDiscoveryProbe | Microsoft. Windows. Library | Runs a Windows PowerShell discovery script. | System. BaseData |
System. DiscoveryData |
Microsoft. Windows. PowerShellPropertyBagProbe | Microsoft. Windows. Library | Runs a Windows PowerShell monitoring script. Requires input data. | System. BaseData | System. PropertyBagData |
Microsoft. Windows. PowerShellPropertyBagTriggerOnlyProbe | Microsoft. Windows. Library | Runs a Windows PowerShell monitoring script. Does not require input data. | None |
System. PropertyBagData |
Microsoft. Windows. ScriptPropertyBagProbe | Microsoft. Windows. Library | Runs a monitoring script. | System. BaseData | System. PropertyBagData |
Microsoft. Windows. WmiProbe | Microsoft. Windows. Library | Runs WMI query to retrieve data. Requires input data. | System. BaseData | System. PropertyBagData |
Microsoft.Windows. WmiTriggerProbe | Microsoft. Windows. Library | Runs WMI query to retrieve data. Does not require input data. | None |
System. PropertyBagData |
System. CommandExecuterProbe | System.Library | Run a command line program. | System. BaseData |
System. CommandOutput |
System. PassThroughProbe | System.Library |
Use to provide input to non-trigger probe action modules for on demand monitor type workflows. | None | System. BaseData |
Condition Detection Module
Condition detection modules in an Operations Manager 2007 management pack take one or more inputs from the data stream and produce a single output. They are used regularly in rules and monitor types. Although they are not directly used in other workflow types, they are included in composite modules whenever their functionality is required.
Condition detection modules perform one of the following three functions:
Filter the input data according to a specified condition.
For example, a condition detection module might be used to determine whether a particular sampled performance counter exceeded a specified threshold or whether an event matched certain criteria.Map data from one data type to another.
For example, condition detection might be used to map data from a property bag generated by a script run from a data source module to performance data required for insertion into the Operations Manager database.Consolidate the data from multiple data streams.
For example, a particular workflow might only generate a message when multiple events of the same type are generated in a specified time window. A condition detection module can be used to compile the events and determine when the specified number of events have been collected.
Common Condition Detection Modules
The following table lists frequently used condition detection modules. This is not a complete list of all condition detection modules that are available, but they are the most common ones that management pack authors will directly use in building custom workflows.
Module Name | Management Pack | Function | Input Data Type | Output Data Type |
System. Event. GenericDataMapper | System. Library | Maps data to an event. | System. BaseData | System. Event. Data |
System. ExpressionFilter | System. Library | Evaluates data according to specified criteria to determine whether the data should be allowed through to the next module in the workflow. | System. BaseData | System. BaseData |
System. OptimizedCollectionFilter | System. Performance. Library | Optimizes performance data. | System. Performance. Data | System. Performance. Data |
System. Performance. DataGenericMapper | System. Performance. Library | Maps data to performance data. | System. BaseData | System. Performance. Data |
Write Action Modules
Write action modules accept a single input from the data stream and make a change to system state. They have no output into the data stream and represent the end of a workflow. The change made by a write action module could be to the monitored system or in Operations Manager itself. Examples include generating an alert, writing information to the Operations Manager database, or running a script to try to fix a detected problem in an application.
The following table lists common write action modules. This is not a complete list of all write action modules that are available. However, they are the most common ones that management pack authors will directly use in building custom workflows.
Module Name | Management Pack | Function | Output Data Type |
Microsoft. SystemCenter. CollectEvent | Microsoft. SystemCenter. Library | Write events into the Operations Manager database. |
System. Event. Data |
Microsoft. SystemCenter. CollectPerformanceData | Microsoft. SystemCenter. Library |
Write performance data into the Operations Manager database. | System. Performance. Data |
Microsoft. SystemCenter. DataWarehouse. PublishEventData | Microsoft. SystemCenter. DataWarehouse. Library | Write event data into the data warehouse. | System. Event. Data |
Microsoft. SystemCenter. DataWarehouse. PublishPerformanceData | Microsoft. SystemCenter. DataWarehouse. Library | Write performance data into the data warehouse. | System. Performance. Data |
Microsoft. Windows. PowerShellWriteAction | Microsoft. Windows. Library | Run a Windows PowerShell script. | System. BaseData |
Microsoft. Windows. ScriptWriteAction | Microsoft. Windows. Library | Run a script. | System. BaseData |
System. CommandExecuter | System. Library |
Run a command line program. |
System. BaseData |
System. Health. GenerateAlert | System. Health. Library |
Generate an alert. |
System. BaseData |