NAME
sagan_stat_check - LibreNMS JSON SNMP extend and Nagios style check for Sagan stats.
SYNOPSIS
sagan_stats_check [-a <age>] [-m single] [-s <eve>] [-S <instance name>] [-d <drop percent warn>] [-D <drop percent crit>] [-r <error percent warn>] [-r <error percent crit>]
sagan_stats_check [-a <age>] -m slug [-s <slug>] [-l <log dir>] [-d <drop percent warn>] [-D <drop percent crit>] [-r <error percent warn>] [-r <error percent crit>]
sagan_stats_check [-a <age>] -m manual -1 <manual> [-d <drop percent warn>] [-D <drop percent crit>] [-r <error percent warn>] [-r <error percent crit>] [-2 <manual>] [-3 <manual>] [-4 <manual>] [-5 <manual>] [-6 <manual>] [-7 <manual>] [-8 <manual>] [-9 <manual>] [-0 <manual>]
sagan_stats_check -c [-b]
DESCRIPTION
For Nagious, this should be ran via NRPE.
For LibreNMS, this should be set up to run from cron and as a snmp extend.
cron...
*/5 * * * * /usr/local/bin/sagan_stat_check
snmp.conf...
extend sagan-stats /usr/local/bin/sagan_stat_check -c
This assumes that stats-json.subtract_old_values is set to 'true' for Sagan.
FLAGS
-a <age>
How far back to read in the log in seconds.
Default: 360
-c
Print from cache, '/var/cache/sagan_monitoring.json'.
-b
When used with -c, the output will be compressed via base64+gzip.
-m <mode>
Mode to run in.
Default: single
-e <eve>
Eve file for use with single mode.
Default: /var/log/sagan/stats.json
-S <instance name>
Instance name to use in single mode.
Default: ids
-s <slug>
The slug to use in slug mode.
Default: alert
-l <log dir>
Log directory for slug mode.
Default: /var/log/sagan
-0 <manual>
A file to use in manual mode.
-1 <manual>
A file to use in manual mode.
-2 <manual>
A file to use in manual mode.
-3 <manual>
A file to use in manual mode.
-4 <manual>
A file to use in manual mode.
-5 <manual>
A file to use in manual mode.
-6 <manual>
A file to use in manual mode.
-7 <manual>
A file to use in manual mode.
-8 <manual>
A file to use in manual mode.
-9 <manual>
A file to use in manual mode.
-0 <manual>
A file to use in manual mode.
-d <drop percent warn>
Percent of drop packets to warn on.
Default: 0.75%
-D <drop percent crit>
Percent of dropped packets to critical on.
Default: 1%
-n
Run as a nagios check style instead of LibreNMS.
-h
Print help info.
--help
Print help info.
-v
Print version info.
--version
Print version info.
MODES
single
Use the specified eve file, -e, and the specified instance name, -i.
slug
Check the dir specified, -l. for files starting with the slug, -s. The files must match /^$slug\-[A-Za-z\_\-]\.[Jj][Ss][Oo][Nn]$/. The instance name is formed by removing /^$slug\-/ and /\.[Jj][Ss][Oo][Nn]$/. So "alert-ids.json" becomes "ids".
manual
Use the files specified via -0 to -9 to specify instance names and files. The value taken by each of those is comma seperated with the first part being the instance name and the second being the eve file. So "inet,/var/log/sagan/inet.json" would be a instance name of "inet" with a eve file of "/var/log/sagan/inet.json".