Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • No policy actions are performed for events with the property action_checked set to 1 or for events that are (already) acknowledged.
    The former can be controlled by custom parser rules, the latter is mostly affected by the configuration options opevents_auto_acknowledge and opevents_auto_acknowledge_up:
    With auto-acknowledge enabled, a stateful down event is automatically acknowledged when the corresponding up event arrives. In that case, the up event itself is also automatically acknowledged if and only if opevents_auto_acknowledge_up is set.
  • If the configuration option opevents_no_action_on_flap is set to true in conf/opCommon.nmisjson, then no actions are performed on the down event that is involved in a flap event, and the down event is acknowledged. This is the default behaviour.
  • Policy action handling is delayed by state_flap_window seconds for all stateful events, so that state flaps can be detected before any actions are performed.
  • Policy action handling is delayed for synthetic events, if the event creation rule sets the property delayedaction.

...

The script action lets you execute a program of your choice, and optionally captures and saves that program's output with the event. As usual, the section script of conf/EventActions.json contains the required configuration directives:

Code Block
themeEmacs
{
   "script" : {
      "traceroute_node" : {
         "outputexec" : "save/bin/traceroute",
         "arguments" : "--max-hops=20 node.configuration.host",
         "execoutput" : "traceroutesave"
      },
      "pingfuture_nodeproof" : {
         "execmax_tries" : "/bin/ping"2,
         "argumentsoutput" : "-c 5 node.configuration.hostsave",
         "outputstderr" : "save",
      },
      "ping_neighborexitcode" : {"save",
         "exec" : "/bin/ping",[
         "output"  : "save" "/usr/local/bin/someprogram",
            "--first-fixed-arg",
            "no substitution happens here"
         ],
         "arguments" : [
            "event.node",
            "event.event",
            "--extra",
            "event.details"
         ]
      },
      "ping_node" : {
         "output" : "save",
         "exec" : "/bin/ping",
         "arguments" : "-c 5 eventnode.elementhost"
      }
   }
	},

The path to the program file must be given in the exec option. Arguments can be passed to the program; simply add them to the arguments option. Any tokens of the form event.name or node.name will be replaced by the named event or node property, respectively. If the option output is set to save, then the output of the program execution is captured and saved with the event in question; otherwise the output is discarded.

...