Dokümantasyon 09 / 19
Entegrasyonlar (dış kaynaklardan uyarı)
Özellik sayfası: Nöbet ve olay yönetimi Entegrasyonlar
Diğer izleme araçlarınızın uyarılarını da tek yerden yönetebilirsiniz: Grafana, Prometheus Alertmanager, Datadog, AWS CloudWatch, kendi betikleriniz veya e-posta ile gelen uyarılar, seçtiğiniz uyarı politikasıyla nöbetçiye ulaşır; üstlenme, eskalasyon ve zaman çizelgesi monitör uyarılarıyla aynıdır. Kaynak “çözüldü” dediğinde uyarı kendiliğinden kapanır.
Nasıl çalışır?
- Olay müdahalesi → Entegrasyonlar → Entegrasyon ekle ile kaynak türünü, bir adı ve uyarı politikasını seçin.
- Size özel gizli bir adres oluşturulur (e-posta türünde
alert+…@isletme.net.tradresi). Adresi kaynak sisteme girin. - Kaynak her uyarı gönderdiğinde:
- aynı tekil kimlikle açık bir uyarı yoksa yeni uyarı açılır ve politikanın ilk adımı hemen çalışır,
- açık uyarı varsa (ör. Alertmanager'ın tekrar bildirimi) uyarı güncellenir, yeniden sayfa atılmaz,
- “çözüldü” gelirse uyarı çözülür ve sayfa almış kişilere “çözüldü” bildirimi gider,
- açık uyarı yokken gelen “çözüldü” yok sayılır.
- Gelen yük (parola, token gibi alanlar gizlenerek ve kısaltılarak) uyarının zaman çizelgesinde ve entegrasyonun Son olaylar listesinde görünür.
Politika seçmezseniz uyarılar yalnızca Uyarılar sayfasında görünür, kimseye bildirim gitmez. Dış kaynaklı uyarılar monitör uyarılarıyla birleştirilmez.
Grafana
- Alerting → Contact points → Add contact point → Integration: Webhook.
- URL: entegrasyon adresiniz, HTTP Method:
POST. Kimlik bilgisi girmenize gerek yoktur; adres gizlidir. - Bildirim politikanızda bu iletişim noktasını seçin.
Her uyarı (alerts[]) ayrı bir uyarıdır; tekil kimlik fingerprint'tir. Başlık alertname (+ instance), açıklama annotations.summary / description, önem labels.severity (critical, warning, info) alanlarından alınır.
Prometheus Alertmanager
route:
receiver: isletme
receivers:
- name: isletme
webhook_configs:
- url: 'https://isletme.net.tr/entegrasyon/…'
send_resolved: true
max_alerts: 100
send_resolved: true olmalı ki düzelen uyarılar kapansın. Eşleme Grafana ile aynıdır (Alertmanager yük sürümü 4).
Datadog
- Integrations → Webhooks → New: URL alanına entegrasyon adresinizi yapıştırın.
- Custom Payload'u işaretleyip aşağıdaki JSON'u yapıştırın (Datadog'un varsayılan yükünde geçiş ve döngü anahtarı olmadığı için gereklidir):
{
"id": "$ID", "alert_id": "$ALERT_ID", "cycle_key": "$ALERT_CYCLE_KEY", "aggreg_key": "$AGGREG_KEY",
"transition": "$ALERT_TRANSITION", "alert_type": "$ALERT_TYPE", "priority": "$ALERT_PRIORITY",
"title": "$EVENT_TITLE", "alert_title": "$ALERT_TITLE", "body": "$TEXT_ONLY_MSG",
"scope": "$ALERT_SCOPE", "hostname": "$HOSTNAME", "link": "$LINK", "date": "$DATE"
}
- Monitör bildirim metnine
@webhook-<ad>ekleyin.
Tekil kimlik $ALERT_CYCLE_KEY'dir (tetiklenmeden düzelmeye kadar aynıdır). Recovered geçişi uyarıyı çözer; Warn önemi “uyarı” yapar; Triggered, Re-Triggered, Renotify, No Data uyarıyı açık tutar.
AWS CloudWatch (SNS)
- Bir SNS konusu oluşturun ve CloudWatch alarmının ALARM ve OK eylemlerine ekleyin.
- Konuya HTTPS aboneliği ekleyin; uç nokta entegrasyon adresinizdir (Raw message delivery kapalı kalmalı):
aws sns subscribe --topic-arn arn:aws:sns:eu-central-1:123456789012:alarms --protocol https --notification-endpoint '<adres>' - Abonelik otomatik onaylanır ve konu entegrasyona bağlanır (Ayarlar → Bağlı SNS konuları).
Güvenlik: her iletinin AWS imzası doğrulanır; imza sertifikası ve onay adresi yalnızca https://sns.<bölge>.amazonaws.com adreslerinden alınır; bağlı olmayan konulardan gelen bildirimler reddedilir. İmza sürümü 1 ve 2 desteklenir; konunuz için daha güçlü olan SignatureVersion 2'yi öneririz (aws sns set-topic-attributes --attribute-name SignatureVersion --attribute-value 2).
Tekil kimlik alarm ARN'sidir: ALARM uyarı açar, OK çözer, INSUFFICIENT_DATA yok sayılır.
Genel JSON webhook
Kendi betiğinizden veya bu listede olmayan bir araçtan POST ile JSON gönderin:
curl -X POST 'https://isletme.net.tr/entegrasyon/…' -H 'Content-Type: application/json' \
-d '{"title":"Disk doluluğu %95","status":"triggered","id":"db-1-disk","severity":"critical","description":"db-1 /var %95 dolu","url":"https://grafana.example.com/d/abc"}'
| Alan | Açıklama |
|---|---|
title |
Zorunlu. Uyarı başlığı. |
status |
triggered (varsayılan) veya resolved. ok, closed, recovered, up de “çözüldü” sayılır (değiştirilebilir). |
id |
Tekil kimlik; aynı kimlikle resolved gönderince uyarı kapanır. Yoksa başlıktan türetilir. external_id, dedup_key de kabul edilir. |
severity |
critical (varsayılan), warning, info; P1–P5, high/low gibi değerler de eşlenir. |
description, url |
İsteğe bağlı açıklama ve kaynak bağlantısı. |
Farklı bir JSON biçiminiz varsa entegrasyon ayarlarındaki alan eşlemesiyle nokta gösterimli yollar verebilirsiniz (ör. alert.name, alert.state).
Yanıt: 202 {"ok": true, "results": [{"key": "db-1-disk", "result": "created", "alert": 12}]}. Hatalı istekler 4xx ile ve kısa bir hata koduyla döner (yeniden denenmemeli); 5xx geçici hatadır.
E-postadan uyarı
Uyarı e-postası gönderebilen her araç için: entegrasyonun e-posta adresine (alert+<gizli>@isletme.net.tr) gönderin veya yönlendirin.
- Konu uyarı başlığı olur; gövdenin başı açıklamaya eklenir.
- Konu
RESOLVED,OK,Recovered,UP,Çözüldü,Düzeldigibi bir sözcükle başlıyorsa ([RESOLVED] …,OK: …) aynı konulu açık uyarı çözülür.Re:,Fwd:,[FIRING:1],ALARM:gibi önekler yok sayılır. Sözcükler ayarlardan değiştirilebilir. - İsterseniz
X-Isletme-Alert-Keybaşlığıyla tekil kimliği kendiniz verebilirsiniz. - İzin verilen gönderenler (isteğe bağlı): yalnızca bu adreslerden veya alan adlarından (
@monitoring.example.com) gelen postalar işlenir. - Otomatik yanıtlar (izin/tatil mesajları) ve geri dönen postalar yok sayılır.
Sınırlar ve güvenlik
- Adres gizlidir: bilen herkes uyarı gönderebilir. Yalnızca yöneticiler tam adresi görür; sızdığını düşünüyorsanız Yeni adres ile hemen değiştirin (eski adres çalışmayı bırakır).
- İstek gövdesi en fazla 256 KB; entegrasyon başına dakikada 60, saatte 600 olay (aşımda
429veRetry-After); bir istekte en fazla 100 uyarı. - Entegrasyon sayısı paketinize bağlıdır; ayrıntılar paketler sayfasındadır. Organizasyon askıdaysa veya uyarı politikaları paketinizde yoksa istekler reddedilir.
- Kapalı entegrasyonun adresi
404döner; olaylar işlenmez.
Bu belge ürünün mevcut davranışını anlatır. Bir tutarsızlık görürseniz lütfen bize bildirin.