Skip to content

Commit a01b43b

Browse files
committed
Merge pull request nkrode#25 from snikch/master
Add support for redis instances with password authentication
2 parents 8d51eed + 5e4c13a commit a01b43b

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
RedisLive
22
---------
33

4-
Visualize your redis instances, analyze query patterns and spikes.
4+
Visualize your redis instances, analyze query patterns and spikes.
55

66
![Redis Live](https://github.com/kumarnitin/RedisLive/blob/master/design/redis-live.png?raw=true "Redis Live")
77

@@ -23,8 +23,9 @@ You'll also need argparse if you're running Python < 2.7:
2323
+ edit redis-live.conf :
2424
+ update the value of the key `RedisServers` to the redis instances you want to monitor. You can monitor multiple instances by appending more values to the RedisServers list.
2525
+ update the value of the key `RedisStatsServer` to the redis instance you will use to store RedisLive data (this redis instance is different from the redis instances you are monitoring).
26-
27-
if you don't have a spare redis instance to use to store RedisLive data, then you can configure RedisLive to use sqlite by changing to ` "DataStoreType" : "sqlite" `
26+
+ passwords can be added as an optional parameter for any redis instance
27+
28+
if you don't have a spare redis instance to use to store RedisLive data, then you can configure RedisLive to use sqlite by changing to ` "DataStoreType" : "sqlite" `
2829

2930
**Start RedisLive**
3031
+ start the monitoring script `./redis-monitor.py --duration=120` duration is in seconds ([see caveat](#caveat-on-monitoring-redis))

src/redis-monitor.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,11 @@ def listen(self):
4545

4646
class MonitorThread(threading.Thread):
4747

48-
def __init__(self, server, port):
48+
def __init__(self, server, port, password=None):
4949
threading.Thread.__init__(self)
5050
self.server = server
5151
self.port = port
52+
self.password = password
5253
self.id = self.server + ":" + str(self.port)
5354
self._stop = threading.Event()
5455

@@ -61,7 +62,7 @@ def stopped(self):
6162
def run(self):
6263

6364
statsProvider = RedisLiveDataProvider.GetProvider()
64-
pool = redis.ConnectionPool(host=self.server, port=self.port, db=0)
65+
pool = redis.ConnectionPool(host=self.server, port=self.port, db=0, password=self.password)
6566
monitor=Monitor(pool)
6667
commands = monitor.monitor()
6768

@@ -112,10 +113,11 @@ def run(self):
112113

113114
class InfoThread(threading.Thread):
114115

115-
def __init__(self, server, port):
116+
def __init__(self, server, port, password=None):
116117
threading.Thread.__init__(self)
117118
self.server = server
118119
self.port = port
120+
self.password = password
119121
self.id = self.server + ":" + str(self.port)
120122
self._stop = threading.Event()
121123

@@ -128,7 +130,7 @@ def stopped(self):
128130
def run(self):
129131

130132
statsProvider = RedisLiveDataProvider.GetProvider()
131-
redisClient = redis.StrictRedis(host=self.server, port=self.port, db=0)
133+
redisClient = redis.StrictRedis(host=self.server, port=self.port, db=0, password=self.password)
132134

133135
while not self.stopped():
134136
try:
@@ -180,12 +182,12 @@ def Run(self, duration):
180182
redisServers = RedisLiveSettings.GetRedisServers()
181183

182184
for redisServer in redisServers:
183-
monitor = MonitorThread(redisServer["server"], redisServer["port"])
185+
monitor = MonitorThread(redisServer["server"], redisServer["port"], redisServer.get("password", None))
184186
self.threads.append(monitor)
185187
monitor.setDaemon(True)
186188
monitor.start()
187189

188-
info = InfoThread(redisServer["server"], redisServer["port"])
190+
info = InfoThread(redisServer["server"], redisServer["port"], redisServer.get("password", None))
189191
self.threads.append(info)
190192
info.setDaemon(True)
191193
info.start()

0 commit comments

Comments
 (0)