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

Remove memcached and use redis fully (#286)

This commit is contained in:
Tony Murray 2022-07-14 08:18:47 -05:00 committed by GitHub
parent cedde585f6
commit 6cece230da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 56 additions and 93 deletions

View file

@ -62,7 +62,7 @@ ___
* OPCache enabled to store precompiled script bytecode in shared memory
* [s6-overlay](https://github.com/just-containers/s6-overlay/) as process supervisor
* [Traefik](https://github.com/containous/traefik-library-image) as reverse proxy and creation/renewal of Let's Encrypt certificates (see [this template](examples/traefik))
* [Memcached](https://github.com/docker-library/memcached) image ready to use for better scalability
* [Redis](https://github.com/docker-library/redis) image ready to use for better scalability
* [RRDcached](https://github.com/crazy-max/docker-rrdcached) image ready to use for data caching and graphs
* [msmtpd SMTP relay](https://github.com/crazy-max/docker-msmtpd) image to send emails
* [MariaDB](https://github.com/docker-library/mariadb) image as database instance
@ -119,6 +119,21 @@ Image: librenms/librenms:latest
* `REAL_IP_HEADER`: Request header field whose value will be used to replace the client address (default `X-Forwarded-For`)
* `LOG_IP_VAR`: Use another variable to retrieve the remote IP address for access [log_format](http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) on Nginx. (default `remote_addr`)
### Redis Settings
> Redis variables should be set on all containers and are required when running more than one dispatcher.
* `REDIS_HOST`: Redis host for poller synchronization
* `REDIS_SENTINEL`: Redis Sentinel host for high availability Redis cluster
* `REDIS_SENTINEL_SERVICE`: Redis Sentinel service name (default `librenms`)
* `REDIS_SCHEME`: Redis scheme (default `tcp`)
* `REDIS_PORT`: Redis port (default `6379`)
* `REDIS_PASSWORD`: Redis password
* `REDIS_DB`: Redis database (default `0`)
* `REDIS_CACHE_DB`: Redis cache database (default `1`)
* `SESSION_DRIVER`: [Driver to use for session storage](https://github.com/librenms/librenms/blob/master/config/session.php) (default `file`)
* `CACHE_DRIVER`: [Driver to use for cache and locks](https://github.com/librenms/librenms/blob/master/config/cache.php) (default `database`)
### Dispatcher service
> **Warning**
@ -128,13 +143,6 @@ Image: librenms/librenms:latest
* `SIDECAR_DISPATCHER`: Set to `1` to enable sidecar dispatcher mode for this container (default `0`)
* `DISPATCHER_NODE_ID`: Unique node ID for your dispatcher service
* `DISPATCHER_ARGS`: Additional args to pass to the [dispatcher service](https://github.com/librenms/librenms/blob/master/librenms-service.py)
* `REDIS_HOST`: Redis host for poller synchronization
* `REDIS_SENTINEL`: Redis Sentinel host for high availability Redis cluster
* `REDIS_SENTINEL_SERVICE`: Redis Sentinel service name (default `librenms`)
* `REDIS_SCHEME`: Redis scheme (default `tcp`)
* `REDIS_PORT`: Redis port (default `6379`)
* `REDIS_PASSWORD`: Redis password
* `REDIS_DB`: Redis database (default `0`)
### Syslog-ng

View file

@ -20,13 +20,6 @@ services:
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
restart: always
memcached:
image: memcached:alpine
container_name: librenms_memcached
environment:
- "TZ=${TZ}"
restart: always
redis:
image: redis:5.0-alpine
container_name: librenms_redis
@ -54,7 +47,7 @@ services:
protocol: tcp
depends_on:
- db
- memcached
- redis
- msmtpd
volumes:
- "./librenms:/data"
@ -70,8 +63,8 @@ services:
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
restart: always
dispatcher:
@ -99,8 +92,8 @@ services:
- "DB_TIMEOUT=60"
- "DISPATCHER_NODE_ID=dispatcher1"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_DISPATCHER=1"
restart: always
@ -134,8 +127,8 @@ services:
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_SYSLOGNG=1"
restart: always
@ -168,5 +161,8 @@ services:
- "DB_USER=${MYSQL_USER}"
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_SNMPTRAPD=1"
restart: always

View file

@ -7,8 +7,6 @@ REAL_IP_HEADER=X-Forwarded-For
LOG_IP_VAR=remote_addr
LIBRENMS_SNMP_COMMUNITY=librenmsdocker
MEMCACHED_HOST=memcached
MEMCACHED_PORT=11211
LIBRENMS_WEATHERMAP=false
LIBRENMS_WEATHERMAP_SCHEDULE=*/5 * * * *

View file

@ -17,8 +17,6 @@ x-envlibrenms: &envlibrenms
REAL_IP_HEADER: "X-Forwarded-For"
LOG_IP_VAR: "remote_addr"
LIBRENMS_SNMP_COMMUNITY: "librenmsdocker"
MEMCACHED_HOST: "memcached"
MEMCACHED_PORT: "11211"
LIBRENMS_WEATHERMAP: "true"
LIBRENMS_WEATHERMAP_SCHEDULE: "*/5 * * * *"
@ -41,12 +39,6 @@ services:
MYSQL_PASSWORD: *MYSQL_PASSWORD
restart: always
memcached:
image: memcached:alpine
environment:
TZ: *TZ
restart: always
redis:
image: redis:5.0-alpine
environment:
@ -63,7 +55,7 @@ services:
- "8000:8000"
depends_on:
- db
- memcached
- redis
volumes:
- "librenms:/data"
environment:
@ -77,8 +69,8 @@ services:
DB_PASSWORD: *MYSQL_PASSWORD
DB_TIMEOUT: "60"
REDIS_HOST: "redis"
REDIS_PORT: "6379"
REDIS_DB: "0"
CACHE_DRIVER: "redis"
SESSION_DRIVER: "redis"
restart: always
dispatcher:
@ -104,8 +96,8 @@ services:
DB_TIMEOUT: "60"
DISPATCHER_NODE_ID: "dispatcher1234"
REDIS_HOST: "redis"
REDIS_PORT: "6379"
REDIS_DB: "0"
CACHE_DRIVER: "redis"
SESSION_DRIVER: "redis"
SIDECAR_DISPATCHER: "1"
restart: always
@ -132,8 +124,8 @@ services:
DB_TIMEOUT: "60"
DISPATCHER_NODE_ID: "dispatcher5678"
REDIS_HOST: "redis"
REDIS_PORT: "6379"
REDIS_DB: "0"
CACHE_DRIVER: "redis"
SESSION_DRIVER: "redis"
SIDECAR_DISPATCHER: "1"
restart: always
@ -158,8 +150,8 @@ services:
DB_PASSWORD: *MYSQL_PASSWORD
DB_TIMEOUT: "60"
REDIS_HOST: "redis"
REDIS_PORT: "6379"
REDIS_DB: "0"
CACHE_DRIVER: "redis"
SESSION_DRIVER: "redis"
SIDECAR_SYSLOGNG: "1"
restart: always

View file

@ -20,13 +20,6 @@ services:
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
restart: always
memcached:
image: memcached:alpine
container_name: librenms_memcached
environment:
- "TZ=${TZ}"
restart: always
redis:
image: redis:5.0-alpine
container_name: librenms_redis
@ -71,7 +64,7 @@ services:
protocol: tcp
depends_on:
- db
- memcached
- redis
- rrdcached
- msmtpd
volumes:
@ -88,8 +81,8 @@ services:
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
restart: always
dispatcher:
@ -117,8 +110,8 @@ services:
- "DB_TIMEOUT=60"
- "DISPATCHER_NODE_ID=dispatcher1"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_DISPATCHER=1"
restart: always
@ -152,8 +145,8 @@ services:
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_SYSLOGNG=1"
restart: always
@ -186,5 +179,8 @@ services:
- "DB_USER=${MYSQL_USER}"
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_SNMPTRAPD=1"
restart: always

View file

@ -7,8 +7,6 @@ REAL_IP_HEADER=X-Forwarded-For
LOG_IP_VAR=remote_addr
LIBRENMS_SNMP_COMMUNITY=librenmsdocker
MEMCACHED_HOST=memcached
MEMCACHED_PORT=11211
RRDCACHED_SERVER=rrdcached:42217
LIBRENMS_WEATHERMAP=false

View file

@ -54,13 +54,6 @@ services:
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
restart: always
memcached:
image: memcached:alpine
container_name: librenms_memcached
environment:
- "TZ=${TZ}"
restart: always
redis:
image: redis:5.0-alpine
container_name: librenms_redis
@ -81,7 +74,7 @@ services:
hostname: librenms
depends_on:
- db
- memcached
- redis
- msmtpd
volumes:
- "./librenms:/data"
@ -105,8 +98,8 @@ services:
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
restart: always
dispatcher:
@ -131,8 +124,8 @@ services:
- "DB_TIMEOUT=60"
- "DISPATCHER_NODE_ID=dispatcher1"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_DISPATCHER=1"
restart: always
@ -163,8 +156,8 @@ services:
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "REDIS_PORT=6379"
- "REDIS_DB=0"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_SYSLOGNG=1"
restart: always
@ -194,5 +187,8 @@ services:
- "DB_USER=${MYSQL_USER}"
- "DB_PASSWORD=${MYSQL_PASSWORD}"
- "DB_TIMEOUT=60"
- "REDIS_HOST=redis"
- "CACHE_DRIVER=redis"
- "SESSION_DRIVER=redis"
- "SIDECAR_SNMPTRAPD=1"
restart: always

View file

@ -7,8 +7,6 @@ REAL_IP_HEADER=X-Forwarded-For
LOG_IP_VAR=http_x_forwarded_for
LIBRENMS_SNMP_COMMUNITY=librenmsdocker
MEMCACHED_HOST=memcached
MEMCACHED_PORT=11211
LIBRENMS_WEATHERMAP=false
LIBRENMS_WEATHERMAP_SCHEDULE=*/5 * * * *

View file

@ -165,16 +165,6 @@ cat >${LIBRENMS_PATH}/config.d/services.php <<EOL
\$config['nagios_plugins'] = "/usr/lib/monitoring-plugins";
EOL
# Config : Memcached
if [ -n "${MEMCACHED_HOST}" ]; then
cat >${LIBRENMS_PATH}/config.d/memcached.php <<EOL
<?php
\$config['memcached']['enable'] = true;
\$config['memcached']['host'] = '${MEMCACHED_HOST}';
\$config['memcached']['port'] = ${MEMCACHED_PORT};
EOL
fi
# Config : RRDcached
if [ -n "${RRDCACHED_SERVER}" ]; then
cat >${LIBRENMS_PATH}/config.d/rrdcached.php <<EOL

View file

@ -20,13 +20,6 @@ services:
- "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
restart: always
memcached:
image: memcached:alpine
container_name: librenms_memcached
environment:
- "TZ=${TZ}"
restart: always
redis:
image: redis:5.0-alpine
container_name: librenms_redis
@ -47,7 +40,7 @@ services:
protocol: tcp
depends_on:
- db
- memcached
- redis
volumes:
- "librenms-data:/data"
env_file:

View file

@ -7,8 +7,6 @@ REAL_IP_HEADER=X-Forwarded-For
LOG_IP_VAR=remote_addr
LIBRENMS_SNMP_COMMUNITY=librenmsdocker
MEMCACHED_HOST=memcached
MEMCACHED_PORT=11211
LIBRENMS_WEATHERMAP=false
LIBRENMS_WEATHERMAP_SCHEDULE=*/5 * * * *