Add all nodes with base role as node exporter targets

This commit is contained in:
2026-07-04 15:46:41 +02:00
parent ea69c7cec6
commit 153b1e77c5
2 changed files with 11 additions and 2 deletions
@@ -13,7 +13,7 @@ node.default["kosmos_prometheus"]["global"] = {
}
node.default["kosmos_prometheus"]["jobs"] = {
"prometheus" => { "targets" => ["localhost:9090"] }
"prometheus" => { "targets" => ["localhost:9090"] },
}
node.default["kosmos_prometheus"]["rule_files"] = []
@@ -62,6 +62,15 @@ file "/usr/local/bin/prometheus" do
notifies :restart, "service[prometheus]", :delayed
end
node_targets = search(:node, "role:base").map { |n| n["knife_zero"]["host"] }
.compact
.sort_by { |ip| ip.split(".").map(&:to_i) }
.map { |ip| "#{ip}:9100" }
jobs = node["kosmos_prometheus"]["jobs"].merge(
"node" => { "targets" => node_targets }
)
template "/etc/prometheus/prometheus.yml" do
source "prometheus.yml.erb"
owner "root"
@@ -69,7 +78,7 @@ template "/etc/prometheus/prometheus.yml" do
mode "0644"
variables(
global_config: node["kosmos_prometheus"]["global"],
jobs: node["kosmos_prometheus"]["jobs"],
jobs: jobs,
rule_files: node["kosmos_prometheus"]["rule_files"]
)
notifies :reload, "service[prometheus]", :delayed