2 Commits

4 changed files with 13 additions and 4 deletions
+1
View File
@@ -2,4 +2,5 @@ name "base"
run_list %w( run_list %w(
kosmos-base::default kosmos-base::default
kosmos_prometheus::node_exporter
) )
+1 -2
View File
@@ -2,8 +2,7 @@ name "prometheus_server"
default_run_list = [ default_run_list = [
"kosmos_prometheus::server", "kosmos_prometheus::server",
"kosmos_prometheus::alertmanager", "kosmos_prometheus::alertmanager"
"kosmos_prometheus::node_exporter"
] ]
env_run_lists( env_run_lists(
@@ -13,7 +13,7 @@ node.default["kosmos_prometheus"]["global"] = {
} }
node.default["kosmos_prometheus"]["jobs"] = { node.default["kosmos_prometheus"]["jobs"] = {
"prometheus" => { "targets" => ["localhost:9090"] } "prometheus" => { "targets" => ["localhost:9090"] },
} }
node.default["kosmos_prometheus"]["rule_files"] = [] node.default["kosmos_prometheus"]["rule_files"] = []
@@ -62,6 +62,15 @@ file "/usr/local/bin/prometheus" do
notifies :restart, "service[prometheus]", :delayed notifies :restart, "service[prometheus]", :delayed
end 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 template "/etc/prometheus/prometheus.yml" do
source "prometheus.yml.erb" source "prometheus.yml.erb"
owner "root" owner "root"
@@ -69,7 +78,7 @@ template "/etc/prometheus/prometheus.yml" do
mode "0644" mode "0644"
variables( variables(
global_config: node["kosmos_prometheus"]["global"], global_config: node["kosmos_prometheus"]["global"],
jobs: node["kosmos_prometheus"]["jobs"], jobs: jobs,
rule_files: node["kosmos_prometheus"]["rule_files"] rule_files: node["kosmos_prometheus"]["rule_files"]
) )
notifies :reload, "service[prometheus]", :delayed notifies :reload, "service[prometheus]", :delayed