BryanDavis has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/113471

Change subject: Make elasticsearch ganglia monitor compatible with logstash
......................................................................

Make elasticsearch ganglia monitor compatible with logstash

The ganglia monitor for elasticsearch assumed that all clusters being
monitored would have search clients using stats groups to categorize
search traffic sources. This is not the case for the kibana frontend
being used with the logstash cluster. The lack of a 'groups' component
in the indices stats was causing the module to crash on initialization.

Bug: 61384
Change-Id: Ie56d3a5b55d628e783b09c7e1064e6d95fd63a48
---
M modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
1 file changed, 12 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/71/113471/1

diff --git a/modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py 
b/modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
index 85f7518..90c04d5 100644
--- a/modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
+++ b/modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
@@ -508,16 +508,18 @@
         'url': url,
         'path_transformer': noop_path_transformer,
     }
-    for group in load(url)['_all']['total']['search']['groups']:
-        group_index_stats = dict()
-        for stat_name, stat in index_stats.iteritems():
-            stat_name = stat_name % {'group': group.replace(' ', '_')}
-            stat_name = deunicode(stat_name)
-            path = deunicode(stat['path'] % {'group': group})
-            group_index_stats[stat_name] = merge(stat, {'path': path})
-        Desc_Skel['call_back'] = partial(
-            get_stat, index_stats_result, group_index_stats)
-        init(group_index_stats)
+    stat_groups = load(url)
+    if 'groups' in stat_groups['_all']['total']['search']:
+        for group in stat_groups['_all']['total']['search']['groups']:
+            group_index_stats = dict()
+            for stat_name, stat in index_stats.iteritems():
+                stat_name = stat_name % {'group': group.replace(' ', '_')}
+                stat_name = deunicode(stat_name)
+                path = deunicode(stat['path'] % {'group': group})
+                group_index_stats[stat_name] = merge(stat, {'path': path})
+            Desc_Skel['call_back'] = partial(
+                get_stat, index_stats_result, group_index_stats)
+            init(group_index_stats)
 
     return descriptors
 

-- 
To view, visit https://gerrit.wikimedia.org/r/113471
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie56d3a5b55d628e783b09c7e1064e6d95fd63a48
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BryanDavis <bda...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to