Integration Monitor Configuration FilesMercury Business Availability Center EMS Integration monitors are useful for capturing event and measurement data from Enterprise Management Systems, automated support systems, and other management applications. By default, these monitors are configured to capture and transfer a variety of information to Mercury Business Availability Center. As with other features in SiteScope, the Mercury Business Availability Center Integration monitors can be customized as to the way that they handle data.
About the EMS Configuration FileAll EMS monitors depend on configuration files which define the processing of incoming data and define the output sample forwarded to Business Availability Center. This section describes the configuration file syntax and structure. The EMS Configuration file allows you to customize the data that is being forwarded to Mercury Business Availability Center. The file contains instructions on how to process the data as it arrives to the EMS monitors. The configuration file is based on concept of event handlers - independent sections that contain instructions relevant to specific data. You can use this to customize the configuration to data that originated in several different Enterprise Management Systems. This section describes the possible options within the configuration file and presents a number of examples. Each Integration monitor has a configuration file containing one or more sets of event handlers. The individual configuration files for the Integration monitor are stored in the location described as follows: <SiteScope install path>/ems/<monitor_type>/<name>.config where <SiteScope install path> is the SiteScope installation path, <monitor_type> is the monitor type name (for example, Tivoli , NetIQ , or HPOV ), and <name> is the name of an existing configuration file. Note: When using the Database, Log File, and SNMP Trap Technology monitors, you must create an appropriate configuration file using one of the templates supplied before you configure the monitor. The instructions that constitute the configuration file are grouped into event handlers. Each event handler contains a "matching condition", by which SiteScope can decide whether to use a particular event handler for an arriving event. When an event or data arrives at the Integration monitor, it iterates over the different event handlers in the configuration file, in the order they appear in the file, testing the "matching condition" of each handler. If a matching handler is found, the monitor uses the instructions within that handler to process event and perform the action defined for this handler (for example, forward it to Business Availability Center or discard). No further sections are checked after the first match. If no matches are found, the sample is discarded. By default, each file comes with an event handler that matches all events. An example of such a configuration file is shown below. Note: Always have a copy of the default or original configuration file available when you edit a configuration file, so that you will be able to consult the original settings if necessary. Event Handler StructureEach event handler has following structure:
[name] The names of Matching condition, Action directive and additional directives start with dollar sign symbol ( $ ). The names of tags should not start with dollar sign. Comments are allowed in the configuration file. The comment starts with either # , ! or ; character and continues to the end of the line. Matching ConditionThe Match Condition must be a valid boolean expression. The expression can contain calls to the operators and functions defined below. The expression can access the contents of the event that is being processed using the dollar sign ( $ ) notation. For example, if the incoming event is SNMP Trap, then its enterprise OID can be accessed as $oid . Refer to the user guide of the relevant monitor type for names specific to that monitor. The matching condition has the form: where the Boolean expression is one of the expressions listed in the table below. When mentioned in the description, the expression can also be used to assign values into tags (see tag section below). Any of the above expressions can be used and the expression can refer to incoming event fields. The value of the expression, which can be either true or false, determines whether the event handler will be used to process the event or not. Basic String ExpressionsThe following table summarizes the string expressions that can be used in the configuration files: Basic Conditional ExpressionOne conditional expression is supported; the ? operator. This operator can be used to compose 3 expressions into one: <Conditional part> ? <if true part> : <if false part> Action DirectiveThe action directive has form: $ACTION= TOPAZ_BUS_POST or TOPAZ_POST or DISCARD The value of the Action directive defines whether the event will be processed and forwarded to Business Availability Center, or discarded. This value will take effect only if the matching condition within the handler had been evaluated to positive value (i.e. to true ). The table below describes the effect of the different actions. TagsIn addition to directives, event handler contains tags. Each tag represents a field in the event that will be forwarded to Business Availability Center, whose value can be evaluated when the event arrives to the Integration monitor. The name is any string without spaces or dollar signs ($). The type specifies the type of field as reported to Business Availability Center. It can be either INT , DOUBLE or STRING . The default type is STRING . By defining a tag, you can customize event forwarding to Business Availability Center and to get more value from the external applications that generate events that will be forwarded to the Business Availability Center Dashboard. If, for example, the monitor pulls out data from a database table column called AlertText , which contains a textual description of an alert, it is possible to send that data to Business Availability Center by adding the following line to an event handler section:
[event handler] Default EMS Configuration File EntryIn addition to the event handlers, the configuration file can contain special entries that affect the EMS integration engine as a whole. These values are grouped into the [$DEFAULT_PARAMETERS$] section. This section defines default values for tags that are common for all handlers. Any tag can be set in this section; it will be used to create a reported value unless overridden in the matched event handler. For each incoming event, this event handler will always be executed prior to the matched event handler. EMS Configuration File ExamplesExample 1: Universal Event Handler:
[post them all] Note that the $MATCH directive in the handler is set to true. This causes every event to "match" the handler and therefore every event is sent to the Business Availability Center Bus. Example 2: Different event handlers for different severities.
[Error Handler]
[Info Handler]
[post them all] In the example above, an incoming event will be matched against the "Error Handler" event handler. If the handlers condition is true (that is, the value in the status field equals ERROR ), then an event with a field called Severity, whose value is SEVERITY_CRITICAL , will be sent to Mercury AM. An event can only be matched by a single handler: The first match will stop the processing and therefore once an event is matched by a section it will not be processed by the next handler. If the event was not matched by the first handler, the second handler will come into action and its match (which looks for status of INFO ) will be used to decide whether the second handler needs to take action. Finally, If the event does not match the second handler, the third, universal handler will be evaluated. Configuration File TemplatesThe EMS Technology monitors (EMS SNMP Trap, EMS Log File, and EMS Database) comes with a set of config file templates. The templates are available in the <Sitescope_install_path>\SiteScope\ems\templates\ folder. These templates include: Event Template (event.config)This template is used for extracting events collected by external system and importing them to Business Availability Center. For further details on this sample template see the section on Configuring the Event Template below. Measurement Template (measurement.config)This template is used for extracting measurements collected by external system and importing them to Business Availability Center. The measurements will be reported to Business Availability Center as SiteScope measurements. The measurement template defines a mandatory structure. For further details on this sample template see the section on Configuring the Measurement Template below. EMS Type Template (main.config)This type is provided for backwards compatibility with Topaz 4.5 FP2 or earlier and for Auto Correlation. For further details on this sample template see the section on Configuring the EMS Type Template below. The sections below describe considerations for each of the templates. Configuring the Event TemplateThe tables below list mandatory and optional values for the Event Template. An example configuration is shown below the table. Mandatory Values for the Event TemplateOptional Values for the Event TemplateThe tables below list optional values for the Event Template. An example configuration is shown below the table. Conditional Expression Example 1:u_iSeverityId:UINT=$var6.equals("red") ? 50 : 10 In this example, the value of sixth variable binding is compared to string red . If the variable binding indeed is equal to string red , then the value of the u_iSeverity tag will be set to 50 , otherwise it will be set to 10 . Conditional Expression Example 2:u_iSeverityId:UINT=$var6.equals("red") ? 50 : $var6.equals("green") ? 10 : $var6.equals("yellow") ? 30 : 20 In this example, we are chaining the conditional operator into a decision chain. If the sixth variable binding holds string red , then u_iSeverity tag will have the value 50 . Otherwise, if the sixth variable binding holds string green , then u_iSeverity tag will have the value 10 . Otherwise, if the variable binding holds string yellow , the tag will have the value 30 , and if none of the above conditions is true, then the tag will have the value 20 . Example Event FileIn the example below , two types of events are sent: the first are events of status "OPEN" and the second are events cleared by a user. The data is retrieved from incoming event fields using the $ notation. All other events are discarded by the last handler.
Configuring the Measurement TemplateThe table below lists mandatory values for the Measurement Template. An example template is shown below the table.
Example Measurement TemplateIn the example below , two measurements are sent: the first one takes its name from the $legend field and takes the value from the $value field. A second measurement uses the constant name CPU Temperature which receives its value from the $CPUTemp field.
#########################################
[allR] When specifying more then one measurements in the template, a separate sample will be sent with each of the measurements. In the case of failure, errors will appear in the error.log but the error will not affect the monitor state. Configuring the EMS Type TemplateThis section describes the mandatory fields for defining this template . The Business Availability Center Alert Log report, TBA and the Business Availability Center Auto Correlation application expect certain fields to appear within the reported event. The EMS integration engine provides sensible defaults for these fields; however you can get more value by creating fields to provide exact value for these fields. Mandatory Fields for the EMS Type TemplateThe following table summarizes the mandatory fields for the EMS Type Template:
Tags for Alert Log and Auto CorrelationTags expected by the Business Availability Center Alert Log and the Business Availability Center Auto Correlation applications: Reserved Tags in the EMS Type TemplateFollowing tags are used internally by the EMS integration engine.
Re-defining these tags can lead to incorrect event forwarding.
Logging Events to Business Availability Center for Auto CorrelationIn order to use EMS events in Auto-Correaltion (or for backward compatibility to Root-Cause Analysis), you must modify the configuration file for the applicable Integration monitor using the following steps. To configure monitors to send data to the event database for use by Auto Correlation:
|