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

Reply via email to