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 <fgiunch...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits