Alertmanager Install Script

A quick summary of Alertmanager Install Script

Simple Alertmanager install script

This is simple install script with Slack and e-mail authentication

#!/bin/bash

#Install Alertmanager

sudo adduser --no-create-home --disabled-login --shell /bin/false --gecos "Alertmanager User" alertmanager

sudo mkdir /etc/alertmanager
sudo mkdir /etc/alertmanager/template
sudo mkdir -p /var/lib/alertmanager/data
sudo touch /etc/alertmanager/alertmanager.yml

sudo chown -R alertmanager:alertmanager /etc/alertmanager
sudo chown -R alertmanager:alertmanager /var/lib/alertmanager

wget https://github.com/prometheus/alertmanager/releases/download/v0.16.1/alertmanager-0.16.1.linux-amd64.tar.gz

tar xvzf alertmanager-0.16.1.linux-amd64.tar.gz

sudo cp alertmanager-0.16.1.linux-amd64/alertmanager /usr/local/bin/
sudo cp alertmanager-0.16.1.linux-amd64/amtool /usr/local/bin/

sudo chown alertmanager:alertmanager /usr/local/bin/alertmanager
sudo chown alertmanager:alertmanager /usr/local/bin/amtool

sudo cat <<EOF> alertmanager.yml

global:
  slack_api_url: https://hooks.slack.com/services/*APP_KEY*

  smtp_smarthost: smtp.yandex.ru:465
  smtp_from: 'imagda@shakuro.com'
  smtp_auth_username: 'imagda@shakuro.com'
  smtp_auth_password: 'e-mail password'


route:
  group_by: ['alertname']
  repeat_interval: 24h
  group_wait: 5m
  group_interval: 5m
  # default - send 'info' to Slack only
  receiver: 'default'

receivers:
- name: 'default'
  slack_configs:
    - send_resolved: true
      title: ":scream: {{ .CommonAnnotations.summary }}"
      text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"

  email_configs:
  - send_resolved: true
    to: 'imagda@shakuro.com'
    smarthost: 'smtp.yandex.ru:465'
    from: 'imagda@shakuro.com'
    auth_username: 'imagda@shakuro.com'
    auth_identity: 'imagda@shakuro.com'
    auth_password: 'e-mail password'
    require_tls: false

EOF

sudo mv alertmanager.yml /etc/alertmanager/

sudo cat <<EOF> alertmanager.service

[Unit]
Description=Prometheus Alertmanager Service
Wants=network-online.target
After=network.target

[Service]
User=alertmanager
Group=alertmanager
Type=simple
ExecStart=/usr/local/bin/alertmanager \
    --config.file /etc/alertmanager/alertmanager.yml \
    --storage.path /var/lib/alertmanager/data
Restart=always

[Install]
WantedBy=multi-user.target

EOF

sudo mv alertmanager.service /etc/systemd/system/

sudo systemctl daemon-reload
sudo systemctl enable alertmanager
sudo systemctl start alertmanager

rm alertmanager-0.16.1.linux-amd64.tar.gz
rm -rf alertmanager-0.16.1.linux-amd64