Kurulum için öncelikle bir kullanıcı oluşturuyoruz.
useradd --no-create-home --shell /bin/false alertmanager
Hemen ardından sisteme gerekli olan paketi çekip ekleme işlemlerini tamamlayalım
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar -xvf alertmanager-0.21.0.linux-amd64.tar.gz
cp alertmanager-0.21.0.linux-amd64/alertmanager /usr/local/bin/
cp alertmanager-0.21.0.linux-amd64/amtool /usr/local/bin/
Sıra geldi gerekli izinleri tanımlamaya, açtığımız kullanıcıyı bu iş için kullanacağız.
chown alertmanager:alertmanager /usr/local/bin/alertmanager
chown alertmanager:alertmanager /usr/local/bin/amtool
Bu işlem tamamlandıktan sonra yapmamız gereken alermanagerin dizinlerini oluşturmak ve ilk kurulum yapılandırmasını tamamlamak bunun için aşağıdaki yapılandırmayı kullanabilirsiniz.
global:
smtp_smarthost: 'email-smtp.eu-central-1.amazonaws.com:465'
smtp_from: 'Monitoring System Alert <[email protected]>'
smtp_require_tls: false
smtp_hello: 'alertmanager'
smtp_auth_username: '<username>'
smtp_auth_password: '<password>'
route:
group_by: ['instance', 'alert']
group_wait: 30s
group_interval: 30m
repeat_interval: 10h
receiver: alert
receivers:
- name: 'alert'
email_configs:
- to: '[email protected]'
Oluşturduğumuz dosya ve dizinler için yetkileri düzenliyoruz.
chown alertmanager:alertmanager -R /etc/alertmanager
Servisini /etc/systemd/system/alertmanager.service
yoluna ekleyip aşağıdaki yapılandırmayı yapıyoruz.
[Unit]
Description=Alertmanager
Wants=network-online.target
After=network-online.target
[Service]
User=alertmanager
Group=alertmanager
Type=simple
WorkingDirectory=/etc/alertmanager/
ExecStart=/usr/local/bin/alertmanager --config.file=/etc/alertmanager/alertmanager.yml --web.external-url http://localhost:9093
[Install]
WantedBy=multi-user.target
Sistem dosyalarını yenileyip servisi çalıştırıyoruz.
systemctl daemon-reload # Daemon yenilenir
systemctl enable alertmanager # Sistemin her başlangıcında çalışması sağlanır
systemctl start alertmanager # Çalıştırılır
İşlem neredeyse tamamlandı, şimdi Prometheus ve alertmanagerin düzgünce çalışmasını sağlamak amacıyla yapılandırmasını tamamlıyoruz.
Alertmanager ayarlarını şu şekilde yapıyoruz, ayrıca alarmların alerts
içerisinde olduğunu belirtiyor ve aşağıdaki yapılandırmayı /etc/prometheus
içerisinde yer alan prometheus.yml
içerisine ekliyoruz.
# Global config
global:
scrape_interval: 10s
scrape_timeout: 10s
rule_files:
- 'alerts/*.yml'
alerting:
alertmanagers:
- static_configs:
- targets:
- 'localhost:9093'
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 15s
static_configs:
- targets: ['localhost:9090']
İşlemimiz böylelikle sonlanıyor. Oluşturduğunuz alarm kurallarına göre bildirimleri e-posta adresinize alabilirsiniz. İsterseniz Slack üzerindende bu alarmları alabilirsiniz.