mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
51 lines
1.3 KiB
ReStructuredText
51 lines
1.3 KiB
ReStructuredText
.. _event-handler:
|
|
|
|
Event Handler
|
|
-------------
|
|
|
|
Event handler allows you to execute scripts when a string that matches a regex
|
|
appears in a text stream (e.g. log file).
|
|
|
|
It uses "feeds" (output of commands, or a named pipes) and "policies" that
|
|
define what to execute if a regex is matched.
|
|
|
|
.. code-block:: none
|
|
|
|
system
|
|
event-handler
|
|
feed <name>
|
|
description <feed description>
|
|
policy <policy name>
|
|
source
|
|
preset
|
|
syslog # Use the syslog logs for feed
|
|
custom
|
|
command <command to execute> # E.g. "tail -f /var/log/somelogfile"
|
|
named-pipe <path to a names pipe>
|
|
policy <policy name>
|
|
description <policy description>
|
|
event <event name>
|
|
description <event description>
|
|
pattern <regex>
|
|
run <command to run>
|
|
|
|
In this small example a script runs every time a login failed and an interface
|
|
goes down
|
|
|
|
.. code-block:: none
|
|
|
|
vyos@vyos# show system event-handler
|
|
feed Syslog {
|
|
policy MyPolicy
|
|
source {
|
|
preset syslog
|
|
}
|
|
}
|
|
policy MyPolicy {
|
|
description "Test policy"
|
|
event BadThingsHappened {
|
|
pattern "authentication failure"
|
|
pattern "interface \.* index \d+ .* DOWN.*"
|
|
run /config/scripts/email-to-admin
|
|
}
|
|
} |