mirror of
				https://github.com/vyos/vyos-documentation.git
				synced 2025-10-26 08:41:46 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			48 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
 | |
|       }
 | |
|   } |