Skip to content

Commit 5ebe62d

Browse files
author
Greg Rice
committed
RabbitMQ module now supports multiple vhosts
1 parent 8f040d1 commit 5ebe62d

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

rabbit/conf.d/rabbitmq.pyconf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ modules {
1313
}
1414

1515
param vhost {
16-
value = "/"
16+
value = "/,meow"
1717
}
1818
param username {
1919
value = "guest"

rabbit/python_modules/rabbitmq.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,11 @@ def refreshStats(stats = ('nodes', 'queues'), vhosts = ['/']):
9191
last_update = now
9292
for stat in stats:
9393
for vhost in vhosts:
94+
if stat in ('nodes'):
95+
vhost = '/'
9496
result_dict = {}
9597
urlstring = url_template.safe_substitute(stats = stat, vhost = vhost)
98+
print urlstring
9699
result = json.load(urllib.urlopen(urlstring))
97100
# Rearrange results so entry is held in a dict keyed by name - queue name, host name, etc.
98101
if stat in ("queues", "nodes", "exchanges"):
@@ -114,9 +117,9 @@ def list_queues(vhost):
114117
queues = compiled_results[('queues', vhost)].keys()
115118
return queues
116119

117-
def list_nodes(vhost):
120+
def list_nodes():
118121
global compiled_results
119-
nodes = compiled_results[('nodes', vhost)].keys()
122+
nodes = compiled_results[('nodes', '/')].keys()
120123
return nodes
121124

122125
def getQueueStat(name):
@@ -147,7 +150,7 @@ def getNodeStat(name):
147150
#Split a name like "rmq_backing_queue_ack_egress_rate.access"
148151
stat_name = name.split(".")[0]
149152
node_name, vhost = name.split(".")[1].split("#")
150-
result = compiled_results[('nodes', vhost)]
153+
result = compiled_results[('nodes', '/')]
151154
value = dig_it_up(result, keyToPath[stat_name] % node_name)
152155

153156
print name,value
@@ -224,9 +227,9 @@ def buildQueueDescriptors():
224227
descriptors.append(d1)
225228

226229
def buildNodeDescriptors():
227-
for vhost, metric in product(vhosts, NODE_METRICS):
228-
for node in list_nodes(vhost):
229-
name = '%s.%s#%s' % (metric, node, vhost)
230+
for metric in NODE_METRICS:
231+
for node in list_nodes():
232+
name = '%s.%s#%s' % (metric, node, '/')
230233
print name
231234
d2 = create_desc({'name': name.encode('ascii','ignore'),
232235
'call_back': getNodeStat,

0 commit comments

Comments
 (0)