wiki/HowtoRedis.md

596 lines
16 KiB
Markdown
Raw Normal View History

2017-09-26 00:50:29 +02:00
---
categories: databases nosql
title: Howto Redis
...
2016-12-29 11:25:39 +01:00
2019-08-26 11:27:01 +02:00
* Documentation: <https://redis.io/documentation>
* Rôle Ansible : <https://forge.evolix.org/projects/ansible-roles/repository/show/redis>
2017-09-26 00:50:29 +02:00
2017-10-01 23:57:10 +02:00
[Redis](https://redis.io/) est un serveur noSQL clé-valeur très stable (écrit en 2009). Une valeur peut être une chaîne de caractères, un tableau, une liste, etc. Redis tourne en mémoire, et si besoin sauvegarde de temps en temps ses données sur le disque.
2016-12-29 11:25:39 +01:00
## Installation
~~~
2017-09-26 00:50:29 +02:00
# apt install redis-server redis-tools
2017-09-28 10:20:11 +02:00
2017-09-26 00:50:29 +02:00
$ /usr/bin/redis-server -v
Redis server v=3.2.6 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=826601c992442478
# systemctl status redis
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
2017-09-28 10:20:11 +02:00
Active: active (running) since Wed 2017-09-27 16:34:26 CEST; 17h ago
2017-09-26 00:50:29 +02:00
Docs: http://redis.io/documentation,
man:redis-server(1)
2017-09-28 10:20:11 +02:00
Main PID: 24822 (redis-server)
Tasks: 3 (limit: 4915)
CGroup: /system.slice/redis-server.service
└─24822 /usr/bin/redis-server 127.0.0.1:6379
~~~
2017-10-01 23:57:10 +02:00
Sous Debian Jessie, la version de Redis est 2.8.17 :
2017-09-28 10:20:11 +02:00
~~~
$ /usr/bin/redis-server -v
Redis server v=2.8.17 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=4c1d5710660b9479
# systemctl status redis
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled)
Active: active (running) since Thu 2017-09-28 10:01:18 CEST; 10min ago
Main PID: 4245 (redis-server)
2017-09-26 00:50:29 +02:00
CGroup: /system.slice/redis-server.service
2017-09-28 10:20:11 +02:00
└─4245 /usr/bin/redis-server 127.0.0.1:6379
2016-12-29 11:25:39 +01:00
~~~
2017-09-26 00:50:29 +02:00
2016-12-29 11:25:39 +01:00
## Configuration
2017-09-26 00:50:29 +02:00
La configuration principale se fait dans `/etc/redis/redis.conf` dont voici quelques options :
2016-12-29 11:25:39 +01:00
~~~
daemonize yes
pidfile /var/run/redis.pid
2017-09-28 11:14:29 +02:00
2016-12-29 11:25:39 +01:00
unixsocket /var/run/redis/redis.sock
bind 127.0.0.1
2017-09-28 11:14:29 +02:00
port 6379
2016-12-29 11:25:39 +01:00
timeout 300
2017-09-28 11:14:29 +02:00
2016-12-29 11:25:39 +01:00
loglevel notice
logfile /var/log/redis/redis-server.log
2017-09-28 11:14:29 +02:00
2016-12-29 11:25:39 +01:00
databases 16
save 900 1
save 300 10
save 60 10000
2017-09-28 11:14:29 +02:00
2016-12-29 11:25:39 +01:00
dbfilename dump.rdb
dir /var/lib/redis
2017-09-28 11:14:29 +02:00
2016-12-29 11:25:39 +01:00
#requirepass <password>
2017-09-28 11:14:29 +02:00
2019-10-24 15:19:57 +02:00
maxclients 4096
2016-12-29 11:25:39 +01:00
maxmemory 104857600
~~~
**Note importante**: la valeur de `maxmemory` indique la quantité maximale de mémoire utilisable, au delà de laquelle Redis applique une politique. Par défaut il s'agit de `noeviction`. Voir plus bas pour plus de détails.
2017-09-29 18:20:02 +02:00
La plupart des options sont reconfigurables en mode CLI via la commande `CONFIG SET`.
2016-12-29 11:25:39 +01:00
La liste des arguments peut être listée :
~~~
redis> CONFIG get *
1) "dir"
2) "/var/lib/redis"
3) "dbfilename"
4) "dump.rdb"
5) "requirepass"
6) (nil)
7) "masterauth"
8) (nil)
9) "maxmemory"
10) "0"
~~~
### bind
Pour écouter sur plusieurs interfaces :
~~~
bind 127.0.0.1 192.0.32.42
~~~
2017-10-01 23:57:10 +02:00
### politique sur la mémoire
Lorsqu'on définit une limite de mémoire disponible pour Redis (paramètre `maxmemory`, fixé à 100 Mo par défaut dans nos installations), il faut indiquer à Redis quoi faire lorsque celle-ci est épuisée (paramètre `maxmemory-policy`). Il y a plusieurs options, les plus courantes sont :
* `noeviction` (par défaut) : Redis ne supprime jamais de clé existante et provoque des erreurs d'écriture.
* `allkeys-lru` : Redis supprime les clés selon l'algorythme LRU (_least recently used_ ; moins récemment utilisé).
* `volatile-ttl` : Redis supprime les clés qui ont leur expiration la plus proche.
Lorsque Redis est utilisé exclusivement pour du cache, il est conseillé de choisir `allkeys-lru`.
Lorsque les données stockées dans Redis ne doivent surtout pas risquer de disparaître, il faut choisir `noeviction` et gérer les éventuelles erreurs d'écriture.
2016-12-29 11:25:39 +01:00
## Utilisation
En mode CLI :
~~~
$ redis-cli
redis 127.0.0.1:6379>
redis> set foo 3
OK
redis> get blabla
(nil)
redis> get foo
3
redis> keys *
1) "foo"
redis> mset un 1 deux 2 trois 3 quatre 4
OK
redis> keys *
1) "un"
2) "foo"
3) "deux"
4) "trois"
5) "quatre"
redis> *keys *r*
1) "four"
2) "three"
redis> get four
"4"
redis> del "trois" "quatre"
(integer) 2
~~~
On peut se connecter avec la socket si elle existe :
~~~
$ redis-cli -s /path/to/redis.sock
~~~
2016-12-29 11:25:39 +01:00
Mais aussi en réseau (sans authentification, attention) :
~~~
$ telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
get foo
$1
3
quit
Connection closed by foreign host.
~~~
En PHP, il existe différentes bibliothèques. Nous utilisons principalement <http://github.com/nicolasff/phpredis>
et nous utilisons un fork pour avoir un packaging Debian propre :
~~~
$ git clone <https://github.com/gcolpart/phpredis>
$ cd phpredis
$ tar --exclude debian --exclude .git -cvzf ../php5-redis_0.1~git20120519.orig.tar.gz .
$ git-buildpackage -us -uc
~~~
2019-01-04 12:17:19 +01:00
Sur Debian Stretch, on peut aussi installer le paquet ~php-redis~.
2017-09-26 00:50:29 +02:00
2017-10-01 23:57:10 +02:00
### Sessions PHP avec Redis
2016-12-29 11:25:39 +01:00
2017-10-01 23:57:10 +02:00
Redis peut notamment être utilisé pour stocker les sessions [PHP](HowtoPHP). Par exemple :
2016-12-29 11:25:39 +01:00
~~~
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379?auth=<password>"
~~~
2017-09-26 00:50:29 +02:00
2016-12-29 11:25:39 +01:00
## Instances Redis
2017-07-18 11:21:09 +02:00
Il est possible de faire fonctionner plusieurs instances de Redis sur un serveur ; chacune avec ses propres données, sa propre configuration et son propre utilisateur.
2016-12-29 11:25:39 +01:00
2017-07-18 11:21:09 +02:00
### Template systemd
2018-09-19 16:57:02 +02:00
Créer le template d'unité [systemd](HowtoSystemd) suivant dans `/etc/systemd/system/redis-server@.service` :
2017-07-18 11:21:09 +02:00
2019-10-07 17:51:28 +02:00
~~~{.ini}
2017-07-18 11:21:09 +02:00
[Unit]
Description=Advanced key-value store
After=network.target
[Service]
Type=forking
2019-10-07 17:49:24 +02:00
ExecStart=/usr/bin/redis-server /etc/redis-%i/redis.conf
PIDFile=/var/run/redis-%i/redis-server.pid
TimeoutStopSec=0
2017-07-18 11:21:09 +02:00
Restart=always
User=redis-%i
Group=redis-%i
2019-10-07 17:49:24 +02:00
RuntimeDirectory=redis-%i
ExecStartPre=-/bin/run-parts --verbose /etc/redis-%i/redis-server.pre-up.d
ExecStartPost=-/bin/run-parts --verbose /etc/redis-%i/redis-server.post-up.d
ExecStop=-/bin/run-parts --verbose /etc/redis-%i/redis-server.pre-down.d
ExecStop=/bin/kill -s TERM $MAINPID
ExecStopPost=-/bin/run-parts --verbose /etc/redis-%i/redis-server.post-down.d
UMask=007
PrivateTmp=yes
LimitNOFILE=65535
PrivateDevices=yes
ProtectHome=yes
ReadOnlyDirectories=/
ReadWriteDirectories=-/var/lib/redis-%i
ReadWriteDirectories=-/var/log/redis-%i
ReadWriteDirectories=-/var/run/redis-%i
CapabilityBoundingSet=~CAP_SYS_PTRACE
# redis-server writes its own config file when in cluster mode so we allow
# writing there (NB. ProtectSystem=true over ProtectSystem=full)
ProtectSystem=true
ReadWriteDirectories=-/etc/redis-%i
2017-07-18 11:21:09 +02:00
[Install]
WantedBy=multi-user.target
~~~
2017-07-18 11:24:53 +02:00
Recharger la configuration systemd :
~~~
systemctl daemon-reload
~~~
2017-07-18 11:21:09 +02:00
### Installation
Créer un utilisateur système pour linstance :
~~~
useradd --system --home-dir /var/lib/redis/instance1 redis-instance1
2017-07-18 11:21:09 +02:00
~~~
Créer ensuite le *datadir* et le dossier de log :
2017-07-18 11:21:09 +02:00
~~~
mkdir -m 0750 -p /var/lib/redis/instance1 /var/log/redis/instance1
chown redis-instance1: /var/lib/redis/instance1 /var/log/redis/instance1
2017-07-18 11:21:09 +02:00
~~~
2017-09-29 18:20:02 +02:00
Créer ensuite le fichier de configuration suivant dans `/etc/redis/redis-instance1.conf` :
2017-07-18 11:21:09 +02:00
~~~
daemonize yes
2017-09-28 11:14:29 +02:00
2017-07-18 11:21:09 +02:00
port 0 # Listen only on unix socket defined by systemd unit
unixsocketperm 770 # Unix socket only accessible by user and group of instance1
timeout 300
2017-09-28 11:14:29 +02:00
2017-07-18 11:21:09 +02:00
loglevel notice
logfile /var/log/redis/instance1/redis-server.log
2017-09-28 11:14:29 +02:00
2017-07-18 11:21:09 +02:00
databases 16
save 900 1
save 300 10
save 60 10000
2017-09-28 11:14:29 +02:00
2017-07-18 11:21:09 +02:00
dbfilename dump.rdb
dir /var/lib/redis/instance1
2017-09-28 11:14:29 +02:00
2017-07-18 11:21:09 +02:00
#requirepass <password>
2017-09-28 11:14:29 +02:00
2017-07-18 11:21:09 +02:00
maxclients 128
maxmemory 104857600
~~~
### Administration
2017-09-28 17:17:50 +02:00
L'instance Redis «instance1» est maintenant administrable via :
2017-07-18 11:21:09 +02:00
~~~
2018-09-19 16:57:02 +02:00
systemctl start redis-server@instance1
systemctl stop redis-server@instance1
systemctl restart redis-server@instance1
systemctl status redis-server@instance1
systemctl enable redis-server@instance1
systemctl disable redis-server@instance1
2017-07-18 11:21:09 +02:00
~~~
2016-12-29 11:25:39 +01:00
2017-09-26 00:50:29 +02:00
2016-12-29 11:25:39 +01:00
## Sauvegardes
<http://redis.io/topics/persistence>
2017-09-28 17:17:50 +02:00
Par défaut, Redis sauvegarde de temps en temps ses données sur le disque (mode RDB persistance).
2017-07-03 21:28:05 +02:00
Il suffit donc de copier le fichier */var/lib/redis/dump.rdb* pour sauvegarder une base Redis à chaud !
2016-12-29 11:25:39 +01:00
Pour restaurer les données, il suffira d'éteindre Redis, remettre en place le fichier RDB, et relancer Redis.
2017-09-26 00:50:29 +02:00
2017-10-01 23:57:10 +02:00
## Réplication interne
2016-12-29 11:25:39 +01:00
<http://redis.io/topics/replication>
2017-09-28 17:17:50 +02:00
Côté «slave» il suffit de mettre en place la configuration :
2016-12-29 11:25:39 +01:00
~~~
2017-09-29 18:21:46 +02:00
slaveof <IP DU MASTER> 6379
2016-12-29 11:25:39 +01:00
~~~
Une fois le démon relancé on peut vérifier l'état de la réplication de la façon suivante :
~~~
2017-09-29 18:20:02 +02:00
# redis-cli -h X.X.X.X -p 6379 info replication
2016-12-29 11:25:39 +01:00
~~~
On peut arrêter la réplication et passer un slave en master
~~~
2017-09-29 18:20:02 +02:00
# redis-cli -h X.X.X.X -p 6379 slaveof no one
2016-12-29 11:25:39 +01:00
~~~
~~~
2017-09-29 18:20:02 +02:00
# redis-cli -h X.X.X.X -p 6379 info replication
2016-12-29 11:25:39 +01:00
# Replication
role:master
connected_slaves:1
master_repl_offset:631177410
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:630128835
repl_backlog_histlen:1048576
~~~
### Tests
2017-09-28 17:17:50 +02:00
On teste une écriture sur le master, est-ce répliqué sur le slave ?
2016-12-29 11:25:39 +01:00
~~~
redis [master] 127.0.0.1:6379> set key value
redis [slave] 127.0.0.1:6379> get key
~~~
2017-09-29 18:20:02 +02:00
On devrait avoir « value ». Par ailleurs on pourra lire dans les logs du slave (`/var/log/redis/redis-server.log`) :
2016-12-29 11:25:39 +01:00
~~~
[26287] 06 Sep 15:04:04 * MASTER <-> SLAVE sync: receiving 34 bytes from master
~~~
2017-09-29 18:20:02 +02:00
Depuis redis 2.6 (2.4 en Wheezy), par défaut, le slave est en read-only, on peut le passer en "read & write", en mettant ceci dans la configuration du slave :
2016-12-29 11:25:39 +01:00
~~~
slave-read-only off
~~~
2017-10-01 23:57:10 +02:00
## Réplication avec Sentinel
2016-12-29 11:25:39 +01:00
2018-04-18 15:23:52 +02:00
Sentinel permet surveiller un ensemble d'instance avec réplication. Il repose sur plusieurs processus qui communiquent entre eux afin d'aboutir à un consensus sur l'état des réplications et l'élection d'un master. C'est un processus séparé de Redis lui-même.
2017-09-29 18:28:02 +02:00
2018-04-18 15:23:52 +02:00
Par exemple, une instance _master_ "redis1" et un _slave_ "redis2". En cas de panne de "redis1", les process Sentinel vont s'accorder sur le fait que "redis2" devient le _master_. À son retour en ligne, "redis1" sera promu _slave_ de "redis2".
2017-09-29 18:28:02 +02:00
Un seul ensemble de processus Sentinel peut surveiller un ou plusieurs ensemble de réplications Redis.
2016-12-29 11:25:39 +01:00
2017-10-01 23:57:10 +02:00
### Unité systemd
2017-07-21 11:16:26 +02:00
2019-10-07 17:49:24 +02:00
Le paquet `redis-sentinel` de Debian 9 et plus fourni une unité systemd.
2019-10-07 17:51:28 +02:00
Pour des versions précédentes, on peut créer lunité systemd suivante dans `/etc/systemd/system/redis-sentinel.service` :
2017-07-21 11:16:26 +02:00
2019-10-07 17:51:28 +02:00
~~~{.ini}
2017-07-21 11:16:26 +02:00
[Unit]
Description=Advanced key-value store (monitoring)
After=network.target
[Service]
Type=simple
2017-07-21 11:41:01 +02:00
PIDFile=/run/redis/sentinel.pid
ExecStart=/usr/bin/redis-sentinel /etc/redis/sentinel.conf --unixsocket /run/redis/sentinel.sock --pidfile /run/redis/sentinel.pid
ExecStop=/usr/bin/redis-cli -s /run/redis/sentinel.sock shutdown
2017-07-21 11:16:26 +02:00
Restart=always
2017-07-21 11:41:01 +02:00
User=redis
Group=redis
2017-07-21 11:16:26 +02:00
[Install]
WantedBy=multi-user.target
~~~
2017-09-29 18:20:02 +02:00
Créer ensuite le fichier de configuration suivant dans `/etc/redis/sentinel.conf` :
2017-07-21 11:16:26 +02:00
~~~
port 16379
dir "/tmp"
sentinel monitor replication1 127.0.0.1 6379 1
sentinel down-after-milliseconds 1000
sentinel config-epoch replication1 7
sentinel leader-epoch replication1 8
sentinel known-slave replication1 127.0.0.1 6380
sentinel current-epoch 8
~~~
Sentinel doit pouvoir ecrire dans son fichier de configuration :
~~~
2017-07-21 11:41:01 +02:00
chown redis: /etc/redis/sentinel.conf
2017-07-21 11:16:26 +02:00
~~~
2017-09-26 00:50:29 +02:00
2016-12-29 11:25:39 +01:00
## Benchmarks
<http://redis.io/topics/benchmarks>
~~~
redis-benchmark -n 100000
=##### PING (inline)=
100000 requests completed in 1.88 seconds
50 parallel clients
3 bytes payload
keep alive: 1
97.82% <= 1 milliseconds
99.80% <= 2 milliseconds
99.89% <= 3 milliseconds
99.93% <= 4 milliseconds
99.93% <= 5 milliseconds
100.00% <= 6 milliseconds
100.00% <= 6 milliseconds
53276.50 requests per second
=##### PING=
100000 requests completed in 1.97 seconds
50 parallel clients
3 bytes payload
keep alive: 1
93.58% <= 1 milliseconds
99.36% <= 2 milliseconds
99.61% <= 3 milliseconds
99.71% <= 4 milliseconds
99.81% <= 5 milliseconds
99.87% <= 6 milliseconds
99.88% <= 7 milliseconds
99.88% <= 8 milliseconds
99.92% <= 10 milliseconds
99.93% <= 11 milliseconds
99.93% <= 12 milliseconds
99.95% <= 13 milliseconds
100.00% <= 13 milliseconds
50761.42 requests per second
=##### MSET (10 keys)=
100000 requests completed in 3.12 seconds
50 parallel clients
3 bytes payload
keep alive: 1
19.71% <= 1 milliseconds
91.36% <= 2 milliseconds
98.93% <= 3 milliseconds
99.66% <= 4 milliseconds
99.75% <= 5 milliseconds
99.76% <= 8 milliseconds
99.77% <= 9 milliseconds
99.77% <= 10 milliseconds
99.80% <= 11 milliseconds
99.80% <= 14 milliseconds
99.85% <= 15 milliseconds
99.89% <= 22 milliseconds
99.89% <= 23 milliseconds
99.94% <= 24 milliseconds
99.95% <= 160 milliseconds
99.95% <= 208 milliseconds
99.95% <= 245 milliseconds
99.95% <= 246 milliseconds
100.00% <= 246 milliseconds
32020.49 requests per second
=##### SET=
100000 requests completed in 1.86 seconds
50 parallel clients
3 bytes payload
keep alive: 1
97.80% <= 1 milliseconds
99.78% <= 2 milliseconds
99.84% <= 3 milliseconds
99.87% <= 4 milliseconds
99.93% <= 5 milliseconds
99.95% <= 10 milliseconds
99.96% <= 11 milliseconds
100.00% <= 12 milliseconds
100.00% <= 12 milliseconds
53850.30 requests per second
=##### GET=
100000 requests completed in 2.02 seconds
50 parallel clients
3 bytes payload
keep alive: 1
91.26% <= 1 milliseconds
99.65% <= 2 milliseconds
99.86% <= 3 milliseconds
99.89% <= 4 milliseconds
99.92% <= 5 milliseconds
99.97% <= 7 milliseconds
100.00% <= 7 milliseconds
49407.12 requests per second
[etc.]
~~~
2017-09-26 00:50:29 +02:00
2016-12-29 11:25:39 +01:00
## Monitoring
2017-07-13 10:12:40 +02:00
### En live
Voir des stats toutes les secondes :
~~~
$ redis-cli --stat
------- data ------ --------------------- load -------------------- - child -
keys mem clients blocked requests connections
227947 1.25G 21 0 15259436851 (+0) 252707982
227948 1.25G 22 0 15259437470 (+619) 252708002
227951 1.25G 20 0 15259438412 (+942) 252708021
227951 1.25G 18 0 15259438787 (+375) 252708025
[…]
~~~
Voir les requêtes que redis reçoit :
~~~
$ redis-cli monitor
~~~
2017-10-01 23:57:10 +02:00
### Nagios
2016-12-29 11:25:39 +01:00
2018-04-18 15:26:26 +02:00
Depuis *Debian Stretch*, un check redis a été ajouté dans le paquet `nagios-plugins-contrib`, permettant d'avoir un check plus sophistiqué qu'un simple check TCP. Il est capable de surveiller la réplication, la consommation de mémoire… tout en retournant diverses informations sur le status du serveur. Il faut penser à installer la lib redis pour perl, absente des dépendances.
2017-09-28 10:44:48 +02:00
~~~
# apt install libredis-perl nagios-plugins-contrib
$ /usr/lib/nagios/plugins/check_redis -H 127.0.0.1
OK: REDIS 3.2.6 on 127.0.0.1:6379 has 42 databases (foo00,foo01,foo01...) with 179927 keys, up 17 hours 56 minutes
2017-09-28 10:44:48 +02:00
~~~
2018-04-18 15:26:26 +02:00
Sur *Debian Jessie*, il n'y a pas de check redis embarqué. A place, on peut faire un check Nagios « basique » consistant à initier une connexion TCP sur le socket unix du serveur Redis, et s'assurer qu'il répond bien :
2017-01-03 11:20:35 +01:00
2016-12-29 11:25:39 +01:00
~~~
2017-01-13 15:30:04 +01:00
$ /usr/lib/nagios/plugins/check_tcp -H /var/run/redis.pid
2016-12-29 11:25:39 +01:00
~~~
2017-09-28 10:44:48 +02:00
Il est toujours possible de récupérer le check avancé, pour l'utiliser sur *Jessie* :
2016-12-29 11:25:39 +01:00
2017-09-28 10:44:48 +02:00
* <https://exchange.nagios.org/directory/Plugins/Databases/check_redis-2Epl/details>
* <https://github.com/willixix/WL-NagiosPlugins/blob/master/check_redis.pl>
2016-12-29 11:25:39 +01:00
### Munin
2017-09-28 17:17:50 +02:00
Un plugin Munin existe pour grapher divers paramètres comme la mémoire utilisée par Redis, le nombre de clés utilisées, le nombre de requêtes par seconde, et le nombre de clients connectés.
2016-12-29 11:25:39 +01:00
Installer le paquet suivant si ne n'est pas déjà fait :
2018-06-19 16:56:37 +02:00
~~~
apt install libswitch-perl
2018-06-19 16:56:37 +02:00
~~~
Puis suivre la procédure :
2017-01-06 11:15:03 +01:00
~~~
# mkdir -p /usr/local/share/munin/plugins/
# cd /usr/local/share/munin/plugins/
# wget "https://raw.githubusercontent.com/munin-monitoring/contrib/master/plugins/redis/redis_"
# chmod -R 755 /usr/local/share/munin
# cd /etc/munin/plugins/
# for module in connected_clients key_ratio keys_per_sec per_sec used_keys used_memory; do ln -s /usr/local/share/munin/plugins/redis_ redis_${module}; done
~~~
2016-12-29 11:25:39 +01:00
2017-10-01 23:57:10 +02:00
Si vous avez une authentification pour votre serveur Redis :
2016-12-29 11:25:39 +01:00
2017-01-03 11:20:35 +01:00
~~~
2017-01-06 11:15:03 +01:00
# cat /etc/munin/plugin-conf.d/munin-node
[redis_*]
env.password PASSWORD
2017-01-03 11:20:35 +01:00
~~~