Alertmanager
- Docker & Kubernetes kursu
- İleri seviye
- Ders 53/70
- 4 dk
Alertmanager ile uyarı yönetmeyi öğrenirsin.
Alertmanager
Prometheus uyarı kurallarını değerlendirir; koşul belirli bir süre (for) boyunca tutarsa uyarıyı Alertmanager'a gönderir. Alertmanager uyarıları gruplar, tekrarları bastırır ve doğru kanala (e-posta, Slack, PagerDuty) yönlendirir. Operator'da kurallar PrometheusRule nesnesiyle yazılır:
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: api-uyarilari
namespace: izleme
labels: {release: izleme}
spec:
groups:
- name: api
rules:
- alert: YuksekHataOrani
expr: sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) > 0.05
for: 10m
labels:
severity: critical
annotations:
summary: "API hata oranı %5'in üstünde"İyi uyarılar
Uyarı yorgunluğu, gereksiz uyarıların önemli olanları gölgelemesidir. İyi uyarılar belirtiye (kullanıcının yaşadığı hata oranı, gecikme) dayanır, nedene (CPU %80) değil; ve her uyarının ne yapılacağını anlatan bir bağlantısı (runbook) olur:
annotations:
summary: "API hata oranı %5'in üstünde"
runbook_url: https://wiki.sirket.com/runbook/api-hata
kubectl get prometheusrules -n izlemeUygulama Uyarı kuralı
Bir PrometheusRule'un spec bölümünü yaz (spec: ile başlayarak): groups altında adı api olan grup; tek kural: alert: PodYenidenBasliyor, expr: increase(kube_pod_container_status_restarts_total[15m]) > 3, for: 5m, labels.severity: warning.
Başlangıç kodu
# buraya yazÖrnek çözüm
spec:
groups:
- name: api
rules:
- alert: PodYenidenBasliyor
expr: increase(kube_pod_container_status_restarts_total[15m]) > 3
for: 5m
labels:
severity: warningBeklenen çıktı
prometheusrule.monitoring.coreos.com/api-uyarilari configured
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 for: 10m alanı ne işe yarar?
- Uyarı 10 dakika sonra silinir
- Sorgu 10 dakikalık veriye bakar
- Koşul 10 dakika kesintisiz tutarsa uyarı tetiklenir; kısa sıçramalar yok sayılır Doğru cevap
- Uyarı her 10 dakikada gönderilir
Açıklama: O süre boyunca uyarı Pending durumunda bekler.
2 Koşulun ne kadar sürmesi gerektiğini yaz.
- alert: YuksekHataOrani
expr: hata_orani > 0.05
____: 10m
- alert: YuksekHataOrani
expr: hata_orani > 0.05
for: 10m
Açıklama: for koşulun kesintisiz süresidir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
PrometheusRule |
Uyarı kuralları |
Alertmanager |
Gruplar ve yönlendirir |
severity |
Önem etiketi |
runbook_url |
Ne yapılacağı |