Sürüm: 1.4.9Bu dokümantasyon Spitfire 1.4.9 içindir.
Event policy'leri
Test → Olaylar → Event policy'leri, bir event açılınca ya da yeniden açılınca ne olacağını belirleyen sıralı kurallardır: gece warning'lerini susturmak, payment critical'larını Slack'e gönderip ack yoksa SMS'e yükseltmek, bakım penceresinde bildirimi kesmek, host'u yok sayarak tekilleştirmek, bir süre sonra kendiliğinden resolve etmek.
Nasıl çalışır
- Bir event açılır ya da yeniden açılır (sıradan bir tekrar policy'leri yeniden çalıştırmaz).
- Açık policy'ler listedeki sırayla denenir. Koşulları tutan policy'nin aksiyonları uygulanır.
- Burada dur açıksa (varsayılan) sonraki policy'lere bakılmaz; kapalıysa sıradaki eşleşen policy'ler de uygulanır.
- Ne yapıldığı event sayfasındaki Policy izi'ne yazılır: policy'nin adı, sürümü, aksiyon ve ayrıntı.
Sırayı satırı sürükleyerek ya da ok düğmeleriyle değiştirin. Kapalı bir policy sırasını korur ama uygulanmaz. Çalışma alanının her üyesi policy ekleyip değiştirebilir; her değişiklik sürüm geçmişine ve audit log'a yazılır.
Hazır politikalar ve sizin policy'leriniz
Hazır politikalar sekmesindeki kurallar (Kubernetes, Docker, Linux, Windows, ağ cihazları) kurulumla birlikte
açıktır ve metriklerden spitfire.builtin kaynaklı event açar; eşiklerini ve kanallarını orada değiştirirsiniz.
Sizin politikalarınız sekmesindeki policy'ler ise açılan her event'e (hazır kurallardan gelenler dahil) ne
olacağını seçer. Sekmeler açık ve toplam sayıyı gösterir, ör. Hazır politikalar (32 açık / 32); sol menüdeki
Event policy'leri yanındaki sayı ikisinin açık toplamıdır.
Şablondan başla
- Sizin politikalarınız sekmesinde Yeni policy'ye basın.
- Şablondan başla kartlarından birini seçin (arama kutusu ve kategoriler, yanlarında şablon sayısı):
Boş policy, Hazır kural olayları (bir alanın ya da tek kuralın event'leri, ör.
builtin.k8s.*), Bildirim, Gürültü azaltma, Yaşam döngüsü. - Koşullar ve aksiyonlar doldurulur. Kanal isteyen aksiyonlarda (route, escalate, tracker) kanalı seçin.
- Kaydet'e basın.
Kontrol: policy listede görünür, sekmedeki açık sayısı bir artar.
Koşullar
Boş bırakılan alan "hepsi" demektir. Doldurulan alanların hepsi tutmalıdır; bir alanın değerlerinden biri yeter.
| Alan | |
|---|---|
| Kaynak, tip, servis, ortam, host | Virgülle ayrılmış desenler; * her şey, ? tek karakter: api:*, apm.*, pay* |
| Severity | En az (Major ve üstü) ya da şunlardan biri (yalnız Warning ve Info) |
| Tag | key + =, ≠, var, yok; aynı key'li satırlardan biri, farklı key'lerin hepsi tutmalı |
| Metin | Başlıkta ya da mesajda geçen parçalar, satır başına bir tane; büyük/küçük harf fark etmez |
| Zaman | Gün, saat aralığı ve saat dilimi; Pencere dışında tersini seçer |
Her listede en çok 20 değer olur.
Zaman penceresi
Hazır seçimler: Mesai içi (Pzt–Cum 09:00–18:00), Mesai dışı (aynı pencerenin dışı), Gece (her gün
22:00–07:00) ve Hafta sonu (Cmt–Paz). Başlangıç bitişten büyükse pencere gece yarısını geçer. Saat dilimi
tarayıcınızınkiyle dolar (Europe/Istanbul gibi); değiştirebilirsiniz.
Aksiyonlar
Bir policy'de 1–12 aksiyon olur, her türden en çok bir tane.
| Aksiyon | Ne yapar |
|---|---|
| Sustur (suppress) | Event suppressed olur, bildirim gitmez. Başlangıç / bitiş verilirse yalnız o aralıkta (bakım penceresi) |
| Drop | Event hiç kaydedilmez. Yalnız admin açtığında kullanılabilir, bkz. Drop |
| Severity ayarla | Severity'yi değiştirir (ok olamaz) |
| Zenginleştir (enrich) | Tag, owner, team, runbook linki (http/https) ve not ekler |
| Dedup | Key'i seçilen alanlardan kurar: host'u dışarıda bırakınca aynı servisin bütün host'ları tek event olur |
| Correlate | Seçilen alanları aynı olan event'leri pencere içinde ilkinin altında toplar, bkz. Korelasyon |
| Flap | Çok sık açılıp kapanan event'in bildirimlerini durulana kadar tutar, bkz. Flap |
| Yönlendir (route) | Seçilen kanallara bildirir; Yerine aboneliklerin yerine geçer, Ekle onlara ekler |
| Escalation | Ack gelmezse N dakika sonra 2. adımın, M dakika sonra 3. adımın kanallarına bildirir |
| Renotify | Event canlı ve ack'lenmemişken her N dakikada yeniden bildirir (route gerekir) |
| Auto-resolve | N dakika yeni tekrar gelmezse event'i resolve eder |
| Tracker | Seçilen issue tracker kanallarında issue açar |
| Webhook | Seçilen JSON webhook kanallarını çağırır |
| Writeback | Seçilen izleme bağlantısına (geri yazması açık) event'i yazar |
Bildirim, escalation ve renotify
Route'un açtığı bildirim planı event sayfasında görünür: hangi policy, hangi kanallar, kaçıncı adımda olduğu ve sonraki işlem zamanı. Ack ya da resolve planı durdurur. Escalation adımları 1–1440 dakika arasıdır ve artmalıdır; renotify 5–1440 dakika, auto-resolve 5–10080 dakika (7 gün).
İmzalı ack / resolve linkleri
Ayarlar → Genel → Genel adres doluysa, sorun bildirimlerinde (e-posta, Slack, Teams, SMS, JSON) Ack ve
Resolve linkleri gelir. Link giriş gerektirmez, 7 gün geçerlidir ve bir kez kullanılır; timeline'da
"link ile" diye görünür. JSON webhook'larında eventLinks (ackUrl, resolveUrl, eventUrl) alanındadır.
Dene (dry run)
Düzenleyicideki Dene, kaydetmeden policy'yi son 7 günün event'lerinde çalıştırır: kaç event'e bakıldığı (en çok 5000), kaçının eşleştiği, her aksiyonun kaç event'i etkileyeceği ve 20'ye kadar örnek (severity değişimi ve iz ile). Hiçbir şey değişmez, bildirim gitmez.
Sürüm geçmişi
Her kayıt, açma/kapama ve silme yeni bir sürüm yazar. Listede bir policy'nin Geçmiş düğmesi sürümleri, kimin ne zaman değiştirdiğiyle gösterir. İki kişi aynı policy'yi aynı anda düzenlerse ikinci kayıt reddedilir: sayfayı yenileyip yeniden kaydedin.
Drop
Drop varsayılan olarak kapalıdır. Çalışma alanı admin'i sayfanın üstündeki Drop'a izin ver ile açabilir.
Kapalıyken drop aksiyonlu bir policy event'i yine de kaydeder ve suppress eder (izde drop_off). Drop edilen event
listede, sayaçlarda ve timeline'da görünmez; geri getirilemez. Mümkünse susturmayı kullanın.
Korelasyon
Correlate aksiyonu, aynı kökten gelen event'leri tek grupta toplar; örneğin aynı host'tan birkaç dakika içinde gelen disk, CPU ve servis alarmları.
- Şu alanların değeri aynıysa altında grubu belirleyen alanları işaretleyin: servis, host, ortam, resource, kaynak, tip; isterseniz tag key'leri de (virgülle). Varsayılan servis + ortam.
- Pencere'yi dakika olarak girin (1–1440, varsayılan 10).
- Aynı policy'ye bir Yönlendir aksiyonu ekleyin: grubun bildirimleri onunla gider.
Grubun ilk event'i parent olur ve her zamanki gibi bildirilir. Pencere içinde (parent'ın açılışından sayarak)
gelen, key'i farklı ama seçilen alanları aynı event'ler onun child'ı olur: kaydedilir, listede Grupta rozetiyle
ve parent'ın sayfasında İlgili event'ler altında görünür, ama kendi bildirimini, escalation'ını, renotify'ını
ya da writeback'ini göndermez. Pencereden sonra gelen event yeni bir grup açar. Seçilen alanların hepsi boş olan
event gruplanmaz (izde correlate_skipped).
Policy yazmadan, aynı host ya da servisin farklı kaynaklardan gelen event'lerini gruplayan kaynaklar arası korelasyon için Hazır politikalar, gruplar ve bildirim teslimi sayfasına bakın.
Flap
Flap aksiyonu, kısa sürede tekrar tekrar açılıp kapanan (flapping) bir event'in her açılışta bildirim göndermesini önler.
- Açılış sayısı'nı (2–50, varsayılan 4) ve pencere'yi dakika olarak (1–1440, varsayılan 30) girin.
- Aynı policy'ye bir Yönlendir aksiyonu ekleyin: flap durunca gidecek tek bildirim route'un kanallarına gider.
Event pencere içinde bu kadar açılınca flapping işaretlenir: tek event kalır, flapping=true tag'ini alır,
listede ve event sayfasında Flapping rozetiyle görünür. Flapping sürerken bildirim, escalation ve renotify gitmez;
auto-resolve çalışmaya devam eder. Pencere boyunca açılış ya da kapanış olmazsa flap durur (timeline'da Flap
durdu); event o an hâlâ açıksa kanallara tek bildirim gider. Flap aksiyonu yeniden açılma süresini de en az
pencere kadar uzatır, böylece arada resolve olan event yeni satır açmaz.
Dene, son 7 günün event'lerinde kaç event'in gruba katılacağını ve kaçının flap edeceğini gösterir.
Örnekler
Her örnek Yeni policy ile başlar; bitince Dene, sonra Kaydet. Denemek için bir test event'i gönderin (bir API token'ı ile, her klasörden çalışır):
curl -s -X POST -H "Authorization: Bearer $SPITFIRE_TOKEN" -H "Content-Type: application/json" \
-d '{"source":"policy-test","type":"disk.full","severity":"warning","title":"disk 91%","service":"payment","host":"pay-1"}' \
"https://spitfire.example.com/api/v1/events"Gece warning'lerini sustur
- Ad:
Gece warning sustur - Severity: Şunlardan biri → Warning, Info
- Zaman: Gece
- Aksiyon: Sustur (başlangıç ve bitiş boş)
Kontrol: gece gönderilen warning event'i listede Suppressed görünür, izde suppress yazar.
Policy'ler Spitfire'ın kendi bildirimlerine de uygulanır. Kaynak koşulu boşsa Warning, Info susturması
geceleri kötüleşen karşılaştırmaları (warning), durdurulan koşuları (info) ve başarısız bir koşudan sonra gelen başarılı
koşunun "düzeldi" bildirimini de susturur. Yalnız dış sistemleri susturmak için Kaynak'a onları yazın (ör. node-exporter, zabbix)
ya da Spitfire'ınkileri dışarıda bırakın. Önünde problem olmayan başarılı bir koşu bu policy'ye takılmaz.
Payment critical → Slack, 15 dakikada ack yoksa SMS
- Ad:
Payment critical - Servis:
payment* - Severity: En az → Critical
- Aksiyon: Yönlendir → Slack kanalınız, Yerine
- Aksiyon: Escalation → 1 adım,
15dakika, SMS kanalınız
Kontrol: event sayfasında plan Payment critical, sonraki işlem 15 dakika sonrası; ack'leyince plan durur.
Bakım penceresi
- Ad:
Cumartesi bakım - Servis:
api, ortam:prod - Aksiyon: Sustur → başlangıç
2026-11-14 02:00, bitiş2026-11-14 04:00
Kontrol: pencere içinde gelen event Suppressed; pencere dışında izde suppress_inactive yazar ve event açık kalır.
Host'u yok sayarak dedup
- Ad:
Disk dolu tek event - Tip:
disk.* - Aksiyon: Dedup → Kaynak, Tip, Servis, Ortam (Host işaretsiz)
- Burada dur kapalı (sonraki policy'ler de uygulansın)
Kontrol: pay-1 ve pay-2'den gelen aynı event listede tek satır, sayısı 2.
Auto-resolve
- Ad:
Deploy event'leri kapanır - Tip:
deploy.* - Aksiyon: Auto-resolve →
60dakika
Kontrol: 60 dakika tekrar gelmeyen event Resolved, timeline'da "policy ile".
Desktik ile olay yönetimi
Desktik yardım masasında her event için bir talep açılır. Ack, resolve, yeniden açılma ve severity değişikliği aynı talebe gider. Desktik'te ack'lenen ya da çözülen talep Spitfire'daki event'i de ack'ler ya da resolve eder. Desktik kanalı her sürümde ücretsizdir.
Kurulum
- Desktik'te Ayarlar → İzleme olayları'nı açın; talebin açılacağı ürünü, firmayı ve talep edeni orada seçin.
- Desktik'te Ayarlar → API anahtarları'ndan
dtk_ile başlayan bir anahtar oluşturun. Yalnız olay yetkili (events) bir anahtar yeterlidir. - Spitfire'da Entegrasyonlar → Kanal ekle → Desktik'i seçin.
- Desktik adresi'ni (
https://desk.example.com) ve Desktik API anahtarı'nı girin. - Test'e basın, sonra kaydedin.
- Event policy'leri'nde bir policy'ye Tracker aksiyonunu ekleyin ve bu Desktik kanalını seçin.
Kontrol: policy'ye uyan bir event açıldığında event sayfasında Desktik talebi #1234 linki görünür.
Desktik bulutu
Adres desktik.com ya da onun bir alt alan adıysa event bilgileri kurumunuzun dışına çıkar. Bu yüzden gönderim
varsayılan olarak kapalıdır.
- Olayları Desktik bulutuna gönder işaretlenmeden hiçbir şey gitmez. Kanalın teslimat geçmişinde nedeni yazar.
- Gönderim açıldığında yalnız işaretli alanlar gider. Varsayılan alanlar Başlık, Servis ve Önem'dir.
- Mesaj ve Host çoğu zaman iç adres ya da müşteri verisi içerir. Bunları gerekmedikçe işaretlemeyin.
- Başlık işaretli değilse talep "Spitfire olayı " adıyla açılır.
Kendi sunucunuzdaki bir Desktik event'in tüm alanlarını alır.
Ne gider, ne gelir
| Spitfire'da | Desktik'te |
|---|---|
| Policy'nin Tracker aksiyonu event'i açar | Talep açılır (open); event tekrar gelirse aynı talep güncellenir |
| Ack, resolve (auto-resolve dahil), yeniden açılma | Talebe ack, resolve, reopen gider |
| Severity değişir | severity gider (ok Desktik'te info olur) |
| Sık tekrar | İlk 10 tekrar hep gider, sonrası en çok dakikada bir |
Spitfire yalnız severity gönderir; önceliği ve yükseltmeyi Desktik belirler. Flap'te ya da susturulmuş bir event için yeni talep açılmaz, ama açık bir talep event'in her değişikliğini alır.
Desktik Spitfire'a bağlanmaz: Spitfire, Desktik'te ack'lenen ya da çözülen talepleri 30 saniyede bir okur. Desktik'e Spitfire token'ı vermeniz gerekmez. Bu durumda timeline'da "Desktik: <kişi>" görünür ve işlem audit log'a yazılır. Bu işlem Desktik'e geri gönderilmez, böylece döngü olmaz. Desktik'e ulaşılamazsa sonraki turda yeniden okunur; arada hiçbir şey kaybolmaz.
Escalation ve renotify uyarısı
Desktik kendi yükseltmesini ve tekrar bildirimini yapar. Aynı policy'de Desktik'e giden bir Tracker ile birlikte Escalation ya da Renotify de varsa, policy düzenleyicisi uyarı gösterir; bu durumda kişilere iki kez ulaşılır. Birini kaldırın ya da bilerek ikisini birden tutun.
Lisans limitleri
| Sürüm | Policy |
|---|---|
| Free | 3 |
| Starter | 20 |
| Growth, Scale, Enterprise | Sınırsız |
Limit dolunca yeni policy eklenemez; var olanları değiştirmek ve kapatmak sürer.