Filippo Giunchedi has uploaded a new change for review.
https://gerrit.wikimedia.org/r/243127
Change subject: cassandra: new metrics-collector version
......................................................................
cassandra: new metrics-collector version
deploy a new version of cassandra-metrics-collector, featuring:
* daemon mode
* metrics blacklist
* cassandra instance auto-discovery via cassandra.instance-id JVM property
Bug: T113733
Change-Id: Ie98a120f4facf48c3a8786002ef9f75881ce2285
---
M modules/cassandra/manifests/metrics.pp
A
modules/cassandra/templates/initscripts/cassandra-metrics-collector.systemd.erb
A modules/cassandra/templates/metrics-filter.yaml.erb
3 files changed, 47 insertions(+), 14 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/27/243127/1
diff --git a/modules/cassandra/manifests/metrics.pp
b/modules/cassandra/manifests/metrics.pp
index dee83dd..1e0ef40 100644
--- a/modules/cassandra/manifests/metrics.pp
+++ b/modules/cassandra/manifests/metrics.pp
@@ -21,14 +21,33 @@
$graphite_prefix = "cassandra.${::hostname}",
$graphite_host = 'localhost',
$graphite_port = '2003',
+ $blacklist = undef,
) {
validate_string($graphite_prefix)
validate_string($graphite_host)
validate_string($graphite_port)
+ $filter_file = '/etc/cassandra-metrics-collector/filter.yaml'
+ $collector_jar =
'/usr/local/lib/cassandra-metrics-collector/cassandra-metrics-collector.jar'
+
package { 'cassandra/metrics-collector':
ensure => present,
provider => 'trebuchet',
+ }
+
+ file { '/etc/cassandra-metrics-collector':
+ owner => 'root',
+ group => 'root',
+ mode => '0555',
+ ensure => 'directory',
+ }
+
+ file { $filter_file:
+ ensure => 'present',
+ content => template("${module_name}/metrics-filter.yaml.erb"),
+ owner => 'root',
+ group => 'root',
+ mode => '0444',
}
file { '/usr/local/lib/cassandra-metrics-collector':
@@ -38,25 +57,26 @@
ensure => 'directory',
}
- file {
'/usr/local/lib/cassandra-metrics-collector/cassandra-metrics-collector.jar':
+ file { $collector_jar:
ensure => 'link',
- target =>
'/srv/deployment/cassandra/metrics-collector/lib/cassandra-metrics-collector-1.0.0-20150810.174059-7-jar-with-dependencies.jar',
+ target =>
'/srv/deployment/cassandra/metrics-collector/lib/cassandra-metrics-collector-2.0.0-20151001.182133-1-jar-with-dependencies.jar',
require => Package['cassandra/metrics-collector'],
- }
-
- file { '/usr/local/bin/cassandra-metrics-collector':
- source =>
"puppet:///modules/${module_name}/cassandra-metrics-collector",
- owner => 'root',
- group => 'root',
- mode => '0555',
}
cron { 'cassandra-metrics-collector':
- ensure => present,
- user => 'cassandra',
- command => "flock --wait 2 /tmp/cassandra-metrics-collector.lock
/usr/local/bin/cassandra-metrics-collector --graphite-host ${graphite_host}
--graphite-port ${graphite_port} --prefix ${graphite_prefix} >/dev/null 2>&1",
- minute => '*',
- require => Package['cassandra/metrics-collector'],
+ ensure => absent,
+ user => 'cassandra',
+ }
+
+ base::service_unit { 'cassandra-metrics-collector':
+ ensure => present,
+ template_name => 'cassandra-metrics-collector',
+ systemd => true,
+ refresh => false,
+ require => [
+ File[$collector_jar],
+ File[$filter_file],
+ ],
}
# built-in cassandra metrics reporter, T104208
diff --git
a/modules/cassandra/templates/initscripts/cassandra-metrics-collector.systemd.erb
b/modules/cassandra/templates/initscripts/cassandra-metrics-collector.systemd.erb
new file mode 100644
index 0000000..9623550
--- /dev/null
+++
b/modules/cassandra/templates/initscripts/cassandra-metrics-collector.systemd.erb
@@ -0,0 +1,7 @@
+[Unit]
+Description=cassandra metrics collector
+After=network.target
+
+[Service]
+User=cassandra
+ExecStart=/usr/bin/java -jar
/usr/local/lib/cassandra-metrics-collector/cassandra-metrics-collector.jar
--graphite-host <%= @graphite_host %> --graphite-port <%= @graphite_port %>
--filter-config <%= @filter_file %>
diff --git a/modules/cassandra/templates/metrics-filter.yaml.erb
b/modules/cassandra/templates/metrics-filter.yaml.erb
new file mode 100644
index 0000000..6667d46
--- /dev/null
+++ b/modules/cassandra/templates/metrics-filter.yaml.erb
@@ -0,0 +1,6 @@
+<% if @blacklist != nil %>
+blacklist:
+ <%- @blacklist.each do |x| -%>
+ - '<%= x %>'
+ <%- end -%>
+<% end %>
--
To view, visit https://gerrit.wikimedia.org/r/243127
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie98a120f4facf48c3a8786002ef9f75881ce2285
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Filippo Giunchedi <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits