From 956a611e617bf55661716c4416bb76936e79c24e Mon Sep 17 00:00:00 2001 From: Shaekh Hasan Shoron Date: Tue, 31 Mar 2020 00:12:48 +0600 Subject: [PATCH] Solved Issue "KeyError: 'rgw.main'" --- radosgw_usage_exporter.py | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/radosgw_usage_exporter.py b/radosgw_usage_exporter.py index afafbaf..05a99de 100644 --- a/radosgw_usage_exporter.py +++ b/radosgw_usage_exporter.py @@ -76,7 +76,6 @@ def collect(self): for metric in self._prometheus_metrics.values(): yield metric - def _request_data(self, query, args): """ Requests data from RGW. If admin entry and caps is fine - return @@ -228,21 +227,21 @@ def _get_bucket_usage(self, bucket): if bucket['usage']: # Prefer bytes, instead kbytes - if 'size_actual' in bucket['usage']['rgw.main']: - bucket_usage_bytes = bucket['usage']['rgw.main']['size_actual'] - # Hammer don't have bytes field - elif 'size_kb_actual' in bucket['usage']['rgw.main']: - usage_kb = bucket['usage']['rgw.main']['size_kb_actual'] - bucket_usage_bytes = usage_kb * 1024 - - # Compressed buckets, since Kraken - if 'size_utilized' in bucket['usage']['rgw.main']: - bucket_utilized_bytes = bucket['usage']['rgw.main']['size_utilized'] - - # Get number of objects in bucket - if 'num_objects' in bucket['usage']['rgw.main']: - bucket_usage_objects = bucket['usage']['rgw.main']['num_objects'] - + if "rgw.main" in bucket['usage']: + if 'size_actual' in bucket['usage']['rgw.main']: + bucket_usage_bytes = bucket['usage']['rgw.main']['size_actual'] + # Hammer don't have bytes field + elif 'size_kb_actual' in bucket['usage']['rgw.main']: + usage_kb = bucket['usage']['rgw.main']['size_kb_actual'] + bucket_usage_bytes = usage_kb * 1024 + + # Compressed buckets, since Kraken + if 'size_utilized' in bucket['usage']['rgw.main']: + bucket_utilized_bytes = bucket['usage']['rgw.main']['size_utilized'] + + # Get number of objects in bucket + if 'num_objects' in bucket['usage']['rgw.main']: + bucket_usage_objects = bucket['usage']['rgw.main']['num_objects'] if 'zonegroup' in bucket: bucket_zonegroup = bucket['zonegroup']