Filippo Giunchedi has submitted this change and it was merged. Change subject: graphite: add metric tapping ......................................................................
graphite: add metric tapping one of the advantages of carbon-c-relay is to be able to tap or route metrics around, thus provide basic support for doing both. Change-Id: I0cc11f17337790bde0af225cc1621a633d9054e0 --- M modules/graphite/manifests/carbon_c_relay.pp M modules/graphite/manifests/init.pp M modules/graphite/templates/frontend-relay.conf.erb 3 files changed, 26 insertions(+), 1 deletion(-) Approvals: Ori.livneh: Looks good to me, but someone else must approve Filippo Giunchedi: Verified; Looks good to me, approved diff --git a/modules/graphite/manifests/carbon_c_relay.pp b/modules/graphite/manifests/carbon_c_relay.pp index a32a5e5..55baf63 100644 --- a/modules/graphite/manifests/carbon_c_relay.pp +++ b/modules/graphite/manifests/carbon_c_relay.pp @@ -7,7 +7,11 @@ # * local-relay: takes metrics on port 1903 and forwards to all configured # carbon-cache processes on the local machine ('carbon-cache' list in config) # * frontend-relay: listen on standard port 2003 and mirror metrics to all -# configured backends ('backends' list in config) +# configured backends ('backends' list in config). +# +# The frontend also supports metric tapping ('teeing' data inline) and +# metric routing (no duplication) to specific clusters. Respectively via +# 'cluster_tap' and 'cluster_routes' maps c_relay_settings. # class graphite::carbon_c_relay( $c_relay_settings ) { package { 'carbon-c-relay': diff --git a/modules/graphite/manifests/init.pp b/modules/graphite/manifests/init.pp index c9b36f1..f95aff0 100644 --- a/modules/graphite/manifests/init.pp +++ b/modules/graphite/manifests/init.pp @@ -44,6 +44,8 @@ 'backends' => [ 'localhost:1903', ], + 'cluster_tap' => {}, + 'cluster_routes' => {}, } class { '::graphite::carbon_c_relay': diff --git a/modules/graphite/templates/frontend-relay.conf.erb b/modules/graphite/templates/frontend-relay.conf.erb index 2f95734..59ef7de 100644 --- a/modules/graphite/templates/frontend-relay.conf.erb +++ b/modules/graphite/templates/frontend-relay.conf.erb @@ -5,6 +5,25 @@ <% end -%> ; + +<% @c_relay_settings['cluster_tap'].each do |tap| -%> +# duplicate (tap) this metric to <%= tap[1] %> +match <%= tap[0] %> + send to <%= tap[1] %> + ; + +<% end -%> + +<% @c_relay_settings['cluster_routes'].each do |route| -%> +# route this metric to <%= route[1] %>, don't send to backends +match <%= route[0] %> + send to <%= route[1] %> + stop + ; + +<% end -%> + +# catch-all, send to backends if it made this far match * send to backends ; -- To view, visit https://gerrit.wikimedia.org/r/243906 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I0cc11f17337790bde0af225cc1621a633d9054e0 Gerrit-PatchSet: 6 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Filippo Giunchedi <fgiunch...@wikimedia.org> Gerrit-Reviewer: Chasemp <r...@wikimedia.org> Gerrit-Reviewer: Filippo Giunchedi <fgiunch...@wikimedia.org> Gerrit-Reviewer: Ori.livneh <o...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits