From b71ac1f7665947274b96382fa8f2c9f0a3af67d2 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Wed, 17 Nov 2021 19:22:27 +0000 Subject: [PATCH] Switch to using upstream builds for prometheus and alertmanager --- cookbooks/prometheus/recipes/server.rb | 69 +++++++++++++++---- .../default/default.alertmanager.erb | 3 - .../templates/default/default.prometheus.erb | 3 - 3 files changed, 57 insertions(+), 18 deletions(-) delete mode 100644 cookbooks/prometheus/templates/default/default.alertmanager.erb delete mode 100644 cookbooks/prometheus/templates/default/default.prometheus.erb diff --git a/cookbooks/prometheus/recipes/server.rb b/cookbooks/prometheus/recipes/server.rb index f9aab32b3..9c215778e 100644 --- a/cookbooks/prometheus/recipes/server.rb +++ b/cookbooks/prometheus/recipes/server.rb @@ -32,6 +32,53 @@ prometheus_exporter "fastly" do environment "FASTLY_API_TOKEN" => tokens["fastly"] end +cache_dir = Chef::Config[:file_cache_path] + +prometheus_version = "2.31.1" +alertmanager_version = "0.23.0" + +directory "/opt/prometheus-server" do + owner "root" + group "root" + mode "755" +end + +remote_file "#{cache_dir}/prometheus.linux-amd64.tar.gz" do + source "https://github.com/prometheus/prometheus/releases/download/v#{prometheus_version}/prometheus-#{prometheus_version}.linux-amd64.tar.gz" + owner "root" + group "root" + mode "644" + backup false +end + +archive_file "#{cache_dir}/prometheus.linux-amd64.tar.gz" do + action :nothing + destination "/opt/prometheus-server/prometheus" + overwrite true + strip_components 1 + owner "root" + group "root" + subscribes :extract, "remote_file[#{cache_dir}/prometheus.linux-amd64.tar.gz]" +end + +remote_file "#{cache_dir}/alertmanager.linux-amd64.tar.gz" do + source "https://github.com/prometheus/alertmanager/releases/download/v#{alertmanager_version}/alertmanager-#{alertmanager_version}.linux-amd64.tar.gz" + owner "root" + group "root" + mode "644" + backup false +end + +archive_file "#{cache_dir}/alertmanager.linux-amd64.tar.gz" do + action :nothing + destination "/opt/prometheus-server/alertmanager" + overwrite true + strip_components 1 + owner "root" + group "root" + subscribes :extract, "remote_file[#{cache_dir}/alertmanager.linux-amd64.tar.gz]" +end + package %w[ prometheus prometheus-alertmanager @@ -209,11 +256,11 @@ prometheus_exporter "ssl" do register_target false end -template "/etc/default/prometheus" do - source "default.prometheus.erb" - owner "root" - group "root" - mode "644" +systemd_service "prometheus-executable" do + service "prometheus" + dropin "executable" + exec_start "/opt/prometheus-server/prometheus/prometheus --config.file=/etc/prometheus/prometheus.yml --web.external-url=https://prometheus.openstreetmap.org/prometheus --storage.tsdb.path=/var/lib/prometheus/metrics2" + notifies :restart, "service[prometheus]" end template "/etc/prometheus/prometheus.yml" do @@ -233,16 +280,15 @@ end service "prometheus" do action [:enable, :start] - subscribes :restart, "template[/etc/default/prometheus]" subscribes :reload, "template[/etc/prometheus/prometheus.yml]" subscribes :reload, "template[/etc/prometheus/alert_rules.yml]" end -template "/etc/default/prometheus-alertmanager" do - source "default.alertmanager.erb" - owner "root" - group "root" - mode "644" +systemd_service "prometheus-alertmanager-executable" do + service "prometheus-alertmanager" + dropin "executable" + exec_start "/opt/prometheus-server/alertmanager/alertmanager --config.file=/etc/prometheus/alertmanager.yml --storage.path=/var/lib/prometheus/alertmanager --web.external-url=https://prometheus.openstreetmap.org/alertmanager" + notifies :restart, "service[prometheus-alertmanager]" end template "/etc/prometheus/alertmanager.yml" do @@ -254,7 +300,6 @@ end service "prometheus-alertmanager" do action [:enable, :start] - subscribes :restart, "template[/etc/default/prometheus-alertmanager]" subscribes :reload, "template[/etc/prometheus/alertmanager.yml]" end diff --git a/cookbooks/prometheus/templates/default/default.alertmanager.erb b/cookbooks/prometheus/templates/default/default.alertmanager.erb deleted file mode 100644 index 42d6e3a3d..000000000 --- a/cookbooks/prometheus/templates/default/default.alertmanager.erb +++ /dev/null @@ -1,3 +0,0 @@ -# DO NOT EDIT - This file is being maintained by Chef - -ARGS="--web.external-url=https://prometheus.openstreetmap.org/alertmanager" diff --git a/cookbooks/prometheus/templates/default/default.prometheus.erb b/cookbooks/prometheus/templates/default/default.prometheus.erb deleted file mode 100644 index 451faa78c..000000000 --- a/cookbooks/prometheus/templates/default/default.prometheus.erb +++ /dev/null @@ -1,3 +0,0 @@ -# DO NOT EDIT - This file is being maintained by Chef - -ARGS="--web.external-url=https://prometheus.openstreetmap.org/prometheus" -- 2.39.5