Ana içeriğe geç

3. İlk alarmınızı kurun

15 dakika. Sonunda uygulamalarınızdan biri arızalandığında ateşlenen Grafana-tabanlı bir alarm kuralınız olacak ve aktif alarmları nerede göreceğinizi bileceksiniz.

Önkoşullar​

  • Seçili organizasyon
  • En az bir edge instance + en az bir uygulama çalışıyor (Eğitim 2 her ikisini kapsar)
  • Organizasyonda alarms:create izni

Adım 1 — Alarms sayfasını açın​

Sidebar → Alarms.

Bu organizasyon için tanımlanmış kuralların listesine gelirsiniz. Yeni kurulumda boş olur.

Sayfada iki sekme var:

  • Rules — siz (ve organizasyondaki diğerleri) tarafından yönetilen alarm tanımları
  • Firing — şu an alarm tetikleyen kuralların kısa görünümü; standalone /alarms/firing sayfasıyla aynı bilgi

Adım 2 — "Add alarm"a tıklayın​

Rules sekmesinin sağ üstünde. Drawer üç bölümle açılır.

a. Kimlik​

  • Name — kısa, açıklayıcı. Örn: myapp pod restart loop
  • Description — anlamı ve ne yapılması gerektiği. Sabah 3'te on-call mühendisi size teşekkür edecek.
  • Severity — low / medium / high / critical. Firing listesinde rozet olarak görünür.

b. Sorgu​

Burası kuralın değerlendirdiği PromQL'dir. İki şeyi bilin:

  1. Tenant-scope etiketlerini kendiniz eklemeyin. Backend sorguyu Grafana'ya göndermeden önce her VectorSelector'a telemetry_id=~"<organizasyonunuzun-edge'leri>" enjekte eder. Sadece metriği ve eşik mantığını yazın.
  2. Sadece edge'lerinizin Prometheus stack'lerinin scrape ettiği metrikler kullanılabilir. kube-prometheus-stack (KPS) varsayılanları her standart edge'de mevcuttur — node/pod/container metrikleri, kube-state metrics, kubelet, cAdvisor. Uygulamanız kendi metriklerini sunuyorsa scrape edildiğinden emin olun.

Kutudan çıkar çıkmaz çalışan örnekler:

# Pod son 15 dakikada 3'ten fazla restart attı
increase(kube_pod_container_status_restarts_total[15m]) > 3

# Node CPU 5 dakikadır %90'ın üstünde
1 - avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) > 0.9

# Herhangi bir pod CrashLoopBackOff'ta
kube_pod_container_status_waiting_reason{reason="CrashLoopBackOff"} > 0

Sayfada bir Test query butonu var — kuralı kaydetmeden PromQL'i çalıştırıp ne dönüyor görün. Hiçbir zaman eşleşmeyecek bir alarmı kaydetmekten kurtarır.

c. Eşik + cadence​

  • Operator + value — > < >= <= == != ve sayısal bir eşik
  • For — koşul, alarm ateşlemeden önce ne kadar süre doğru kalmalı. Bunu flapping'i bastırmak için kullanın ("for 5m" → kısa bir kıpırtı kimseyi rahatsız etmez).

Değerlendirme aralığını siz seçmezsiniz — organizasyondaki her kural platformun varsayılan cadence'inde çalışır (60s). DT Edge Platform'dan dakika-altı çözünürlük çıkarmaya çalışmak desteklenmez.

Adım 3 — Kaydedin ve izleyin​

Save'e tıklayın. Toast onay görürsünüz; kural Rules sekmesinde belirir.

Arka planda DT Edge Platform:

  1. PromQL'inizi tenant-scope matcher'la sarar
  2. Reduce(last) → threshold pipeline'lı bir Grafana rule oluşturur
  3. dtedge_managed=true + dtedge_org_id=<organizasyonunuz> etiketlerini damgalar (bir sonraki listeleme onları bulur)
  4. Grafana'nın dtedge folder + group'una kaydeder

Adım 4 — Tetikleyin (opsiyonel ama tatmin edici)​

Alarmladığınız koşula sebep olun — restart-loop örneği kullandıysanız bir podu birkaç defa restart edin, CPU alarmı yazdıysanız stress-ng kullanın.

<for> artı bir eval interval bekleyin (varsayılan 60s + sizin "for" pencereniz). Sonra:

  • Sidebar → Alarms → Firing tab
  • Kuralınızı kırmızı 🔥 rozetiyle görmelisiniz

Hiçbir şey ateşlenmiyorsa kontrol edilecek üç şey:

  1. Edit drawer'ında Test query — PromQL şu an ne diyor? Boşsa metrik toplanmıyor ya da label filtrenizi çok dar.
  2. Süre + eşik — for: 5m literal 5 dakika; koşulu o kadar doğru tutmanız gerekir.
  3. Tenant scoping — test koşunuz bu organizasyona ait olmayan bir edge'deyse matcher onu filtreler. Edge Instances altında edge'in aktif organizasyona ait olduğunu kontrol edin.

Adım 5 — Sustur / silence (gerektiğinde)​

Bilinen bir sorun üzerinde çalışırken uyarı istemiyorsanız iki seçeneğiniz var:

  • Kuralı devre dışı bırakın — satırın aksiyon menüsünden toggle. Değerlendirmeyi tamamen durdurur.
  • Grafana'da silence — zaman bağlı sustur için (örn: "önümüzdeki 2 saat migration sırasında konuşma"). Kurala tıklayın → "Open in Grafana" — silence Grafana özelliğidir, DT Edge Platform'un değil.

Sırada ne var?​