不用网上流传的pl和php插件,利用redis本身的redis-cli命令来监控。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
 
redis_bin=
'/home/app/redis/src'
redis_ip=(192.168.1.161 192.168.1.162 192.168.1.163 192.168.1.164)
redis_master_port=
'6379'
redis_slave_port=
'6380'
 
for 
(( i = 0; i < 1; i++ )); 
do
        
ALIVE_master=
''
$redis_bin
'/redis-cli -h '
${redis_ip[$i]}
' -p '
$redis_master_port
' ping'
        
ALIVE_slave=
''
$redis_bin
'/redis-cli -h '
${redis_ip[$i]}
' -p '
$redis_slave_port
' ping'
 
if 
[ `$ALIVE_master` == 
"PONG" 
] && [ `$ALIVE_slave` == 
"PONG" 
]; 
then
        
echo 
"redis ${redis_ip[$i]} is healthy."
        
exit 
0
else
        
echo 
"the redis ${redis_ip[$i]} 6379 or 6380 is down." 
        
exit 
1
fi
 
done