Manybubbles has uploaded a new change for review.
https://gerrit.wikimedia.org/r/108852
Change subject: Monitor Elasticsearch query stats groups
......................................................................
Monitor Elasticsearch query stats groups
Only really useful when we start making these groups.
Change-Id: I34b1de807038474b99f05daf3f41b2395b431a0a
Needs: Ifaa1e45b95cb2e7ba7199675d8553b07a8215abc from cirrus
---
M modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
1 file changed, 41 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/52/108852/1
diff --git a/modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
b/modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
index 6670a68..3dd3e7f 100644
--- a/modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
+++ b/modules/elasticsearch/files/ganglia/elasticsearch_monitoring.py
@@ -380,6 +380,26 @@
'description': 'shards initializing'
})
+# Index stats
+index_stats = dict()
+index_stats['es_%(group)s_queries'] = merge(COUNTER, {
+ 'path': '_all.total.search.groups.%(group)s.query_total',
+ 'units': 'queries/sec',
+ 'description': 'Queries/sec',
+})
+index_stats['es_%(group)s_query_time'] = merge(TIME, {
+ 'path': '_all.total.search.groups.%(group)s.query_time_in_millis',
+ 'description': 'Query Time/sec'
+})
+index_stats['es_%(group)s_fetches'] = merge(COUNTER, {
+ 'path': '_all.total.search.groups.%(group)s.fetch_total',
+ 'units': 'fetches/sec',
+ 'description': 'Fetches/sec',
+})
+index_stats['es_%(group)s_fetch_time'] = merge(TIME, {
+ 'path': '_all.total.search.groups.%(group)s.fetch_time_in_millis',
+ 'description': 'Fetch Time/sec'
+})
def dig_it_up(obj, path):
def tryint(s):
@@ -395,12 +415,16 @@
return False
+def load(url):
+ return json.load(urllib2.urlopen(url, None, 2))
+
+
def update_result(data):
# If time delta is > 3 seconds, then update the JSON results
now = time.time()
diff = now - data['last_update']
if diff > 3:
- data['stats'] = json.load(urllib2.urlopen(data['url'], None, 2))
+ data['stats'] = load(data['url'])
data['last_update'] = now
@@ -461,6 +485,22 @@
Desc_Skel['call_back'] = partial(get_stat, health_result, health_stats)
init(health_stats)
+ # Monitor search grouped stats by making a stat per group.
+ url = '{0}_stats/search?groups=_all'.format(host)
+ index_stats_result = {
+ 'last_update': 0,
+ '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(' ', '_')}
+ path = 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/108852
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I34b1de807038474b99f05daf3f41b2395b431a0a
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Manybubbles <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits