mirror of
https://github.com/librenms/docker.git
synced 2026-01-23 02:14:48 +00:00
Remove LIBRENMS_SERVICE_* env vars (now handle through WebUI)
Check poller_cluster table exists before running dispatcher
This commit is contained in:
parent
9b875b5c42
commit
db32c6e043
8 changed files with 19 additions and 105 deletions
|
|
@ -18,21 +18,8 @@
|
|||
> :warning: Only used if you enable and run a [sidecar dispatcher container](../notes/dispatcher-service.md)
|
||||
|
||||
* `SIDECAR_DISPATCHER`: Set to `1` to enable sidecar dispatcher mode for this container (default `0`)
|
||||
* `LIBRENMS_SERVICE_NODE_ID`: Unique node ID for your dispatcher service
|
||||
* `LIBRENMS_SERVICE_POLLER_WORKERS`: Processes spawned for polling (default `24`)
|
||||
* `LIBRENMS_SERVICE_SERVICES_WORKERS`: Processes spawned for service polling (default `8`)
|
||||
* `LIBRENMS_SERVICE_DISCOVERY_WORKERS`: Processes spawned for discovery (default `16`)
|
||||
* `LIBRENMS_SERVICE_POLLER_FREQUENCY`: Seconds between polling attempts (default `300`)
|
||||
* `LIBRENMS_SERVICE_SERVICES_FREQUENCY`: Seconds between service polling attempts (default `300`)
|
||||
* `LIBRENMS_SERVICE_DISCOVERY_FREQUENCY`: Seconds between polling attempts (default `21600`)
|
||||
* `LIBRENMS_SERVICE_BILLING_FREQUENCY`: Seconds between polling attempts (default `300`)
|
||||
* `LIBRENMS_SERVICE_BILLING_CALCULATE_FREQUENCY`: Billing interval (default `60`)
|
||||
* `LIBRENMS_SERVICE_POLLER_DOWN_RETRY`: Seconds between failed polling attempts (default `60`)
|
||||
* `LIBRENMS_SERVICE_LOGLEVEL`: Must be one of 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL' (default `INFO`)
|
||||
* `LIBRENMS_SERVICE_UPDATE_FREQUENCY`: Seconds between LibreNMS update checks (default `86400`)
|
||||
* `LIBRENMS_SERVICE_PING_ENABLED`: Enable fast ping scheduler (default `false`)
|
||||
* `LIBRENMS_SERVICE_WATCHDOG_ENABLED`: Enable watchdog scheduler (default `false`)
|
||||
* `REDIS_HOST`: Redis host for poller synchronization (default `localhost`)
|
||||
* `DISPATCHER_NODE_ID`: Unique node ID for your dispatcher service
|
||||
* `REDIS_HOST`: Redis host for poller synchronization
|
||||
* `REDIS_PORT`: Redis port (default `6379`)
|
||||
* `REDIS_PASSWORD`: Redis password
|
||||
* `REDIS_DB`: Redis database (default `0`)
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ If you want to enable the new [Dispatcher service](https://docs.librenms.org/Ext
|
|||
```bash
|
||||
docker run -d --name librenms_dispatcher \
|
||||
--env-file $(pwd)/librenms.env \
|
||||
-e LIBRENMS_SERVICE_NODE_ID=dispatcher1 \
|
||||
-e SIDECAR_DISPATCHER=1 \
|
||||
-e DISPATCHER_NODE_ID=dispatcher1 \
|
||||
-v librenms:/data \
|
||||
librenms/librenms:latest
|
||||
```
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ services:
|
|||
- "DB_USER=${MYSQL_USER}"
|
||||
- "DB_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "DB_TIMEOUT=60"
|
||||
- "LIBRENMS_SERVICE_NODE_ID=dispatcher1"
|
||||
- "DISPATCHER_NODE_ID=dispatcher1"
|
||||
- "REDIS_HOST=redis"
|
||||
- "REDIS_PORT=6379"
|
||||
- "REDIS_DB=0"
|
||||
|
|
|
|||
|
|
@ -11,21 +11,5 @@ MEMCACHED_PORT=11211
|
|||
RRDCACHED_HOST=rrdcached
|
||||
RRDCACHED_PORT=42217
|
||||
|
||||
LIBRENMS_SERVICE_POLLER_WORKERS=24
|
||||
LIBRENMS_SERVICE_SERVICES_WORKERS=8
|
||||
LIBRENMS_SERVICE_DISCOVERY_WORKERS=16
|
||||
|
||||
LIBRENMS_SERVICE_POLLER_FREQUENCY=300
|
||||
LIBRENMS_SERVICE_SERVICES_FREQUENCY=300
|
||||
LIBRENMS_SERVICE_DISCOVERY_FREQUENCY=21600
|
||||
LIBRENMS_SERVICE_BILLING_FREQUENCY=300
|
||||
LIBRENMS_SERVICE_BILLING_CALCULATE_FREQUENCY=60
|
||||
LIBRENMS_SERVICE_POLLER_DOWN_RETRY=60
|
||||
LIBRENMS_SERVICE_LOGLEVEL=INFO
|
||||
LIBRENMS_SERVICE_UPDATE_FREQUENCY=86400
|
||||
|
||||
LIBRENMS_SERVICE_PING_ENABLED=false
|
||||
LIBRENMS_SERVICE_WATCHDOG_ENABLED=false
|
||||
|
||||
LIBRENMS_WEATHERMAP=false
|
||||
LIBRENMS_WEATHERMAP_SCHEDULE=*/5 * * * *
|
||||
|
|
|
|||
|
|
@ -20,19 +20,6 @@ x-envlibrenms: &envlibrenms
|
|||
MEMCACHED_PORT: "11211"
|
||||
RRDCACHED_HOST: "rrdcached"
|
||||
RRDCACHED_PORT: "42217"
|
||||
LIBRENMS_SERVICE_POLLER_WORKERS: "24"
|
||||
LIBRENMS_SERVICE_SERVICES_WORKERS: "8"
|
||||
LIBRENMS_SERVICE_DISCOVERY_WORKERS: "16"
|
||||
LIBRENMS_SERVICE_POLLER_FREQUENCY: "300"
|
||||
LIBRENMS_SERVICE_SERVICES_FREQUENCY: "300"
|
||||
LIBRENMS_SERVICE_DISCOVERY_FREQUENCY: "21600"
|
||||
LIBRENMS_SERVICE_BILLING_FREQUENCY: "300"
|
||||
LIBRENMS_SERVICE_BILLING_CALCULATE_FREQUENCY: "60"
|
||||
LIBRENMS_SERVICE_POLLER_DOWN_RETRY: "60"
|
||||
LIBRENMS_SERVICE_LOGLEVEL: "INFO"
|
||||
LIBRENMS_SERVICE_UPDATE_FREQUENCY: "86400"
|
||||
LIBRENMS_SERVICE_PING_ENABLED: "false"
|
||||
LIBRENMS_SERVICE_WATCHDOG_ENABLED: "false"
|
||||
LIBRENMS_WEATHERMAP: "true"
|
||||
LIBRENMS_WEATHERMAP_SCHEDULE: "*/5 * * * *"
|
||||
|
||||
|
|
@ -125,7 +112,7 @@ services:
|
|||
DB_USER: *MYSQL_USER
|
||||
DB_PASSWORD: *MYSQL_PASSWORD
|
||||
DB_TIMEOUT: "60"
|
||||
LIBRENMS_SERVICE_NODE_ID: "dispatcher1234"
|
||||
DISPATCHER_NODE_ID: "dispatcher1234"
|
||||
REDIS_HOST: "redis"
|
||||
REDIS_PORT: "6379"
|
||||
REDIS_DB: "0"
|
||||
|
|
@ -150,7 +137,7 @@ services:
|
|||
DB_USER: *MYSQL_USER
|
||||
DB_PASSWORD: *MYSQL_PASSWORD
|
||||
DB_TIMEOUT: "60"
|
||||
LIBRENMS_SERVICE_NODE_ID: "dispatcher5678"
|
||||
DISPATCHER_NODE_ID: "dispatcher5678"
|
||||
REDIS_HOST: "redis"
|
||||
REDIS_PORT: "6379"
|
||||
REDIS_DB: "0"
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ services:
|
|||
- "DB_USER=${MYSQL_USER}"
|
||||
- "DB_PASSWORD=${MYSQL_PASSWORD}"
|
||||
- "DB_TIMEOUT=60"
|
||||
- "LIBRENMS_SERVICE_NODE_ID=dispatcher1"
|
||||
- "DISPATCHER_NODE_ID=dispatcher1"
|
||||
- "REDIS_HOST=redis"
|
||||
- "REDIS_PORT=6379"
|
||||
- "REDIS_DB=0"
|
||||
|
|
|
|||
|
|
@ -11,21 +11,5 @@ MEMCACHED_PORT=11211
|
|||
RRDCACHED_HOST=rrdcached
|
||||
RRDCACHED_PORT=42217
|
||||
|
||||
LIBRENMS_SERVICE_POLLER_WORKERS=24
|
||||
LIBRENMS_SERVICE_SERVICES_WORKERS=8
|
||||
LIBRENMS_SERVICE_DISCOVERY_WORKERS=16
|
||||
|
||||
LIBRENMS_SERVICE_POLLER_FREQUENCY=300
|
||||
LIBRENMS_SERVICE_SERVICES_FREQUENCY=300
|
||||
LIBRENMS_SERVICE_DISCOVERY_FREQUENCY=21600
|
||||
LIBRENMS_SERVICE_BILLING_FREQUENCY=300
|
||||
LIBRENMS_SERVICE_BILLING_CALCULATE_FREQUENCY=60
|
||||
LIBRENMS_SERVICE_POLLER_DOWN_RETRY=60
|
||||
LIBRENMS_SERVICE_LOGLEVEL=INFO
|
||||
LIBRENMS_SERVICE_UPDATE_FREQUENCY=86400
|
||||
|
||||
LIBRENMS_SERVICE_PING_ENABLED=false
|
||||
LIBRENMS_SERVICE_WATCHDOG_ENABLED=false
|
||||
|
||||
LIBRENMS_WEATHERMAP=false
|
||||
LIBRENMS_WEATHERMAP_SCHEDULE=*/5 * * * *
|
||||
|
|
|
|||
|
|
@ -29,23 +29,7 @@ DB_USERNAME=${DB_USERNAME:-librenms}
|
|||
DB_TIMEOUT=${DB_TIMEOUT:-60}
|
||||
|
||||
SIDECAR_DISPATCHER=${SIDECAR_DISPATCHER:-0}
|
||||
#LIBRENMS_SERVICE_NODE_ID=${LIBRENMS_SERVICE_NODE_ID:-dispatcher1}
|
||||
|
||||
LIBRENMS_SERVICE_POLLER_WORKERS=${LIBRENMS_SERVICE_POLLER_WORKERS:-24}
|
||||
LIBRENMS_SERVICE_SERVICES_WORKERS=${LIBRENMS_SERVICE_SERVICES_WORKERS:-8}
|
||||
LIBRENMS_SERVICE_DISCOVERY_WORKERS=${LIBRENMS_SERVICE_DISCOVERY_WORKERS:-16}
|
||||
|
||||
LIBRENMS_SERVICE_POLLER_FREQUENCY=${LIBRENMS_SERVICE_POLLER_FREQUENCY:-300}
|
||||
LIBRENMS_SERVICE_SERVICES_FREQUENCY=${LIBRENMS_SERVICE_SERVICES_FREQUENCY:-300}
|
||||
LIBRENMS_SERVICE_DISCOVERY_FREQUENCY=${LIBRENMS_SERVICE_DISCOVERY_FREQUENCY:-21600}
|
||||
LIBRENMS_SERVICE_BILLING_FREQUENCY=${LIBRENMS_SERVICE_BILLING_FREQUENCY:-300}
|
||||
LIBRENMS_SERVICE_BILLING_CALCULATE_FREQUENCY=${LIBRENMS_SERVICE_BILLING_CALCULATE_FREQUENCY:-60}
|
||||
LIBRENMS_SERVICE_POLLER_DOWN_RETRY=${LIBRENMS_SERVICE_POLLER_DOWN_RETRY:-60}
|
||||
LIBRENMS_SERVICE_LOGLEVEL=${LIBRENMS_SERVICE_LOGLEVEL:-INFO}
|
||||
LIBRENMS_SERVICE_UPDATE_FREQUENCY=${LIBRENMS_SERVICE_UPDATE_FREQUENCY:-86400}
|
||||
|
||||
LIBRENMS_SERVICE_PING_ENABLED=${LIBRENMS_SERVICE_PING_ENABLED:-false}
|
||||
LIBRENMS_SERVICE_WATCHDOG_ENABLED=${LIBRENMS_SERVICE_WATCHDOG_ENABLED:-false}
|
||||
#DISPATCHER_NODE_ID=${DISPATCHER_NODE_ID:-dispatcher1}
|
||||
|
||||
#REDIS_HOST=${REDIS_HOST:-localhost}
|
||||
REDIS_PORT=${REDIS_PORT:-6379}
|
||||
|
|
@ -81,6 +65,14 @@ while ! ${dbcmd} -e "show databases;" > /dev/null 2>&1; do
|
|||
fi;
|
||||
done
|
||||
echo "Database ready!"
|
||||
while ! ${dbcmd} -e "desc $DB_DATABASE.poller_cluster;" > /dev/null 2>&1; do
|
||||
sleep 1
|
||||
counter=$((counter + 1))
|
||||
if [ ${counter} -gt ${DB_TIMEOUT} ]; then
|
||||
>&2 echo "ERROR: Table $DB_DATABASE.poller_cluster does not exist on $DB_HOST"
|
||||
exit 1
|
||||
fi;
|
||||
done
|
||||
|
||||
# Node ID
|
||||
if [ ! -f "/data/.env" ]; then
|
||||
|
|
@ -88,9 +80,9 @@ if [ ! -f "/data/.env" ]; then
|
|||
exit 1
|
||||
fi
|
||||
cat "/data/.env" >> "${LIBRENMS_PATH}/.env"
|
||||
if [ -n "$LIBRENMS_SERVICE_NODE_ID" ]; then
|
||||
echo "NODE_ID: $LIBRENMS_SERVICE_NODE_ID"
|
||||
sed -i "s|^NODE_ID=.*|NODE_ID=$LIBRENMS_SERVICE_NODE_ID|g" "${LIBRENMS_PATH}/.env"
|
||||
if [ -n "$DISPATCHER_NODE_ID" ]; then
|
||||
echo "NODE_ID: $DISPATCHER_NODE_ID"
|
||||
sed -i "s|^NODE_ID=.*|NODE_ID=$DISPATCHER_NODE_ID|g" "${LIBRENMS_PATH}/.env"
|
||||
fi
|
||||
|
||||
# Redis
|
||||
|
|
@ -106,26 +98,6 @@ REDIS_PASSWORD=${REDIS_PASSWORD}
|
|||
REDIS_DB=${REDIS_DB}
|
||||
EOL
|
||||
|
||||
# Configuration
|
||||
cat > ${LIBRENMS_PATH}/config.d/dispatcher.php <<EOL
|
||||
<?php
|
||||
\$config['service_poller_workers'] = ${LIBRENMS_SERVICE_POLLER_WORKERS};
|
||||
\$config['service_services_workers'] = ${LIBRENMS_SERVICE_SERVICES_WORKERS};
|
||||
\$config['service_discovery_workers'] = ${LIBRENMS_SERVICE_DISCOVERY_WORKERS};
|
||||
|
||||
\$config['service_poller_frequency'] = ${LIBRENMS_SERVICE_POLLER_FREQUENCY};
|
||||
\$config['service_services_frequency'] = ${LIBRENMS_SERVICE_SERVICES_FREQUENCY};
|
||||
\$config['service_discovery_frequency'] = ${LIBRENMS_SERVICE_DISCOVERY_FREQUENCY};
|
||||
\$config['service_billing_frequency'] = ${LIBRENMS_SERVICE_BILLING_FREQUENCY};
|
||||
\$config['service_billing_calculate_frequency'] = ${LIBRENMS_SERVICE_BILLING_CALCULATE_FREQUENCY};
|
||||
\$config['service_poller_down_retry'] = ${LIBRENMS_SERVICE_POLLER_DOWN_RETRY};
|
||||
\$config['service_loglevel'] = '${LIBRENMS_SERVICE_LOGLEVEL}';
|
||||
\$config['service_update_frequency'] = ${LIBRENMS_SERVICE_UPDATE_FREQUENCY};
|
||||
|
||||
\$config['service_ping_enabled'] = ${LIBRENMS_SERVICE_PING_ENABLED};
|
||||
\$config['service_watchdog_enabled'] = ${LIBRENMS_SERVICE_WATCHDOG_ENABLED};
|
||||
EOL
|
||||
|
||||
# Create service
|
||||
mkdir -p /etc/services.d/dispatcher
|
||||
cat > /etc/services.d/dispatcher/run <<EOL
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue