summaryrefslogtreecommitdiff
path: root/docs/configuration/system/eventhandler.rst
diff options
context:
space:
mode:
authorrebortg <github@ghlr.de>2020-11-30 21:15:16 +0100
committerrebortg <github@ghlr.de>2020-11-30 21:15:16 +0100
commitb1cb71c71935ad6b0a7d9effe8f4dc4467de2175 (patch)
tree65ec7498be8016531310e0b8c55bf6de070ffced /docs/configuration/system/eventhandler.rst
parent8943fc9f877cbee3301a8261ddd27b4b1f15f174 (diff)
downloadvyos-documentation-b1cb71c71935ad6b0a7d9effe8f4dc4467de2175.tar.gz
vyos-documentation-b1cb71c71935ad6b0a7d9effe8f4dc4467de2175.zip
arrange: system configration
Diffstat (limited to 'docs/configuration/system/eventhandler.rst')
-rw-r--r--docs/configuration/system/eventhandler.rst48
1 files changed, 48 insertions, 0 deletions
diff --git a/docs/configuration/system/eventhandler.rst b/docs/configuration/system/eventhandler.rst
new file mode 100644
index 00000000..a68b3924
--- /dev/null
+++ b/docs/configuration/system/eventhandler.rst
@@ -0,0 +1,48 @@
+.. _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
+ }
+ } \ No newline at end of file