Skip to content
Oncallz

Prometheus Alertmanager entegrasyonu

Prometheus Alertmanager ile nöbetçi mühendisinizi çağırın

Oncallz'u bir Alertmanager webhook receiver'ı olarak ekleyin; tetiklenen uyarı grupları o an nöbetçi olan kişiyi çağırsın. Alertmanager'ın özel webhook payload'u ile gerçek bir başlık ve önem derecesi, uyarı grubu başına tek olay ve grup düzeldiğinde otomatik çözüm elde edersiniz.

Alertmanager → Oncallz kurulumu birkaç dakikada

  1. 1 Oncallz'da Entegrasyonlar sayfasını açın, takımı seçin, entegrasyona "Alertmanager" adını verin ve Oluştur'a tıklayın. Aşağıdaki payload kendi dedup_key'ini gönderdiği için Yinelenen olaylar ayarı fark etmez.
  2. 2 Yeni entegrasyonun Gelen URL'sini kopyalayın.
  3. 3 alertmanager.yml dosyasına aşağıdaki gibi webhook_configs içeren bir receiver ekleyin. payload seçeneği Alertmanager 0.32.0 veya daha yenisini gerektirir (Nisan 2026'da yayımlandı).
  4. 4 Çağrı yapması gereken uyarıları bu receiver'a yönlendirin; örneğin severity veya team üzerinde bir matcher ile.
  5. 5 Alertmanager'ı yeniden yükleyin ve olayı Oncallz'da kontrol etmek için örneğin amtool ile bir test uyarısı gönderin.

alertmanager.yml

receivers:
  - name: oncallz
    webhook_configs:
      - url: https://oncallz.com/api/ingest/YOUR_ROUTING_KEY
        send_resolved: true
        payload:
          summary: '{{ .CommonLabels.alertname }}: {{ .CommonAnnotations.summary }}'
          description: '{{ .CommonAnnotations.description }}'
          severity: '{{ .CommonLabels.severity }}'
          source: '{{ .CommonLabels.instance }}'
          status: '{{ .Status }}'
          dedup_key: '{{ .Receiver }}/{{ .GroupLabels.SortedPairs.Values | join "/" }}'

Alertmanager, payload seçeneğini ileri düzey ve kendi ekibince desteklenmeyen bir özellik olarak belgeler. dedup_key grup etiketlerinden üretildiği için bir uyarı grubunun firing ve resolved bildirimlerinde aynıdır.

Önem derecesi nasıl belirlenir?

severity etiketinizden. critical, error, warning ve info doğrudan eşleşir; high, medium, low ve benzeri karşılıklar çevrilir; başka herhangi bir değer ya da eksik etiket critical olur.

Etiketin .CommonLabels içinde görünmesi için grubun tamamında ortak olması gerekir; bu yüzden severity'ye göre gruplamak (veya her önem derecesini kendi receiver'ına yönlendirmek) en doğru sonucu verir.

Yinelenen uyarılar nasıl gruplanır?

Bir Alertmanager grubu, bir Oncallz olayıdır. Tekrar bildirimleri ve tetiklenen uyarı kümesinin değiştiği bildirimler aynı dedup_key'i taşır; açık olayın zaman çizelgesine eklenir ve tekrar sayısını artırır, yeniden çağrı yapılmaz.

Kendiliğinden çözülür mü?

Evet. send_resolved açıkken (webhook'larda varsayılan budur) Alertmanager, gruptaki her uyarı düzeldiğinde "status": "resolved" gönderir. Oncallz bunu çözme olarak okur ve aynı dedup_key'e sahip olayı kapatır. Gruptaki herhangi bir uyarı hâlâ tetikleniyorsa durum "firing" kalır ve olay açık kalır.

Eski Alertmanager sürümlerinde ne olur?

0.32.0 öncesinde Alertmanager, Oncallz'un iyi eşleyemediği sabit bir gövde gönderir. Üst düzeyde başlık veya önem derecesi yoktur.

Bu yüzden her olayın başlığı "Incident" olur ve critical olarak çağrılır. "status": "resolved" mesajı anlaşılır, ama bir olayı ancak entegrasyon başlığa göre grupluyorsa bulabilir; bu durumda da bütün uyarılar tek bir "Incident" olayını paylaşır.

Sürüm yükseltemiyorsanız her receiver'a sorgu dizesinde sabit alanlar içeren kendi URL'sini verin, örneğin ?summary=Database%20alerts&severity=warning, ve entegrasyonu "Başlığa göre grupla" olarak ayarlayın. Böylece receiver başına, bir grup düzeldiğinde çözülen tek bir olay elde edersiniz.

Tüm etiket ve açıklamalarıyla Alertmanager gövdesinin tamamı yine olayda saklanır.

Sıkça sorulan sorular

Oncallz'un yerel bir Prometheus entegrasyonu var mı?

Oncallz, Prometheus uyarılarını Alertmanager'ın webhook receiver'ı üzerinden alır; Prometheus'a özel bir ayrıştırıcı yoktur. Alertmanager 0.32.0 veya daha yenisinde payload seçeneğiyle summary, severity, status ve dedup_key gönderirsiniz; Oncallz bunları doğrudan okur.

Sonuç: doğru başlık ve önem derecesi, uyarı grubu başına tek olay ve otomatik çözüm.

Düzelen uyarılar Oncallz olayını kapatır mı?

Evet. Alertmanager bir gruptaki tüm uyarılar düzeldiğinde "resolved" durumu gönderir ve Oncallz eşleşen dedup_key'e sahip olayı çözer. send_resolved'ı açık tutun; webhook receiver'larında varsayılan budur.

Gruptaki uyarıların yalnızca bir kısmı düzelirse grup hâlâ tetikleniyor sayılır ve sonuncusu düzelene kadar olay açık kalır.

Önem derecesini hangi etiket belirler?

Payload'daki severity alanına ne yazarsanız o; örnekte severity etiketi kullanılıyor. Oncallz critical, error, warning ve info'yu, ayrıca high, medium, low, warn ve fatal gibi karşılıkları anlar. Bilinmeyen değerler, hiçbir şey eksik çağrılmasın diye critical sayılır.

Her önem derecesi ardından push, SMS, telefon araması ve e-posta için kanal ayarlarınızı izler.

Farklı Prometheus uyarıları farklı takımları çağırabilir mi?

Evet. Her Oncallz entegrasyonu tek bir takıma aittir ve kendi URL'si vardır. Her takım için bir entegrasyon oluşturun, her URL için bir Alertmanager receiver'ı ekleyin ve yönlendirme ağacınızla her takımın uyarılarını kendi receiver'ına gönderin.

Yalnızca production'ın insanları uyandırması gerekiyorsa aynı yöntemle production'ı staging'den de ayırabilirsiniz.

İlgili sayfalar

Çağrı geldiğinde hazır olun.

Çalışma alanınızı dakikalar içinde oluşturun. Kredi kartı olmadan ücretsiz başlayın — hazır olduğunuzda kullanıcı başına ayda 4 dolar.

Ücretsiz başla