Installazione Alertmanager

Cosa tratterà  questo articolo

Installlazione Minimale di Alertmanager ( configurazione di default )

Configurazione Unit Systemd

Messa in sicureza tramite nginx e reverse proxy

Prerequisiti

Centos minimal + http://agreco.it/it/post/installazione-di-prometheus/

DNS o /etc/hosts con un record che punta al server prometheus

Donwload dei file binari

cd /tmp
wget https://github.com/prometheus/alertmanager/releases/download/v0.5.1/alertmanager-0.5.1.linux-amd64.tar.gz

Installazione

estraiamo i file appena scaricati

tar -zxvf alertmanager-0.5.1.linux-amd64.tar.gz

Spostiamo tutto in opt

#estraiamo il file
tar -zxvf alertmanager-0.5.1.linux-amd64.tar.gz
mkdir /opt/prometheus/alertmanager
mv alertmanager-0.5.1.linux-amd64/* /opt/prometheus/alertmanager

Modifichiamo i permessi

chown -R prometheus:prometheus /opt/prometheus/alertmanager

Configuriamo Systemd

Creiamo il file di configurazione

vim /etc/systemd/system/alertmanager.service
[Unit]
Description=Prometheus AlertManager
After=network.target
After=prometheus.service
[Service]

WorkingDirectory=/opt/prometheus/alertmanager/
ExecStart=/opt/prometheus/alertmanager/alertmanager \
        -config.file=/opt/prometheus/alertmanager/simple.yml \
        -storage.path=/opt/prometheus/alertmanager/storage \
        -web.external-url=http://alert.greco.cf/alert-manager/
User=prometheus
Restart=always

[Install]
WantedBy=default.target

Avviamo la unit di systemd

systemctl daemon-reload
systemctl restart alertmanager.service && systemctl status alertmanager.service
systemctl enable alertmanager.service

Creaiamo il file di configurazione per nginx

vim /etc/nginx/conf.d/alertmanager.conf
server {
    listen 80;

    server_name alert.greco.cf;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

location / {
        proxy_pass http://127.0.0.1:9093/alert-manager/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Controlliamo di la sintassi e riavviamo il servizio

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl restart nginx

Aggiungiamo una line al file /etc/hosts
Vostro-IP-Prometheus-Server alert.greco.cf

Nel mio caso sara

185.48.34.126 alert.greco.cf

Adesso troveremo il servizio a alert.greco.cf