45 lines
1.2 KiB
Bash
Executable File
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
|