opEvents Programmable Button Actions

Available in opEvents-3.2.2 and opEvents-2.6.1

opEvents programmable buttons allow scripts to be run against events to give operators  greater flexibility in the use of opEvents in troubleshooting and triaging of events.

It uses the same pipeline as scripts in EventActions but now operators have the ability to manually kick off a action for an event.

Example use Cases

Create a Jira ticket

Configuration

Create a file in omk/conf/table_schemas/opEvents_action-buttons.json

This must be valid JSON schema or the buttons will fail to render. You should see an error in opEvents.log if this is the case.

[
  {
    "description": "Example Events Button Action",
    "label": "Ping Node",
    "fa_icon": "fas fa-table-tennis",
    "script": "ping_node",
    "tags": ["ping"]
  }
]

Add a policy in omk/conf/EventActions.json|.nmis that triggers show_button.tag()

EventActions.json
"policy": {
	"5": {
		"IF": "event.any",
		"THEN": "show_button.ping()",
		"BREAK": "true"
		},
	}
EventActions.nmis
%hash = (
		'policy' => {
				'5' => {
						IF => 'event.any',
						THEN => 'show_button.ping()',
						BREAK => 'true'
					},
				}
		);

These are the supported keys and how the change operation and look of the button.

KeyTypeRequiredDescription
scriptstringYesName of the script defined in EventActions.json
labelstringYesLabel which the button will display to the user
descriptionstringoptionalTool-tip help text to be displayed when you mouse over the button
tagsarray[string]optionalIf no tags are defined the button will show on all events, if tags are defined the button will only show on events which have been tagged with show_button.tag_name()
run_oncebooleanoptionalIf set to true the button will look for script.script_name key on the event, if found the button will disable itself. This allows manual actions to only be triggered once. Will not influence any defined EventActions.json operations.
fa_iconstringoptionalIcon to be displayed from the Font Awesome library shipped with opEvents example: "fas fa-table-tennis" Icons here https://fontawesome.com/icons?d=gallery
classstringoptionalDefine a css class to colour the button, see Notes on Button Classes below to see a list of supported types

Note on Button Classes

Class
btn-default
btn-primary
btn-success
btn-info
btn-warning
btn-danger
btn-link

Note on Font Awesome

In opEvents-3.2.2 we are shipping the library 5.12.1

In opEvents-2.6.1 we are shipping the library 5.8.2