summaryrefslogtreecommitdiff
path: root/docs/system/eventhandler.rst
diff options
context:
space:
mode:
authorKim <kim.sidney@gmail.com>2019-03-25 21:33:43 +0100
committerGitHub <noreply@github.com>2019-03-25 21:33:43 +0100
commit5679114d227e86acc3da5ad89ce4f8422f1dae8b (patch)
tree2a3101622724e64f71be124e6a807c529130b845 /docs/system/eventhandler.rst
parent4963d3ec64246ba0bc29c20ef9ca697d55c92c17 (diff)
parent15220c47f4a3aed81fbdeac949e97a4ac3bcbf49 (diff)
downloadvyos-documentation-5679114d227e86acc3da5ad89ce4f8422f1dae8b.tar.gz
vyos-documentation-5679114d227e86acc3da5ad89ce4f8422f1dae8b.zip
Merge pull request #20 from rebortg/add/system
Add/system
Diffstat (limited to 'docs/system/eventhandler.rst')
-rw-r--r--docs/system/eventhandler.rst48
1 files changed, 48 insertions, 0 deletions
diff --git a/docs/system/eventhandler.rst b/docs/system/eventhandler.rst
new file mode 100644
index 00000000..6204abcc
--- /dev/null
+++ b/docs/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:: sh
+
+ 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:: sh
+
+ 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