User Tools

Site Tools


guides:reference:system_events:jobs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

guides:reference:system_events:jobs [2023/09/20 12:20] – created pgelsguides:reference:system_events:jobs [2023/11/01 12:47] (current) – [Set-up] pgels
Line 1: Line 1:
 +===== Scheduling jobs through events =====
  
 +Starting from version 8.2.2 there will be the option available to trigger a job after a syslog event.There are a few settings you need to take into account, but after setting it up it should work automatically. 
 +
 +==== Set-up ====
 +
 +First of all we need to add the following triggers to etc/yce_events.conf:
 +
 +<code>
 +#
 +type=SingleWithSub
 +ptype=RegExp
 +pattern=syslog_received_for_(\S+)
 +sub=create_job
 +arg=$1
 +desc=$0
 +action=write - normal save OR save main node $1 matches.
 +#
 +</code>
 +
 +The key is the sub=create_job: this calls the create_job function of the yce_events deamon, and this schedules a job for the node. The node in question is put in the (\S+) of the pattern, which gets pushed to the variable $1. You can customize the pattern to the syslog message you need, as long as the hostname corresponds to (\S+).
 +
 +This triggers a job that contains a task with scenario "Syslog_task". This task is automatically provided by netyce. You can edit this scenario as you see fit for your needs. 
 +
 +To trigger the job, you need a user. The name of this user is 'xch'. This user is automatically generated by netYCE, but you need to change the user group to a user group you see fit. This user group at least needs operator rights.
 +
 +As soon as you have updated your yce_events.netyce.conf and set the permissions for the xch user, this should work. 
 +
 +==== Using interfaces as a second argument ====
 +
 +If you want to send along a second argument, the way to do it is as follows:
 +
 +#
 +type=SingleWithSub
 +ptype=RegExp
 +pattern=syslog_received_for_(\S+)_(\S+)
 +sub=create_job
 +arg=$1
 +arg2=$2
 +desc=$0
 +action=write - normal save OR save main node $1 matches.
 +#
 +
 +Arg1 contains the hostname, Arg2 contains the interface name. This will end up in the job as a parameter called "interface", which can then be used in your scenario as you please. 
guides/reference/system_events/jobs.txt · Last modified: 2023/11/01 12:47 by pgels