Ori.livneh has submitted this change and it was merged.
Change subject: mediawiki::monitoring::webserver: tidy
......................................................................
mediawiki::monitoring::webserver: tidy
Change-Id: Ib90682632775630e54353ae24adc369b8e96b142
---
M modules/mediawiki/files/monitoring/collectors/hhvm.py
M modules/mediawiki/manifests/monitoring/webserver.pp
2 files changed, 24 insertions(+), 61 deletions(-)
Approvals:
Ori.livneh: Verified; Looks good to me, approved
diff --git a/modules/mediawiki/files/monitoring/collectors/hhvm.py
b/modules/mediawiki/files/monitoring/collectors/hhvm.py
index 2035f25..dc0703c 100644
--- a/modules/mediawiki/files/monitoring/collectors/hhvm.py
+++ b/modules/mediawiki/files/monitoring/collectors/hhvm.py
@@ -1,60 +1,29 @@
-# coding=utf-8
+# -*- coding: utf-8 -*-
"""
-Collect stats from hhvm
-
-### Dependencies
-
- * json
- * urllib2
+ Diamond collector for HHVM
"""
-
import json
import urllib2
+
import diamond.collector
-class hhvm_healthCollector(diamond.collector.Collector):
-
- def get_default_config_help(self):
- pass
+class hhvmHealthCollector(diamond.collector.Collector):
+ """Collect health metrics from HHVM."""
def get_default_config(self):
- config = super(hhvm_healthCollector, self).get_default_config()
- config.update({
- 'host': 'localhost:9002',
- 'url': '/',
- 'timeout': 5,
- })
+ config = super(hhvmHealthCollector, self).get_default_config()
+ config.update(url='http://localhost:9002/check-health', timeout=5)
return config
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',
- }
+ req = urllib2.Request(self.config['url'])
+ req.add_header('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
+ for key, val in data.items():
+ self.publish(key, val)
+ except (IOError, ValueError):
+ self.log.exception('Failed to collect metrics')
diff --git a/modules/mediawiki/manifests/monitoring/webserver.pp
b/modules/mediawiki/manifests/monitoring/webserver.pp
index 1b1b868..e9ad4cc 100644
--- a/modules/mediawiki/manifests/monitoring/webserver.pp
+++ b/modules/mediawiki/manifests/monitoring/webserver.pp
@@ -1,19 +1,15 @@
-class mediawiki::monitoring::webserver ($ensure = 'present'){
- include ::stdlib
+class mediawiki::monitoring::webserver( $ensure = present ) {
include ::apache
include ::network::constants
if ubuntu_version('< trusty') {
- $endpoints = {
- 'apc' => 'apc_stats.php'
- }
- }
- else {
+ $endpoints = {'apc' => 'apc_stats.php'}
+ } else {
$endpoints = {}
- diamond::collector { 'hhvm_health':
+
+ diamond::collector { 'hhvmHealth':
ensure => $ensure,
source =>
'puppet:///modules/mediawiki/monitoring/collectors/hhvm.py',
- settings => { url => '/check-health' },
require => Apache::Site['hhvm_admin'],
}
@@ -37,20 +33,19 @@
}
- # Basic vhost files
file { '/var/www/monitoring':
ensure => ensure_directory($ensure),
owner => 'root',
group => 'root',
mode => '0555',
- require => Class['::mediawiki::packages']
+ require => Class['::mediawiki::packages'],
}
- apache::site {'monitoring':
- ensure => present,
- priority => '99',
+ apache::site { 'monitoring':
+ ensure => $ensure,
content => template('mediawiki/apache/monitoring.conf.erb'),
+ priority => 99,
require => Package['apache2'],
}
@@ -59,16 +54,15 @@
# This define is designed to be private to this class,
# this is why it's defined within the class itself.
# We are choosing convention over configuration here, which is usualy wise.
- define endpoint ($ensure = $::mediawiki::monitoring::webserver::ensure) {
-
+ define endpoint( $ensure = $::mediawiki::monitoring::webserver::ensure ) {
$endpoint = $::mediawiki::monitoring::webserver::endpoints[$title]
file { "/var/www/monitoring/${endpoint}":
ensure => $ensure,
+ source => "puppet:///modules/mediawiki/monitoring/${endpoint}",
owner => 'root',
group => 'root',
mode => '0444',
- source => "puppet:///modules/mediawiki/monitoring/${endpoint}"
}
diamond::collector {"mw_${title}":
--
To view, visit https://gerrit.wikimedia.org/r/166196
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib90682632775630e54353ae24adc369b8e96b142
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits