12.2 Using Profiles and Expressions to Capture Alarm History

The Data Warehouse uses profiles to select the elements for which alarm history is collected. The matching criteria can be based on specific elements, element classes, regular expressions, or scripts. Attach a schedule to a profile to define the dates and times for collecting alarms history.

Profiles can also capture historical performance data used in the Performance view, which displays performance data for one element at a time, and for the Performance Analysis dialog box, which displays performance data for multiple elements at the same time.

An Alarm History expression is defined for a profile, instructing how to save alarms in the historical database. With regard to service level management, expressions determine which properties of an element are stored.

12.2.1 Creating Profiles

Profiles are used to select the elements for which performance and alarm data is collected. Element selection is based on user-defined match criteria. After the elements are selected, expressions are added to the profile to determine which element properties are stored. A schedule is attached to the profile to determine when the data is collected. The profile has retention settings to determine when the data is purged. There is also a setting for when the profile starts.

Match criteria for the profile can be based on specific elements, element classes, regular expressions, or scripts.

Data collected for a profile is retained on a rolling basis. Specify the number of days by entering a value for the Retain This Data for X Days Option when creating a profile. For example, if the value entered is 30, historical data is retained for the past 30 days. Older data is discarded. Data is discarded as part of the historical data purge job. When the data retention setting is changed for a profile, the new retention time applies only to data collected from that point forward.

Understanding Default Service Level Management Profiles

Operations Center ships with two default profiles for capturing service level management data:

  • Element Condition profile stores real-time element condition data

  • Service Levels profile exists for automatic storage of service level metrics

Both profiles contain predefined Historical Performance expressions. The data retention settings for these profiles can be modified, but the profiles themselves cannot be edited or deleted.

The Service Levels profile has one predefined expression named Element Condition Change. This expression captures real-time condition changes including service level breach and warning alarms, outages, root cause data, and any other data required to support service level monitoring and management. This data is recorded in the Service Warehouse regardless of Service Warehouse settings.

There is no need to add expressions to the Service Levels profile, but you have the ability to do so. However, carefully consider the number of expressions that you add, as the amount of data stored can increase significantly.

The Service Levels profile captures data for all elements with Service Level Agreements Service Level profile information. For this reason, the Matches function is disabled. Instead, elements are added in the background when a Service Level Agreement is applied to them.

The schedule for the Service Levels profile is also permanently set to one minute. This schedule merely represents the frequency with which data is updated in the Service Warehouse. Service level data is constantly captured.

Profiles are listed in the Explorer pane under the Administration or Data Warehouse element. Default profiles (Service Levels, AuditProfiles) cannot be edited or deleted. However, their data retention settings can be modified.

Figure 12-1 Explorer Pane: Profiles Are Found Under the Data Warehouse Element in the Administration Root.

The next step to setting up the Data Warehouse to collect alarm history data is to create an Alarm History expression for the profile. For more information, see Alarm History Expressions.

Creating a Profile

To create a profile:

  1. In the Explorer pane, expand Administration > Data Warehouse.

  2. Right-click Profiles, then select Create Profile to open its dialog box:

  3. Fill in the fields:

    Name: The profile name.

    Description: The profile’s purpose.

    Schedule: Select a previously defined schedule for collecting data for this profile.

    Matches: Click the New button (next to the Matches section) to add criteria for selecting objects. Matches can be made using specific elements, element classes, regular expressions, or a script. Do the following as necessary:

    • To edit a match, select an item in the Matches section, then click Edit.

    • To remove criteria, select an item in the Matches section, then click Delete.

    For more information, see to Using Profile Match Criteria to Select Objects additional information.

    Retain this data for: To retain performance data for a specific number of days, select the check box and use the spinners to set a number.

    Data is retained on a rolling basis. For example, enter 30 and historical data is retained for the past 30 days only. Older data is discarded.

    This setting works in conjunction with the BSW Historical Data Purge, which is a default job, defined under the Administration > Time Management > Jobs element.

    Activate this Profile when Data Warehouse starts: To start the profile when Operations Center software launches, select the check box.

    If the check box is not selected, the profile can be started manually by clicking Start in the Properties dialog box.

    It is necessary to define expressions before starting a profile.

  4. Do one of the following to complete the process of creating the profile:

    • Click Create to create the profile.

    • To abandon creating the profile and close the dialog box, click Cancel.

