Event functions
Event functions are also known as void functions and do not return a value.
DropNewEvent
This function drops incoming events as they occur. After execution, the dropped events are not saved and are not available on the UI.
GenerateNewEvent
This function generates events for a specific event class. The following table lists the parameters and slots for the selected class that are displayed as inputs for the function. After execution, the generated event is displayed on the Events page.
Input
Input | Type | Description |
---|---|---|
Event Class | ENUM | Out-of-the-box or custom class for which you want to generate the event. Default: Event The following event classes are not supported:
What happens to policies that use these restricted classes? Existing policies that use the Anomaly, Prediction, and Situation classes are not impacted. However, if you update an existing policy, the policy fails because these restricted classes are not allowed. You must remove these restricted classes when updating an existing policy. |
Event Severity | ENUM | Severity for the generated event. Default: Minor |
Event Priority | ENUM | Priority for the generated event. Default: Moderate |
Source Hostname | String | Host name of the event provider. We recommend a character limit of 256 characters. |
Message | String | Message that you want to include in the generated event. Use the % character to include slot placeholders. When the policy is applied, the placeholders are replaced with values from the incoming event. We recommend a character limit of 1024 characters. |
Source Identifier | String | Unique event source identifier which can be used for associating the event with the Entity/CI. We recommend a character limit of 256 characters. |
Mandatory and dedup slots | String, Integer, List of string, ENUM | Mandatory and dedup slots for the selected class. Dedup slots may or may not be mandatory. If you do not mention a value in dedup slots, a blank value is considered for enrichment. For more information on mandatory and dedup slots, see Slot-facets. For example: If you select the Alarm class, Alarm ID is displayed as a dedup slot which is a mandatory slot. If you haven’t set a default value for a slot in the event class definition, the function considers the slot value that you enter. The date and List of integer data types are not supported for slots. |
Non-mandatory slots | String, Integer, List of string, ENUM | Choose additional slots to add in the generated event for the selected class by using the If you haven’t set a default value for a slot in the event class definition, the function considers the slot value that you enter. If you have set a default value for a slot in the event class definition, but you haven’t added the slot in the function. In this case, the default value for the slot is considered the slot value. Use the delete icon to delete the added slot. Once you add and save a slot from the list, the slot is disabled for selection. To enable the slot, delete and add it again. The date and List of integer data types are not supported for slots. |
To understand a use case for this function, see Example-Generate-events-to-check-application-availability.
AddOperationNote
This function adds a note in an incoming or existing event when an event is assigned, acknowledged, unacknowledged, closed, owned, declined, or prioritized. A note is a list of strings that contains information such as the timestamp, owner, and note content. The following table lists the parameters that are displayed as inputs for the function. After execution, the note is displayed on the Event Details page.
Input
Input | Type | Description |
---|---|---|
Operation name | ENUM | Indicates the following event operations:
|
Note | String | Inserts a note that you want to include in the event. We recommend a character limit of 256 characters. You can specify the following value for this input:
If you want to specify a comma in the note content, use the backslash (\) character before the comma. |
To understand a use case for this function, see Example-Add-operation-note-for-event-assignment.
AddNote
This function adds a note in an incoming or existing event. The following table lists the parameters that are displayed as inputs for the function. The owner of the note is set to the event policy name. After execution, the note is displayed on the Event Details page.
Input
Input | Type | Description |
---|---|---|
Note | String | Inserts a note that you want to include in the event. We recommend a character limit of 256 characters. You can specify the following values for this input:
If you want to specify a comma in the note content, use the backslash (\) character before the comma. |
To understand a use case for this function, see Example-Add-notes-to-incoming-events-to-indicate-event-generation.
SetNote
This function modifies the note content for a specific note from a list of notes in an incoming or existing event. After execution, the modified note is displayed on the Event Details page.
Input
Input | Type | Description |
---|---|---|
Position | Integer | The sequence number of the note that you want to modify. Notes are numbered, starting from 1 for the oldest note. To modify the most recent note, specify the position as 0. If you specify an incorrect position, an exception message is displayed in the _errors slot for the event. |
Note | String | The new text of the note that you want to set in the existing note of the event. We recommend a character limit of 256 characters. You can specify the following values for this input:
If you want to specify a comma in the note content, use the backslash (\) character before the comma. |
To understand a use case for this function, see Example-Retrieve-and-modify-notes-in-incoming-events.
LookupNodeDetails
This function fetches node details, such as node IP address, source, location, and so on, from BMC Discovery according to the Node ID (_node_id)slot and the topology lookup slots for an event class present in the incoming event. The fetched node details can further be used to enrich an incoming event. This function returns String or List of String node attribute values. You can use the LookupNodeDetails or the LookupNodeDetailsByKind function within a policy. You cannot use both functions together in a policy.
Input
Input | Type | Description |
---|---|---|
Node Attributes to fetch | List | Specify a comma-separated list of node attributes that you want to fetch from BMC Discovery. To refer to node attributes in BMC Discovery, run the GET/data/nodes/{node_id} endpoint by using the _node_id value present in an existing event. For more information, see Endpoints in the REST API. The state attribute returned in the API response contains the node attribute details that you could specify for this input. The attributes can be specified by using standard JSON path conventions. For example, the following attribute list can be used to retrieve node attributes: ["kernel", "os", "model", "kind", "__all_ip_addrs[0]"] After the attributes are fetched, you can use these attributes as local variables in the function input by using the $NODE prefix to further enrich events. For example: $NODE. kernel and $NODE.os. Make sure that you provide the node attribute name as it exists in BMC Discovery. If you provide an attribute name for which there is no value present in BMC Discovery, the variable name is set as the variable value in the enriched event. For example, assuming that the kernel value is not present in BMC Discovery, the detailed message slot is set to $NODE. kernel in the enriched event instead of the actual value and the _errors slot in the event is populated with the reason for the failure. |
To understand a use case for this function, see Example-Enrich-events-with-node-details.
LookupNodeDetailsByKind
This function fetches node information for node kinds from BMC Discovery for a specific node kind and node selection criteria. If this function fetches multiple nodes in the lookup, only the first node fetched will be used to access the node attributes.
The fetched node details can further be used to enrich an incoming event. You can use the LookupNodeDetailsByKind or the LookupNodeDetails function within a policy. You cannot use both functions together in a policy. If the event satisfies the event selection criteria of multiple policies that use this function, the system executes only the first policy with the highest precedence on the event.
Input
Input | Type | Description |
---|---|---|
Node Selection Criteria | String | Specify the criteria for fetching nodes from BMC Discovery. You can specify event slots or variables of the String data type. For example: ( $NEW.source_hostname in name OR $NEW.source_hostname in short_name ) Here, the operand before the operator is the event slot value in BMC Helix Operations Management, which you want to search, and the operand after the operator is the attribute name in BMC Discovery. The in and has_subword operators are supported in the node selection criteria. The AND and OR logical operators are supported. |
Node attributes to fetch | List | Specify a comma-separated list of node attributes that you want to fetch from BMC Discovery. To refer to node attributes in BMC Discovery, run the GET/data/nodes/{node_id} endpoint by using the _node_id value present in an existing event. For more information, see Endpoints in the REST API. The state attribute returned in the API response contains the node attribute details that you could specify for this input. The attributes can be specified by using standard JSON path conventions. For example, the following attribute list can be used to retrieve node attributes: ["type", "os", "model", "os_class"] After the attributes are fetched, you can use these attributes as local variables in the function input by using the $NODE prefix to further enrich events. For example: $NODE.type and $NODE.os. Make sure that you provide the node attribute name as it exists in BMC Discovery. If you provide an attribute name for which there is no value present in BMC Discovery, the variable name is set as the variable value in the enriched event. For example, assuming that the kernel value is not present in BMC Discovery, the detailed message slot is set to $NODE. kernel in the enriched event instead of the actual value and the _errors slot in the event is populated with the reason for the failure. |
Node kind | String | Specify the node kind. For example, the following node kinds in BMC Discovery are supported: |
To understand a use case for this function, see Example-Enrich-events-with-node-details-according-to-the-node-kind.
AssociateEventToNode
This function fetches the topology information from BMC Discovery in an event according to specific node selection criteria and node kind. Use this function in the refinement policy to perform topology enrichment by using string event slots in addition to the default topology (class-based topology enrichment) slots defined in the event class.
An event is associated with the first matching node from the list of node kinds in the Node kind field. If no matching node is found, subsequent nodes from the Node kind field are checked for a match.
Input
Input | Type | Description |
---|---|---|
Skip Node Association | Boolean | Select this check box to skip both the node and service enrichment in an event. |
Skip Service Association | Boolean | Select this check box to skip the service enrichment but perform the node enrichment in an event. |
Node Selection Criteria | String | Specify the criteria for fetching nodes from BMC Discovery. You can specify event slots or variables of the String data type. The in and has_subword operators are supported in the node selection criteria. The AND and OR logical operators are supported. For example:
$NEW.source_hostname and $NEW._ci_id are the event slot values in BMC Helix Operations Management and name, short_name, and external_ids are the attribute names in BMC Discovery. Enclose the words with quotation marks to find the number of words in the text without considering their order. For example, os_type has_subword "Red Hat Linux." This condition is true if all the words "Red", "Hat", and "Linux" are found as subwords of the full text not limiting results to the exact phrase match. For example, if os_type is "Red Hat Enterprise Linux" or "Enterprise Linux Red Hat ", the search in the previous example returns true. |
Node kind | String | Specify the node kind. You can specify multiple node kinds. If no matching node is found for event association, subsequent nodes from the Node kind field are checked for a match in the sequence added in the Node kind field. For example, the following node kinds in BMC Discovery are supported: |
To see an example use case for this function, see Example-Enrich-topology-information-by-using-event-policy.