diff --git a/site-cookbooks/kosmos_prometheus/attributes/default.rb b/site-cookbooks/kosmos_prometheus/attributes/default.rb index a90a7c9..3189a86 100644 --- a/site-cookbooks/kosmos_prometheus/attributes/default.rb +++ b/site-cookbooks/kosmos_prometheus/attributes/default.rb @@ -12,6 +12,14 @@ node.default["kosmos_prometheus"]["global"] = { "evaluation_interval" => "30s", } +node.default["kosmos_prometheus"]["alerting"] = { + "alertmanagers" => [ + "static_configs" => [ + { "targets" => ["127.0.0.1:9093"] } + ] + ] +} + node.default["kosmos_prometheus"]["jobs"] = { "prometheus" => { "targets" => [{ "target" => "localhost:9090", "instance" => "localhost" }] }, } diff --git a/site-cookbooks/kosmos_prometheus/recipes/server.rb b/site-cookbooks/kosmos_prometheus/recipes/server.rb index 3e214d3..a7b2bb1 100644 --- a/site-cookbooks/kosmos_prometheus/recipes/server.rb +++ b/site-cookbooks/kosmos_prometheus/recipes/server.rb @@ -92,6 +92,7 @@ template "/etc/prometheus/prometheus.yml" do mode "0644" variables( global_config: node["kosmos_prometheus"]["global"], + alerting: node["kosmos_prometheus"]["alerting"], jobs: jobs, rule_files: node["kosmos_prometheus"]["rule_files"] ) diff --git a/site-cookbooks/kosmos_prometheus/templates/default/prometheus.yml.erb b/site-cookbooks/kosmos_prometheus/templates/default/prometheus.yml.erb index 3a79fe9..9cc3ea4 100644 --- a/site-cookbooks/kosmos_prometheus/templates/default/prometheus.yml.erb +++ b/site-cookbooks/kosmos_prometheus/templates/default/prometheus.yml.erb @@ -3,6 +3,20 @@ global: <%= k %>: "<%= v %>" <% end %> +<% if @alerting %> +alerting: + alertmanagers: +<% @alerting['alertmanagers'].each do |am| %> + - static_configs: +<% am['static_configs'].each do |sc| %> + - targets: +<% sc['targets'].each do |target| %> + - <%= target %> +<% end %> +<% end %> +<% end %> +<% end %> + scrape_configs: <% @jobs.each do |name, job| %> - job_name: "<%= name %>"