Using Profile Match Criteria to Select Objects

A profile can select objects by specific element, class name, regular expression, or script-based matching.

To specify profile matching criteria:

  1. From the Create Profile dialog box, click the New button (next to the Matches section) to open the New Matcher wizard:

  2. Specify a name for the profile in the Title field.

  3. Specify a description for the profile in the Description field.

  4. Click Forward to open the following dialog box:

  5. Click one of the following links to select a method for profile matching:

    Match by Specific Element: Matching occurs using selected elements.

    Match by Expression: Selects elements based on a regular expression or LDAP-style syntax. The match is based on the element’s full distinguished name (DName), explained later in this section.

    Match by Script: Selects elements based on a script written using the FormulaScript language. The entire text in the window must evaluate to either True or False for a given object. Only administrators with programming experience should use this feature. It is reserved for situations that require statements that exceed the complexity of an element expression, or that require validation of a property other than an element’s DName.

    Match by Class: Selects elements based on element class name.

    For more information, see Section 11.2, Determining an Element’s Class Name.

    NOTE:The methods used to specify profile matching criteria are the same methods used to add elements to a Service Model. For details on the Match By options, see the Operations Center 5.6 Service Modeling Guide.

    For profiles that query alarm history, select a top-level element to ensure alarm data collection for all levels in the hierarchy. Selecting a top-level element allows historical alarm queries to run at the top level or at any child level in the hierarchy. Do not use .* to collect data for all children. This results in many duplicate alarms in the Historical Alarms view in the Operations Center console.

  6. Click Finish to save the matches.

Editing Profiles

To update a profile:

  1. In the Explorer pane, right-click a profile, then select Properties to open the Status property page.

  2. In the left pane, click Profile to open its property page:

  3. Edit the profile as needed.

    If data retention settings are changed, the new setting applies only to data collected from that point forward.

  4. Click Apply.

  5. To start the profile, click Start.

  6. If the data retention setting was changed, stop and restart the Data Warehouse for changes to take effect.

    For instructions on how to stop and start the Data Warehouse Engine, see Section 12.5.3, Stopping and Starting Data Collection.

Deleting a Profile

When a profile is deleted, all its corresponding data is deleted during normal purge operations using data retention rules set at the time it was originally written to the database.

To delete a profile:

  1. In the Explorer pane, right-click a profile element, then select Delete Profile.

12.2.2 Creating Expressions

Expressions specify the types of data that are saved for future analysis. For example, an expression can be specified to save specific element attributes or children alarm information.

WARNING:If profiles are not deleted using the method listed above and the Operations Center software is uninstalled and the OperationsCenter_install_path directory is deleted, the data corresponding to the profiles remains in the database even though the profiles no longer exist. Also, expressions for invalid profiles can be listed in the Property page of the Performance view and Performance Analysis window.

One or more expressions must be defined for each profile to identify the type of data to save for elements that are selected using the profile’s matching criteria. Operations Center provides a default profile (Alarms) that has a predefined Alarms expression.

Figure 12-2 Explorer Pane: Expressions are listed beneath Profiles in the Explorer Pane.

There are two basic types of expressions:

WARNING:Do NOT set up more than one profile to measure the same alarm information (using the Alarms expression) for an element. Duplicate alarm data displays in the Alarm Properties History tab. However, more than one profile can be set up to measure alarm counts and all other performance indicators found in the Historical Performance section of the Create Expression dialog box.

Alarm History Expressions

An Alarms History expression creates a historical alarms data store that is accessed in the Alarms view by using the Historical: Alarms option.

Create an Alarm History expression adding one or more filters for the following items:

  • Element name

  • Severity

  • Date/time

  • Alarm property

    Specify a value and an operator such as:

    • less than
    • greater than
    • contains
    • does not contain
    • is
    • is not
    • begins with
    • ends with

    For example, in an Alarm History expression, create one filter to select alarms whose severity is CRITICAL and create another filter to select alarms whose property TimeToRespond is greater than 60 minutes.

After adding a filter, select either Match Any or Match All to determine how the expression applies the filters:

  • Match Any stores the data if any of the filter criteria are met

  • Match All stores the data only if all filter criteria are met

To save alarm data in order to view alarm history in the Alarms view, create a profile that has an Alarms expression (Alarm History) attached to it.

