postgresql_user "prometheus" do
cluster database_cluster
- createrole true
+ superuser true
end
postgresql_database "promscale" do
owner "prometheus"
end
-postgresql_extension "timescaledb" do
- cluster database_cluster
- database "promscale"
-end
-
directory "/opt/promscale" do
owner "root"
group "root"
subscribes :restart, "systemd_service[promscale]"
end
-postgresql_extension "promscale" do
- cluster database_cluster
- database "promscale"
- notifies :restart, "service[promscale]"
-end
-
systemd_service "promscale-maintenance" do
description "Promscale Maintenace"
type "simple"
end
jobs = {}
+snmp_targets = []
search(:node, "recipes:prometheus\\:\\:default").sort_by(&:name).each do |client|
if client[:prometheus][:mode] == "wireguard"
: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"]
+ }
+ end
end
certificates = search(:node, "letsencrypt:certificates").each_with_object({}) do |n, c|
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