scripts/alertmanager-install.sh
2025-08-03 10:20:13 +02:00

45 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e
VERSION=$(curl -s https://api.github.com/repos/prometheus/alertmanager/releases | python3 -c 'import json,sys;print(json.load(sys.stdin)[0]["tag_name"])' | sed 's/v//')
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed 's/x86_/amd/')
trap "rm -rf alertmanager*" EXIT
pushd /tmp
filename="alertmanager-${VERSION}.${OS}-${ARCH}.tar.gz"
echo "Downloading version ${filename}"
wget https://github.com/prometheus/alertmanager/releases/download/v${VERSION}/$filename
tar xvfz $filename
cd alertmanager-*/
chmod +x ./alertmanager
mv ./alertmanager /usr/sbin/
mkdir -p /etc/alertmanager
cp alertmanager.yml /etc/alertmanager/
cat <<EOF >/etc/systemd/system/alertmanager.service
[Unit]
Description=Alertmanager
Wants=network-online.target
After=network-online.target
[Service]
User=alertmanager
Group=alertmanager
Type=simple
WorkingDirectory=/etc/alertmanager/
ExecStart=/usr/sbin/alertmanager --config.file=/etc/alertmanager/alertmanager.yml --web.external-url http://0.0.0.0:9093
[Install]
WantedBy=multi-user.target
EOF
useradd -r alertmanager
chown -R alertmanager:alertmanager /etc/alertmanager
systemctl enable alertmanager.service
systemctl start alertmanager.service
popd