Skip to content

Commit

Permalink
Check if key exists before attempting to use the key.
Browse files Browse the repository at this point in the history
  • Loading branch information
akrzos committed Jul 25, 2017
1 parent 5cbad42 commit e53c7a5
Showing 1 changed file with 50 additions and 46 deletions.
96 changes: 50 additions & 46 deletions collectd_rabbitmq_monitoring/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,65 +54,69 @@ def read(data=None):
overview = cl.get_overview()

# Object counts
for metric_instance in \
for m_instance in \
['channels', 'connections', 'consumers', 'exchanges', 'queues']:
metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = metric_instance
metric.values = [overview['object_totals'][metric_instance]]
metric.dispatch()
if m_instance in overview['object_totals']:
metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = m_instance
metric.values = [overview['object_totals'][m_instance]]
metric.dispatch()

# Aggregated Queue message stats
for metric_instance in \
for m_instance in \
['messages', 'messages_ready', 'messages_unacknowledged']:
metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = 'queue_total-{}-count'.format(metric_instance)
metric.values = [overview['queue_totals'][metric_instance]]
metric.dispatch()
if m_instance in overview['queue_totals']:
metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = 'queue_total-{}-count'.format(m_instance)
metric.values = [overview['queue_totals'][m_instance]]
metric.dispatch()

metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = 'queue_total-{}-rate'.format(metric_instance)
metric.values = \
[
overview['queue_totals']['{}_details'.format(metric_instance)]
['rate']
]
metric.dispatch()
metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = 'queue_total-{}-rate'.format(
m_instance)
metric.values = \
[
overview['queue_totals']['{}_details'.format(m_instance)]
['rate']
]
metric.dispatch()

# Aggregated Message Stats
for metric_instance in \
for m_instance in \
[
'ack', 'confirm', 'deliver', 'deliver_get', 'deliver_no_ack',
'get', 'get_no_ack', 'publish', 'publish_in', 'publish_out',
'redeliver', 'return_unroutable'
]:
metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = 'message_total-{}-count'.format(metric_instance)
metric.values = [overview['message_stats'][metric_instance]]
metric.dispatch()
if m_instance in overview['message_stats']:
metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = 'message_total-{}-count'.format(m_instance)
metric.values = [overview['message_stats'][m_instance]]
metric.dispatch()

metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = 'message_total-{}-rate'.format(metric_instance)
metric.values = \
[
overview['message_stats']['{}_details'.format(metric_instance)]
['rate']
]
metric.dispatch()
metric = collectd.Values()
metric.plugin = 'rabbitmq_monitoring'
metric.interval = INTERVAL
metric.type = 'gauge'
metric.type_instance = 'message_total-{}-rate'.format(m_instance)
metric.values = \
[
overview['message_stats']['{}_details'.format(m_instance)]
['rate']
]
metric.dispatch()

# Configurable per-queue message counts
for queue_name in queues_to_count:
Expand Down

0 comments on commit e53c7a5

Please sign in to comment.