X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/926b50ddad5d1701e0b22690588e632585d60ad8..7dc13a92efee477766a07b5f0ec7be166e597920:/cookbooks/postgresql/recipes/default.rb diff --git a/cookbooks/postgresql/recipes/default.rb b/cookbooks/postgresql/recipes/default.rb index 7b5269b07..ed58edb71 100644 --- a/cookbooks/postgresql/recipes/default.rb +++ b/cookbooks/postgresql/recipes/default.rb @@ -116,11 +116,19 @@ package "pgtop" package "libdbd-pg-perl" clusters = node[:postgresql][:clusters] || [] +passwords = data_bag_item("postgresql", "passwords") clusters.each do |name, details| prometheus_suffix = name.tr("/", "-") prometheus_database = node[:postgresql][:monitor_database] + postgresql_user "prometheus" do + cluster name + password passwords["prometheus"] + roles "pg_monitor" + not_if { ::File.exist?("/var/lib/postgresql/#{name}/standby.signal") } + end + prometheus_exporter "postgres" do port 10000 + details[:port].to_i service "postgres-#{prometheus_suffix}" @@ -128,7 +136,14 @@ clusters.each do |name, details| scrape_interval "1m" scrape_timeout "1m" user "postgres" - options "--collector.process_idle" + options %w[ + --collector.database_wraparound + --collector.long_running_transactions + --collector.process_idle + --collector.stat_activity_autovacuum + --collector.stat_wal_receiver + --collector.statio_user_indexes + ] environment "DATA_SOURCE_NAME" => "postgres:///#{prometheus_database}?host=/run/postgresql&port=#{details[:port]}" restrict_address_families "AF_UNIX" remove_ipc false