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