From 0912827c01c205fed28f93863c7c50582429fcbe Mon Sep 17 00:00:00 2001 From: Swann Croiset Date: Tue, 10 Jan 2017 10:55:54 +0100 Subject: [PATCH] Make the RabbitMQ collectd plugin more robust The plugin crashed when it was running before the RabbitMQ server was provisioned with queues, exchanges and so on. Change-Id: I895c6ce83edaf6ee3b2f38ede54838cf28c3fcae Co-Authored-By: Simon Pasquier --- .../files/collectd/rabbitmq_info.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deployment_scripts/puppet/modules/lma_collector/files/collectd/rabbitmq_info.py b/deployment_scripts/puppet/modules/lma_collector/files/collectd/rabbitmq_info.py index c92ce0eb7..d78b6cb4a 100644 --- a/deployment_scripts/puppet/modules/lma_collector/files/collectd/rabbitmq_info.py +++ b/deployment_scripts/puppet/modules/lma_collector/files/collectd/rabbitmq_info.py @@ -79,14 +79,14 @@ class RabbitMqPlugin(base.Base): self.api_overview_url, r.status_code) raise base.CheckException(msg) - objects = overview['object_totals'] - stats['queues'] = objects['queues'] - stats['consumers'] = objects['consumers'] - stats['connections'] = objects['connections'] - stats['exchanges'] = objects['exchanges'] - stats['channels'] = objects['channels'] - stats['messages'] = overview['queue_totals']['messages'] - stats['running_nodes'] = len(overview['contexts']) + objects = overview.get('object_totals', {}) + stats['queues'] = objects.get('queues', 0) + stats['consumers'] = objects.get('consumers', 0) + stats['connections'] = objects.get('connections', 0) + stats['exchanges'] = objects.get('exchanges', 0) + stats['channels'] = objects.get('channels', 0) + stats['messages'] = overview.get('queue_totals', {}).get('messages', 0) + stats['running_nodes'] = len(overview.get('contexts', [])) for k, v in stats.iteritems(): yield {'type_instance': k, 'values': v}