From bfb0580b2ad65b9de88dfb78a014d29d498692df Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Wed, 18 Nov 2020 19:07:49 +0000 Subject: [PATCH 1/1] Allow multiple instances of exporters --- cookbooks/prometheus/recipes/server.rb | 15 ++++++++++----- cookbooks/prometheus/resources/exporter.rb | 4 +++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/cookbooks/prometheus/recipes/server.rb b/cookbooks/prometheus/recipes/server.rb index 8da6fd263..f3ff4d9ca 100644 --- a/cookbooks/prometheus/recipes/server.rb +++ b/cookbooks/prometheus/recipes/server.rb @@ -44,12 +44,17 @@ search(:node, "recipes:prometheus\\:\\:default").sort_by(&:name).each do |client } end - client[:prometheus][:exporters].each do |name, addresses| - jobs[name] ||= [] - - Array(addresses).each do |address| - jobs[name] << { :address => address, :name => client.name } + client[:prometheus][:exporters].each do |key, exporter| + if exporter.is_a?(Hash) + name = exporter[:name] + address = exporter[:address] + else + name = key + address = exporter end + + jobs[name] ||= [] + jobs[name] << { :address => address, :name => client.name } end end diff --git a/cookbooks/prometheus/resources/exporter.rb b/cookbooks/prometheus/resources/exporter.rb index 826c1c1f7..69cb80e14 100644 --- a/cookbooks/prometheus/resources/exporter.rb +++ b/cookbooks/prometheus/resources/exporter.rb @@ -56,7 +56,9 @@ action :create do only_if { node[:prometheus][:mode] == "external" } end - node.default[:prometheus][:exporters][new_resource.exporter] = listen_address + node.default[:prometheus][:exporters][new_resource.port] = { + :name => new_resource.exporter, :address => listen_address + } end action :delete do -- 2.45.2