Pazar, Aralık 22, 2024

Prometheus Üzerine Alertmanager Kurulumu ve Yapılandırması

prometheus logo, prometheus ile monitoring işlemleri, prometheus full hd logo, yüksek çözünürlüklü prometheus logosu

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.