To create an expression for gathering Alarm History:

  1. In the Explorer pane, right-click a profile, then select Create Expression to open its dialog box:

  2. Specify a name for the expression in the Name field.

    Use a unique name for each expression of the same type.

  3. To create an Alarm History expression, select the Alarms radio button.

    Alarm history-related options display in the bottom of the Create Expression dialog box.

  4. To set normalization rules, select one of the following Normalize radio buttons:

    None: No alarm history data is normalized.

    All Data: All alarm history data is normalized. Enabling this field causes a high volume of database activity that can significantly impact server performance. This rule is recommended only if alarm data is accessed using external reporting tools.

    Only These Alarm Fields: Only specified alarm data is normalized when captured. Specify alarm column names in the field under the radio button. Separate entries with a comma.

    NOTE:Normalization stores the alarm data in an expanded format in the database for easy data retrieval by external reporting tools.

  5. To set up a filter for saving alarm data, click Set Filter to open the Alarm History Filter dialog box:

  6. Specify the filter by using a combination of selections from the drop-down lists.

    For example, create a filter that selects alarms whose severity is CRITICAL.

  7. To specify an alarm property, select Property from the drop-down list, then specify the property name in the adjacent field.

  8. Specify an operator, such as greater than, less than, or one of the following options, then specify a value.

  9. Click Add to create another filter.

    For example, create one filter to select alarms with CRITICAL severity and create another filter to select alarms whose property TimeToRespond is greater than 60 minutes.

    To create the filter, do the following:

    1. To remove a filter entry, select row, then click Remove.

      The row is removed.

    2. To save filter settings, click Apply to close the Alarm History Filter dialog box.

  10. Select either the Match Any or Match All radio button to specify how to apply multiple filters.

    Match Any stores the data if any of the filter criteria are met, while Match All stores the data only if all filter criteria are met.

  11. Click Create to add the expression to the profile.

    The expression displays as a child element of the profile. It can be edited later in the Portal view or the expression Properties dialog box.

Creating Historical Performance Expressions

Historical Performance expressions are used to capture data that provide useful performance information. Historical Performance expressions are available as chart properties for associated elements. They display in the Properties pane found in the Performance view and Performance Analysis window.

Historical Performance expressions have data types that determine which data is saved as historical performance data and used to analyze single elements for performance charts. Performance charts (viewed in the Performance view or the Performance Analysis window) can only include the data specified by the Historical Performance expression data types. Additional data stored in database tables can be accessed directly through third party reporting tools, provided that a valid database driver (such as ODBC or JDBC) is available from the database vendor. For more information on the database tables, see the Operations Center 5.5 Service Warehouse Data Dictionary.

To create a Historical Performance expression:

  1. Select a data type listed for Historical Performance in the Create Expression dialog box:

  2. Configure a data type for a Historical Performance expression:

    Alarm Property: A property from the Alarms view, such as date/time, priority, class. The list of valid property names varies among adapters. Use the same spelling (including underscores) that is used in the alarm column headings displayed in the Alarms view or in the alarm property pages. Some commonly used alarm columns:

    • Severity to obtain the alarm’s severity

    • ID to obtain the alarm’s ID

    • Last_Update to obtain the most recent update time for an alarm

    • Persistent_ID to obtain the persistent identifier for the alarm

    To specify that the incoming string values are treated as numerals, select the Force Numeric check box.

    Alarm Severity Counts: The total number of alarms by severity for a selected elements.

    Child Condition Counts: The condition codes (critical, major, minor, and so on) of all child elements for a selected element.

    Regardless of Data Warehouse settings, the suppressed state is stored for all Historical Performance profiles using this expression, as well as the Element Condition, and Element Change Condition expressions. The exception is the Service Levels profile, which stores real time state only.

    Element Condition: The condition code (critical, major, minor, and so on) for a selected element.

    Element Condition Change: Any change in condition for a selected elements. Select the Store Root Cause check box to capture information regarding the root cause for the condition change. If capturing root cause, specify a severity level to act as a trigger from the Condition Threshold drop-down list.

    Element Property: The values of a selected element property. Click the Property drop-down list, then select the name of an element property to monitor, such as memory usage or response time. Note, this list is only populated when the profile’s elements have custom properties, meaning properties other than Element Condition, Last Reported, and Element Name.

    A regular expression can be used to extract and retain a specific portion of the property value based on a pattern. This is most helpful when additional characters are present and you can only chart the numerical portion of the value. For example, values such as 43%, $35USD, and Rate is 88; can be pruned to capture only the numbers.

    Append the property name with the regular expression using the format property_name:regex_pattern to prune property values. You’ll notice in the following examples that the values to keep (any numbers from 0-9) are indicated inside of parentheses:

    Count:#([0-9]+)

    Ignores the # sign prior to the number in the Count property. For example, extracts 23 from #23, and 1 from #1

    Rate:Rate is ([0-9]+)

    Ignores the Rate is text before the number in the Rate property. For example, extracts 71 from Rate is 71, and 88 from Rate is 88.

    Amount:\$([0-9]+).*

    Ignores the $ sign prior to the number and anything after the number in the Amount property. For example, extracts 25 from $25usd, and 400 from $400 msrp.

    If numeric text is extracted, select Force Numeric.

    Performance Series: Data derived from measurements made by an external management system:

    Select a name for the series from the Series drop-down list and then specify the property to monitor in the Property drop-down list. The values vary among different management systems. By default, the expression Name value is created using the Series value and the Property value, separated by a period (i.e. Series.Property). The default Name value is editable.

    Wildcards can be used. For example, enter the asterisk (*) as the Series and Property values. If an object has multiple series, they are all stored.

    Script: The values resulting from running a script. Enter the entire contents of a script (written using FormulaScript) that determines the type of data to include.

