Table of Contents
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:
# 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. #
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.