1
0
Fork 0
mirror of https://github.com/librenms/docker.git synced 2026-01-23 02:14:48 +00:00

Add snmp-scan option for cron container (#53)

This commit is contained in:
Peter Pletcher 2019-12-20 14:22:35 -08:00 committed by CrazyMax
parent 6ccfedd2a7
commit 2f0af5d859
3 changed files with 24 additions and 0 deletions

View file

@ -34,6 +34,11 @@
* `LIBRENMS_CRON_BILLING_CALCULATE_ENABLE`: Enable LibreNMS billing for this container cronjobs (default `true`)
* `LIBRENMS_CRON_CHECK_SERVICES_ENABLE`: Enable LibreNMS service checks for this container cronjobs (default `true`)
* `LIBRENMS_CRON_POLLER_ENABLE`: Enable LibreNMS polling for this container cronjobs (default `true`)
* `LIBRENMS_CRON_SNMPSCAN_ENABLE`: Enable LibreNMS SNMP network scanning for this container cronjobs (default `false`)
* `LIBRENMS_CRON_SNMPSCAN_INTERVAL`: SNMP network scanning cron interval (daily, in "Minute Hour", default `5 0`)
* `LIBRENMS_CRON_SNMPSCAN_NETS`: Networks to scan for SNMP network scanning, in CIDR notation. Multiple networks can be specified separated by a comma. If this is not set the default is to scan networks defined in `$config['nets']`
* `LIBRENMS_CRON_SNMPSCAN_THREADS`: SNMP network scanning threads to use (default `32`)
* `LIBRENMS_CRON_SNMPSCAN_LOGFILE`: SNMP network scanning cron log file (default `/dev/null`)
### Syslog-ng

View file

@ -15,6 +15,9 @@ LIBRENMS_CRON_BILLING_ENABLE=true
LIBRENMS_CRON_BILLING_CALCULATE_ENABLE=true
LIBRENMS_CRON_CHECK_SERVICES_ENABLE=true
LIBRENMS_CRON_POLLER_ENABLE=true
LIBRENMS_CRON_SNMPSCAN_ENABLE=true
LIBRENMS_CRON_SNMPSCAN_NETS=192.168.0.0/24,192.168.1.0/24
LIBRENMS_CRON_SNMPSCAN_LOGFILE=/data/logs/snmp-scan.log
LIBRENMS_SNMP_COMMUNITY=librenmsdocker
MEMCACHED_HOST=memcached

View file

@ -13,6 +13,13 @@ LIBRENMS_CRON_BILLING_ENABLE=${LIBRENMS_CRON_BILLING_ENABLE:-true}
LIBRENMS_CRON_BILLING_CALCULATE_ENABLE=${LIBRENMS_CRON_BILLING_CALCULATE_ENABLE:-true}
LIBRENMS_CRON_CHECK_SERVICES_ENABLE=${LIBRENMS_CRON_CHECK_SERVICES_ENABLE:-true}
LIBRENMS_CRON_POLLER_ENABLE=${LIBRENMS_CRON_POLLER_ENABLE:-true}
LIBRENMS_CRON_SNMPSCAN_ENABLE=${LIBRENMS_CRON_SNMPSCAN_ENABLE:-false}
LIBRENMS_CRON_SNMPSCAN_INTERVAL=${LIBRENMS_CRON_SNMPSCAN_INTERVAL:-"5 0"}
LIBRENMS_CRON_SNMPSCAN_NETS=${LIBRENMS_CRON_SNMPSCAN_NETS:-""}
LIBRENMS_CRON_SNMPSCAN_NETS=${LIBRENMS_CRON_SNMPSCAN_NETS:+",$LIBRENMS_CRON_SNMPSCAN_NETS"}
LIBRENMS_CRON_SNMPSCAN_NETS=${LIBRENMS_CRON_SNMPSCAN_NETS//,/ -r }
LIBRENMS_CRON_SNMPSCAN_THREADS=${LIBRENMS_CRON_SNMPSCAN_THREADS:-32}
LIBRENMS_CRON_SNMPSCAN_LOGFILE=${LIBRENMS_CRON_SNMPSCAN_LOGFILE:-/dev/null}
# Continue only if sidecar cron container
if [ "$SIDECAR_CRON" != "1" ]; then
@ -83,6 +90,15 @@ else
echo "Disable polling cron"
fi
if [ "$LIBRENMS_CRON_SNMPSCAN_ENABLE" = "true" ]; then
echo "Enable snmp-scan cron"
cat >> ${CRONTAB_PATH}/librenms <<EOL
${LIBRENMS_CRON_SNMPSCAN_INTERVAL} * * * /opt/librenms/snmp-scan.py ${LIBRENMS_CRON_SNMPSCAN_NETS} -t ${LIBRENMS_CRON_SNMPSCAN_THREADS} >> ${LIBRENMS_CRON_SNMPSCAN_LOGFILE} 2>&1
EOL
else
echo "Disable snmp-scan cron"
fi
# Fix perms
echo "Fixing crontabs permissions..."
chmod -R 0644 ${CRONTAB_PATH}