Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies To: System Center Operations Manager 2007
Note
This topic has been updated in the latest version of the System Center Management Pack Authoring Guide on the TechNet Wiki.
Event monitors use one of the event data sources to identify a particular event that indicates an issue. As soon as the specific data source that holds the required information is identified, the logic used to determine different health states must be determined. In addition to the logic that indicates whether an error condition has occurred, additional logic must be defined to determine when the state should be changed back to a healthy condition.
The different kinds of logic that can be used to detect an error condition by using events are listed in the following table. As noted in the table, some logic can only be used with Windows events.
Logic | Data Sources | Description |
---|---|---|
Simple Event |
All |
Detects an error state from the occurrence of a single event. |
Repeated Events |
All |
Detects an error state from one or more occurrences of a particular event in a specified time window. |
Correlated Events |
Windows Events |
Detects an error state from the occurrence of two events in a specified time window. |
Correlated Missing Events |
Windows Events |
Detects an error state from an expected event not being detected in a particular time window after the occurrence of another event. |
Missing Event |
Windows Events |
Detects an error state from an expected event not being detected in a particular time window. |
Simple detection refers to a state change being triggered immediately after a single occurrence of the specified event. This is the most basic kind of detection and will apply to most scenarios.
Repeated event detection uses one or more occurrences of a particular event in a time window to indicate an error condition. This typically applies to conditions in an application where a single event on its own can be ignored, but multiple occurrences of that event in a particular time window indicate a potential error. There are different algorithms that can be used for this detection, depending on the logic that best identifies the specific application issue. The following are details of the different algorithms:
Trigger on timer consolidation of events uses a specified time window and is not dependent on the number of events received. A single event can trigger an error in the health state as in simple detection. Unlike simple detection which sets the health state immediately upon detection of the specified event, however trigger on timer consolidation waits until a specified time window to set the health state of the monitor. The time window can be a rotating time duration of specified length or a specific window based on day of the week.
Trigger on timer consolidation is useful for errors that should only be detected in a certain time window. Used with a time window based on a specific time of day, this disables the monitor outside that time period. It can also have the effect of delaying the change of state for a particular time during which an event that indicates a healthy state could be received. In this case, the health state would never be changed.
Trigger on count consolidation of events lets a monitor require multiple occurrences of the same event in a specified time window before it changes the health state to an error. The time window can be rotating time duration of specified length or a specific window based on day of the week.
Trigger on count consolidation resembles trigger on timer consolidation except that multiple occurrences of the event are required instead of just one. When the time window is reached, the event count is returned to zero, and the specific number of events must detected before the time window expires again for the health state to be changed.
Trigger on count, sliding consolidation of events is similar to trigger on count consolidation except that the time window is reset every time that the specified event is received. The time window only expires if the time is reached after the occurrence of the last event.
Trigger on count, sliding consolidation is useful for error conditions that are detected by a certain number of events in a particular length of time. By using trigger on count consolidation, some events could be received in one time window and then other events received in the next time window with the result that the health state is never changed. Using trigger on count, sliding consolidation, the time window depends on when the event occurs preventing this condition.
To help with understanding the different algorithms used for repeated event detection, the following table shows the effect on health state for monitors based on the different kinds of consolidation. This is based on a repeated event monitor that uses the following details:
Consolidation interval: 2 minutes
Compare count: 3 (ignored by Trigger on Timer)
Health state on repeated event: Critical
Reset Logic: Event reset using Event 3
Time | Event | Trigger on Timer | Trigger on Count | Trigger on Count, Sliding |
---|---|---|---|---|
00:00:00 |
- |
Healthy |
Healthy |
Healthy |
00:01:00 |
Event 1 |
Healthy |
Healthy |
Healthy |
00:02:00 |
- |
Healthy |
Healthy |
Healthy |
00:02:30 |
- |
Healthy |
Healthy |
Healthy |
00:03:00 |
- |
Critical |
Healthy |
Healthy |
00:03:30 |
Event 3 |
Healthy |
Healthy |
Healthy |
00:04:00 |
Event 1 |
Healthy |
Healthy |
Healthy |
00:04:30 |
- |
Healthy |
Healthy |
Healthy |
00:05:00 |
Event 1 |
Critical |
Healthy |
Healthy |
00:05:30 |
- |
Critical |
Healthy |
Healthy |
00:06:00 |
- |
Critical |
Healthy |
Healthy |
06:30:00 |
Event 1 |
Critical |
Healthy |
Healthy |
07:00:00 |
Event 1 |
Critical |
Healthy |
Critical |
07:30:00 |
- |
Critical |
Healthy |
Critical |
00:08:00 |
Event 1 |
Critical |
Healthy |
Critical |
00:08:30 |
- |
Critical |
Critical |
Critical |
00:09:00 |
Healthy |
Critical |
Healthy |
Healthy |
Using trigger on timer, a critical state is set at 00:03:00 event though the event is received at 00:01:00 because the time window starts when the monitor is loaded. The start is reset to healthy at 00:03:30, but the critical state is again triggered at 00:05:00 from the time window started at 00:03:00.
Using trigger on count, the event at 00:05:00 does not trigger a critical state because the time window started by the event at 00:01:00 would have expired at 00:03:00. This event is instead part of the time window started by the event at 00:04:00 which expires at 00:06:00. The monitor triggers a critical state at 00:08:30 because of the 3 events detected in the time window started with the event at 00:06:30.
Using trigger on count, sliding, each occurrence of Event 1 starts its own window. The critical state is triggered at 00:07:00 from the 3 events detected in the time window started with the event at 00:05:00.
A correlated event monitor uses two separate events in a particular time period to detect a single issue. This kind of monitor supports conditions where an issue cannot be identified by a single event alone.
When the first event is detected, a timer is triggered. If the second event is received within that period, the state change is triggered. If the second event is not received in the period, the timer is reset until the first event is received again. The monitor may be configured to better tune the specific conditions that must be met in order to perform correlation. These options include the following:
Whether the events must be in chronological order. One of the events may always be expected before the other one, or they may be expected in either order.
Whether the first or last occurrence of the first event should be used. If the first occurrence is specified, then each occurrence of the first event will have its own time window and search for corresponding occurrences of the second event. With the last occurrence specified, if the first event reoccurs with the time window, then the time window is extended based on the last event. The monitor can also be configured to reset the time window every time that the first event occurs. When the time window is reset, all previous occurrences of both events are ignored.
The number of occurrences of the second event that must be received to trigger the state change. Instead of changing the health state after receiving a single instance of the two events, multiple instances of the second event may be required.
Properties between the first and second event that must match for correlation to be performed. Instead of detecting two occurrences of each event, additional comparison may be required to determine whether the events are related. The monitor can, for example, confirm that a particular parameter matches between the two events to make sure that they match.
The following table provides an example of a correlated event monitor by using the first and the last occurrence of the first event. The monitor uses the following details:
Event Log A: Event 1
Event Log B: Event 2
Correlation interval: 2 minutes
Number of occurrences of Event 2: 3
Health state on correlation: Critical
Reset Logic: Event reset using Event 3
Time | Event | First Occurrence | Last Occurrence |
---|---|---|---|
00:00:00 |
- |
Healthy |
Healthy |
00:01:00 |
Event 1 |
Healthy |
Healthy |
01:30 |
Event 2 |
Healthy |
Healthy |
00:02:00 |
Event 2 |
Healthy |
Healthy |
00:02:30 |
- |
Healthy |
Healthy |
00:03:00 |
Event 1 |
Healthy |
Healthy |
00:03:30 |
Event 2 |
Healthy |
Healthy |
00:04:00 |
Event 2 |
Healthy |
Healthy |
00:04:30 |
Event 1 |
Healthy |
Healthy |
00:05:00 |
Event 2 |
Critical |
Healthy |
05:30:00 |
Event 3 |
Healthy |
Healthy |
06:00:00 |
Event 1 |
Healthy |
Healthy |
06:30:00 |
Event 2 |
Healthy |
Healthy |
07:00:00 |
Event 1 |
Healthy |
Healthy |
07:30:00 |
Event 2 |
Healthy |
Healthy |
08:00:00 |
Event 2 |
Critical |
Healthy |
08:30:00 |
Event 2 |
Critical |
Critical |
09:00:00 |
Event 3 |
Healthy |
Healthy |
The First Occurrence does not trigger a critical state when Event 2 is detected at 00:03:00 because the timer was reset at 00:03:00 which is 2 minutes after the first occurrence of Event 1 at 00:01:00.
The First Occurrence triggers a critical state at 00:05:00 because Event 2 is detected 3 times within the 2 minutes since the first occurrence of Event 1 at 00:03:00. Event 1 starts a new time window at 00:03:00 because the time window from Event 1 at 00:01:00 would have expired.
The First Occurrence triggers a critical state at 00:08:00 because Event 2 is detected 3 times within 2 minutes from Event 1 at 00:06:00.
The First Occurrence resets its state to healthy at 00:05:30 and 00:09:00 because Event 3 is detected.
A correlated missing event monitor determines an error by the absence of a particular event after the occurrence of another. This resembles the missing event monitor except that instead of searching for the missing event in a particular time window, the monitor searches for the event in a particular time after another event is first detected.
For example, consider an application that performs a backup each evening and creates an event when it starts and a second event when it has completed successfully. A correlated missing event monitor could be created that searches for the event in a particular time window each evening. If both events are detected, then the monitor remains in a healthy state. If the first is found, then the timer starts. If the time is reached before the second event is detected, then the state change is triggered to indicate that the last backup did not occur successfully.
The following table provides an example of a correlated missing event monitor by using the first and the last occurrence of the first event. The monitor uses the following details:
Missing Event Log A: Event 1
Missing Event Log B: Event 2
Correlation interval: 2 minutes
Number of occurrences of Event 2: 3
Health state on correlation: Critical
Reset Logic: Event reset using Event 3
Time | Event | First Occurrence | Last Occurrence |
---|---|---|---|
00:00:00 |
- |
Healthy |
Healthy |
00:01:00 |
Event 1 |
Healthy |
Healthy |
1:30 |
Event 2 |
Healthy |
Healthy |
00:02:00 |
Event 2 |
Healthy |
Healthy |
00:02:30 |
Event 1 |
Healthy |
Healthy |
00:03:00 |
- |
Critical |
Healthy |
00:03:30 |
Event 2 |
Critical |
Healthy |
00:04:00 |
Event 2 |
Critical |
Healthy |
00:04:30 |
- |
Critical |
Critical |
00:05:00 |
Event 3 |
Healthy |
Healthy |
The First Occurrence triggers a critical state at 00:03:00 because Event 2 has not been detected 3 times in the 2 minute interval since the first occurrence of Event 1 at 00:01:00.
The Last Occurrence does not trigger a critical state at 00:03:00 because Event 1 occurs at 00:02:30 resetting the timer. The critical state is not triggered until 00:04:30 when Event 2 has not been detected in the 2 minutes interval since the last occurrence of Event 1 at 00:02:30.
The single occurrence of Event 3 at 00:05:00 resets both monitors to healthy.
Instead of detecting a particular event to identify an error condition, a missing event monitor uses the absence of a particular event in a particular time window to determine an error. This supports applications that are expected to generate an informational event that indicates a successful operation or the success of a particular action.
For example, consider an application that performs a scheduled data transfer each evening and creates an event when it has completed successfully. A missing event monitor could be created that searches for the event in a particular time window each evening. If the event is detected, then the monitor remains in a healthy state. If it is not found, then it enters error state that indicates that the last transfer did not occur successfully.
The following table provides an example of a missing event monitor by using the following details:
Event: Event 1
Fixed Schedule: Su-Sa 2:00 AM – 3:00 AM
Health state on missing event: Critical
Reset Logic: Event reset using Event 3
Time | Event | Health State |
---|---|---|
00:00:00 |
- |
Healthy |
00:01:00 |
Event 1 |
Healthy |
00:02:00 |
- |
Healthy |
00:03:00 |
- |
Critical |
00:04:00 |
- |
Critical |
00:05:00 |
Event 3 |
Healthy |
- The critical state is triggered at 00:03:00 when Event 1 is not detected within the specified window.
The previous detection criteria describe the conditions under which a monitor changes to a warning or critical state. In addition to detecting an error state, each monitor must have logic defined to determine when the state should be returned to healthy. The different methods for resetting state are shown in the following table:
Reset Logic | Description |
---|---|
Event Reset |
A single specific event indicates that monitor should be reset. |
Manual Reset |
The monitor is never automatically rest. The user must manually reset the monitor. |
Timer Reset |
The monitor is automatically reset after a specified time. |
Each of these methods is discussed at length in the following sections:
With event reset, the monitor is reset when a single occurrence of a specific event is detected. The event must be the same type as the event used for detecting the error condition. For example, a Windows event monitor might specify an event with a particular event source and number to indicate an error condition. Another Windows event with the same event source but a different number might indicate that the error in the application was corrected.
Event reset can only be used if the application provides an event indicating the particular error was corrected. Many applications create an event when an error occurs but may not create a corresponding event that indicates that the error was corrected. Event reset cannot be used in this case.
With manual reset, the monitor never returns to a healthy state automatically. The user must determine whether the problem was corrected and then select the monitor in the Health Explorer and select Reset Health.
The advantage to this strategy is that a monitor can be used for issues that do not create an event that indicates a healthy state. The monitor can affect the health state of the managed object instead of creating a simple alert from a rule. The downtime will be recorded for the object in the State Change Events in the Operations Console and in any availability reports.
There are multiple implications of this strategy that should be considered. The first is the additional work required from the user because the monitor will never automatically reset. It can also result in too much downtime being recorded if the user waits a long time before performing the reset. The problem may have been corrected fairly quickly, but the healthy state will not be recorded until the user performs the reset.
Use of manual reset should be especially cautioned for monitors where there is a potential for a single problem to affect multiple instances of the target class. Because users cannot reset the monitor for multiple instances in the Operations Console, the user would be required to manually open the Health Explorer for each instance to perform this action. Depending on the number of instances, this could result in significant effort for the user.
A timer reset acts the same as a manual reset except that if the user does not manually reset the monitor after a specified time, it will reset automatically. One use of this kind of reset is for issues that continuously log error events until the problem is corrected. Instead of using another event to indicate that the problem was corrected, the previously detected error event for a specified period can be used as the success criteria.
The timer reset can be used in the place of a manual reset providing the advantage of automatically resetting after a while if the user does not perform a manual reset.