Elukey has uploaded a new change for review.

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

Change subject: Refactor the monitor namespace to include Statsd
......................................................................

Refactor the monitor namespace to include Statsd

Bug: T152093
Change-Id: I7488293a17c72312caa22e64c2e29bbf449a7a44
---
M README.md
R manifests/monitor/ganglia.pp
A manifests/monitor/statsd.pp
3 files changed, 31 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet/varnishkafka 
refs/changes/77/324877/1

diff --git a/README.md b/README.md
index 0d85db3..cd6c61a 100644
--- a/README.md
+++ b/README.md
@@ -24,13 +24,14 @@
 
 See the ```varnishkafka``` class docs in manifests/init.pp for more parameter 
documentation.
 
-## Ganglia Monitoring
+## Monitoring
 
 ```puppet
-# This will install logster and a custom VarnishkafkaLogster
-# logster parser to send JSON stats from the log.statistics.file
-# to Ganglia.
-class { 'varnishkafka::monitoring': }
+# The following classes will install logster and a custom VarnishkafkaLogster
+# parser to send JSON stats from the log.statistics.file
+# to Ganglia or Statsd.
+class { 'varnishkafka::monitoring::ganglia': }
+class { 'varnishkafka::monitoring::statsd': }
 ```
 
 ## Testing
diff --git a/manifests/monitor.pp b/manifests/monitor/ganglia.pp
similarity index 95%
rename from manifests/monitor.pp
rename to manifests/monitor/ganglia.pp
index 17214da..c2a56c9 100644
--- a/manifests/monitor.pp
+++ b/manifests/monitor/ganglia.pp
@@ -1,4 +1,5 @@
-# == Define varnishkafka::monitor
+# == Define varnishkafka::monitor::statsd::ganglia
+#
 # Installs varnishkafka python ganglia module.
 #
 define varnishkafka::monitor(
diff --git a/manifests/monitor/statsd.pp b/manifests/monitor/statsd.pp
new file mode 100644
index 0000000..0b59c7e
--- /dev/null
+++ b/manifests/monitor/statsd.pp
@@ -0,0 +1,23 @@
+# === Define varnishkafka::monitor::statsd
+#
+# Configures Logster to parse Varnishkafka stats JSON files, extract metrics
+# and push them to statsd.
+#
+define varnishkafka::monitor(
+    $log_statistics_file     = "/var/cache/varnishkafka/${name}.stats.json",
+    $graphite_metric_prefix  = "varnishkafka.stats",
+    $statsd_host_port        = "localhost:8125",
+) {
+    require ::varnishkafka
+
+    Varnishkafka::Instance[$name] -> Varnishkafka::Monitor[$name]
+
+    # Send varnishkafka stats to statsd -> graphite using Logster.
+    # Logster runs every minute using a cronjob.
+    logster::job { 'varnishkafka-${name}':
+        minute          => '*/1',
+        parser          => 'JsonLogster',
+        logfile         => $log_statistics_file,
+        logster_options => "-o statsd --statsd-host=${statsd_host_port} 
--metric-prefix=${graphite_metric_prefix}",
+    }
+}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7488293a17c72312caa22e64c2e29bbf449a7a44
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet/varnishkafka
Gerrit-Branch: master
Gerrit-Owner: Elukey <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to