Remove upstream prometheus cookbook, migrate to our own
This commit is contained in:
@@ -5,20 +5,89 @@
|
||||
|
||||
include_recipe "firewall"
|
||||
|
||||
prometheus_alertmanager_install "alertmanager" do
|
||||
version node["prometheus"]["alertmanager"]["version"]
|
||||
checksum node["prometheus"]["alertmanager"]["checksum"]
|
||||
version = node["kosmos_prometheus"]["alertmanager"]["version"]
|
||||
checksum = node["kosmos_prometheus"]["alertmanager"]["checksum"]
|
||||
tarball = "#{Chef::Config[:file_cache_path]}/alertmanager-#{version}.linux-amd64.tar.gz"
|
||||
binary_url = "https://github.com/prometheus/alertmanager/releases/download/v#{version}/alertmanager-#{version}.linux-amd64.tar.gz"
|
||||
|
||||
group "alertmanager"
|
||||
|
||||
user "alertmanager" do
|
||||
gid "alertmanager"
|
||||
system true
|
||||
shell "/bin/false"
|
||||
home "/nonexistent"
|
||||
end
|
||||
|
||||
prometheus_alertmanager_config "alertmanager"
|
||||
directory "/var/lib/alertmanager" do
|
||||
owner "alertmanager"
|
||||
group "alertmanager"
|
||||
mode "0755"
|
||||
recursive true
|
||||
end
|
||||
|
||||
execute "restart alertmanager config" do
|
||||
command "systemctl restart alertmanager.service"
|
||||
directory "/etc/prometheus" do
|
||||
owner "root"
|
||||
group "root"
|
||||
mode "0755"
|
||||
recursive true
|
||||
end
|
||||
|
||||
package %w(tar bzip2)
|
||||
|
||||
remote_file tarball do
|
||||
source binary_url
|
||||
checksum checksum
|
||||
action :create
|
||||
notifies :run, "execute[install_alertmanager]", :immediately
|
||||
end
|
||||
|
||||
execute "install_alertmanager" do
|
||||
command "tar -xzf #{tarball} -C /usr/local/bin --strip-components=1 alertmanager-#{version}.linux-amd64/alertmanager"
|
||||
action :nothing
|
||||
subscribes :run, "template[/opt/prometheus/alertmanager.yml]", :delayed
|
||||
notifies :restart, "service[alertmanager]", :delayed
|
||||
end
|
||||
|
||||
prometheus_alertmanager_service "alertmanager"
|
||||
file "/usr/local/bin/alertmanager" do
|
||||
owner "root"
|
||||
group "root"
|
||||
mode "0755"
|
||||
notifies :restart, "service[alertmanager]", :delayed
|
||||
end
|
||||
|
||||
template "/etc/prometheus/alertmanager.yml" do
|
||||
source "alertmanager.yml.erb"
|
||||
owner "root"
|
||||
group "alertmanager"
|
||||
mode "0644"
|
||||
notifies :restart, "service[alertmanager]", :delayed
|
||||
end
|
||||
|
||||
systemd_unit "alertmanager.service" do
|
||||
content({
|
||||
Unit: {
|
||||
Description: "Prometheus Alertmanager",
|
||||
After: "network.target",
|
||||
},
|
||||
Service: {
|
||||
Type: "simple",
|
||||
User: "alertmanager",
|
||||
Group: "alertmanager",
|
||||
ExecStart: "/usr/local/bin/alertmanager --config.file=/etc/prometheus/alertmanager.yml --storage.path=/var/lib/alertmanager --web.listen-address=:9093",
|
||||
Restart: "on-failure",
|
||||
RestartSec: "5",
|
||||
},
|
||||
Install: {
|
||||
WantedBy: "multi-user.target",
|
||||
},
|
||||
})
|
||||
triggers_reload true
|
||||
action :create
|
||||
end
|
||||
|
||||
service "alertmanager" do
|
||||
action [:enable, :start]
|
||||
end
|
||||
|
||||
firewall_rule "prometheus alertmanager" do
|
||||
port 9093
|
||||
|
||||
Reference in New Issue
Block a user