X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/a8151a769c86a3f482651f2b82c463bab1c0261e..52ac29a767d255685aa16786b6203a4ca076aac7:/cookbooks/prometheus/recipes/server.rb diff --git a/cookbooks/prometheus/recipes/server.rb b/cookbooks/prometheus/recipes/server.rb index 612b404cb..ccb12528d 100644 --- a/cookbooks/prometheus/recipes/server.rb +++ b/cookbooks/prometheus/recipes/server.rb @@ -37,7 +37,7 @@ package %w[ prometheus-alertmanager ] -promscale_version = "0.2.0" +promscale_version = "0.3.0" database_cluster = "#{node[:timescaledb][:database_version]}/main" @@ -150,6 +150,7 @@ search(:node, "roles:gateway") do |gateway| end jobs = {} +snmp_targets = [] search(:node, "recipes:prometheus\\:\\:default").sort_by(&:name).each do |client| if client[:prometheus][:mode] == "wireguard" @@ -178,6 +179,16 @@ search(:node, "recipes:prometheus\\:\\:default").sort_by(&:name).each do |client :metric_relabel => metric_relabel } end + + Hash(client[:prometheus][:snmp]).each do |instance, details| + snmp_targets << { + :instance => instance, + :target => details[:address], + :module => details[:module], + :address => client[:prometheus][:addresses]["snmp"], + :labels => Array(details[:labels]) + } + end end certificates = search(:node, "letsencrypt:certificates").each_with_object({}) do |n, c| @@ -218,7 +229,7 @@ template "/etc/prometheus/prometheus.yml" do owner "root" group "root" mode "644" - variables :jobs => jobs, :certificates => certificates + variables :jobs => jobs, :snmp_targets => snmp_targets, :certificates => certificates end template "/etc/prometheus/alert_rules.yml" do