12.2.3 Starting and Stopping Profiles

If you do not select the option to activate the profile when the Service Warehouse starts, then you can start it manually. Expressions must be added to a profile before it can be started. It is necessary to define expressions before starting a profile.

HINT:Stop and restart the related profile immediately after modifying a schedule, calendar, or expression.

The following sections explain the various ways to start and stop profiles:

Stopping or Starting All Profiles

  1. In the Explorer pane, Administration > Data Warehouse.

  2. Right-click Profiles, then select one of the following options:

    • Start All Profiles

    • Stop All Profiles

Stopping or Starting a Specific Profile

NOTE:Do not use the Stop Profile option if there are many queued “writes” to the repository of time series information for a profile because of a configuration error or over-matching of elements. Instead, use the Stop and Purge Queue option to stop the profile and eject the queued writes.

To start or stop a profile:

In the Explorer pane, right-click a profile, then select Start Profile or Stop Profile

The selected profile starts or stops respectively.

Stopping the Profile and Ejecting the Queued Writes from the Repository

Right-click the profile, then select Stop and Purge Queue.

The profile stops and the queue empties.

Understanding When the Alarm Profile Stops Running

When the Alarms profile is not running, the following message displays in the Operations Center trace file:

WARN Performance.Engine ‑ Not storing annotation alarm; default alarm profile is not activated.

If the default Alarm profile stops, alarm comments are not stored.

The Service Warehouse uses a file repository to keep temporary backups of data when the queue becomes too large. If a configuration error or over-matching of elements occurs, you can stop and purge the queue. This does not remove any data that is written to the backup repository files at the time the option is issued.

12.2.4 Monitoring Profile Data Collection

While a Data Warehouse Profile is collecting data, open the profile’s Properties dialog box to view data collection statistics.

To view profile statistics and matched elements:

  1. In the Explorer pane, right-click a profile, then select Properties to open the Status property page.

  2. In the left pane, click Statistics to open its property page.

    Based on the interval selected for the profile, the following data updates while the profile is collects data:

    Statistics

    Description

    Data Stored

    The estimated size of the total data stored.

    Data Average

    The running average per minute of data stored.

    Transactions

    The number of write transactions to the database.

    Pulses

    The number of times the profile has performed data collection according to the schedule settings.

    Errors

    The number of errors that occurred upon storage.

    Matched

    The number of elements that match the profile.

    Matching ms

    The amount of time, in milliseconds, spent on executing pattern matching to find associated elements.

    Measuring ms

    The amount of time, in milliseconds, spent on measuring data values for the matched elements.

    Storing ms

    The amount of time, in milliseconds, spent on database call time to store the measured data values.

  3. Click the Elements tab.

    The Elements tab lists all elements that currently match the profile.