X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/a8151a769c86a3f482651f2b82c463bab1c0261e..9dfa18f4d915837857f34b98cfb2de5f468ea433:/cookbooks/prometheus/recipes/server.rb diff --git a/cookbooks/prometheus/recipes/server.rb b/cookbooks/prometheus/recipes/server.rb index 612b404cb..1a3fb7db0 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.5.0" database_cluster = "#{node[:timescaledb][:database_version]}/main" @@ -101,7 +101,7 @@ systemd_service "promscale" do description "Promscale Connector" type "simple" user "prometheus" - exec_start "/opt/promscale/bin/promscale --db-host /run/postgresql --db-port 5432 --db-user prometheus --db-name promscale --db-connections-max 400" + exec_start "/opt/promscale/bin/promscale --db-uri postgresql:///promscale?host=/run/postgresql&port=5432 --db-connections-max 400" # exec_start lazy { "/opt/promscale/bin/promscale --db-host /run/postgresql --db-port #{node[:postgresql][:clusters][database_cluster][:port]} --db-user prometheus --db-name promscale --db-max-connections 400" } limit_nofile 16384 private_tmp true @@ -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