Add all nodes with base role as node exporter targets
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user