Giuseppe Lavagetto has submitted this change and it was merged. Change subject: mediawiki: collect hhvm stats ......................................................................
mediawiki: collect hhvm stats Change-Id: I3b4d93a0fca7e7f48c6913623b0736ea78517259 Signed-off-by: Giuseppe Lavagetto <glavage...@wikimedia.org> --- A modules/mediawiki/files/monitoring/collectors/hhvm.py M modules/mediawiki/manifests/monitoring/webserver.pp 2 files changed, 65 insertions(+), 0 deletions(-) Approvals: Giuseppe Lavagetto: Verified; Looks good to me, approved diff --git a/modules/mediawiki/files/monitoring/collectors/hhvm.py b/modules/mediawiki/files/monitoring/collectors/hhvm.py new file mode 100644 index 0000000..1ee9be3 --- /dev/null +++ b/modules/mediawiki/files/monitoring/collectors/hhvm.py @@ -0,0 +1,59 @@ +# coding=utf-8 +""" +Collect stats from hhvm + +### Dependencies + + * json + * urllib2 + +""" + +import json +import urllib2 +import diamond.collector + + +class mw_hhvmCollector(diamond.collector.Collector): + + def get_default_config_help(self): + pass + + def get_default_config(self): + config = super(mw_hhvmCollector, self).get_default_config() + config.update({ + 'host': 'localhost:9002', + 'url': '/', + 'timeout': 5, + }) + + def collect(self): + # publish stats with self.publish + url = "http://{}{}".format( + self.config['host'] + self.config['url'] + ) + headers = { + 'User-agent': 'diamond-hhvm-collector/1.0', + } + try: + req = urllib2.Request(url, None, headers) + response = urllib2.urlopen(req, None, self.config['timeout']) + except urllib2.HTTPError as e: + self.log.error( + 'Got error status code %d from the HTTP server', + e.code) + return + except urllib2.URLError as e: + self.log.error('Could not contact server on localhost') + return + + try: + data = json.load(response) + for k, v in data.iteritems(): + self.publish(k, v) + except: + self.log.error( + "error parsing and publishing data received:\n%s", + response.read()) + return diff --git a/modules/mediawiki/manifests/monitoring/webserver.pp b/modules/mediawiki/manifests/monitoring/webserver.pp index 310d1b0..bfe4612 100644 --- a/modules/mediawiki/manifests/monitoring/webserver.pp +++ b/modules/mediawiki/manifests/monitoring/webserver.pp @@ -10,6 +10,12 @@ } else { $endpoints = {} + diamond::collector { 'hhvm_health': + ensure => $ensure, + source => 'puppet:///modules/mediawiki/monitoring/collectors/hhvm.py', + settings => { url => '/check-health' }, + require => Apache::Site['hhvm-admin'], + } } # Basic vhost files -- To view, visit https://gerrit.wikimedia.org/r/166003 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I3b4d93a0fca7e7f48c6913623b0736ea78517259 Gerrit-PatchSet: 3 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Giuseppe Lavagetto <glavage...@wikimedia.org> Gerrit-Reviewer: Giuseppe Lavagetto <glavage...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits