Monitoring Redis Cluster
Pre-monitoring operations
create a empty folder and add two files.
redis.config
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
bind 0.0.0.0
protected-mode nodocker-compose.yml
services:
redis-master-1:
image: redis:latest
container_name: redis-master-1
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- ./redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "1000:6379"
redis-master-2:
image: redis:latest
container_name: redis-master-2
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- ./redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "2000:6379"
redis-master-3:
image: redis:latest
container_name: redis-master-3
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- ./redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "3000:6379"
redis-slave-1:
image: redis:latest
container_name: redis-slave-1
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- ./redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "1001:6379"
redis-slave-2:
image: redis:latest
container_name: redis-slave-2
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- ./redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "2001:6379"
redis-slave-3:
image: redis:latest
container_name: redis-slave-3
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- ./redis.conf:/usr/local/etc/redis/redis.conf
ports:
- "3001:6379"
networks:
default:
external:
name: hertzbeat-redis-clusterView the IP addresses of all containers from the network, which is required when building a cluster.
docker-compose up -d
docker network inspect hertzbeat-redis-cluste"Containers": {
"187b879f73c473b3cbb82ff95f668e65af46115ddaa27f3ff1a712332b981531": {
...
"Name": "redis-slave-2",
"IPv4Address": "192.168.117.6/24",
...
},
"45e22b64c82e51857fc104436cdd6cc0c5776ad10a2e4b9d8e52e36cfb87217e": {
...
"Name": "redis-master-3",
"IPv4Address": "192.168.117.3/24
...
},
"57838ae37956f8af181f9a131eb011efec332b9ed3d49480f59d8962ececf288": {
...
"Name": "redis-master-2",
"IPv4Address": "192.168.117.7/24",
...
},
"94478d14bd950bcde533134870beb89b392515843027a0595af56dd1e3305a76": {
...
"Name": "redis-master-1",
"IPv4Address": "192.168.117.4/24",
...
},
"ad055720747e7fc430ba794d5321723740eeb345c280073e4292ed4302ff657c": {
...
"Name": "redis-slave-3",
"IPv4Address": "192.168.117.2/24",
...
},
"eddded1ac4c7528640ba0c6befbdaa48faa7cb13905b934ca1f5c69ab364c725": {
...
"Name": "redis-slave-1",
"IPv4Address": "192.168.117.5/24",
...
}
},Go inside the container to build a Redis cluster.
docker exec -it redis-master-1 /bin/bash
redis-cli --cluster create \
192.168.117.4:6379 \
192.168.117.7:6379 \
192.168.117.3:6379 \
192.168.117.5:6379 \
192.168.117.6:6379 \
192.168.117.2:6379 \
--cluster-replicas 1Specific operations.
Add a redis monitor center, fill require parameters.
final effect.
Configuration Parameters
Please see REDIS doc.