This page is also available in English. Read in English →
Alarm kuralları
Alarm kuralı bir projeye bağlıdır ve hangi olayların hangi bildirim kanallarına gideceğini belirler. Kanal seçilmezse organizasyonun tüm aktif kanalları kullanılır.
| Kaynak | Tetikleyen |
|---|---|
Monitor |
Ardışık başarısızlık eşiği, SSL ve alan adı bitiş eşikleri |
Issue |
Yeni hata, tekrar sayısı eşiği |
Log |
Bir zaman penceresinde eşleşen log sayısı (eşik ya da sessizlik) |
Log alarmı
Log alarmı, son N dakikada koşula uyan log sayısını izler. Koşul log aramasıyla aynı dili konuşur: panelde aradığınızı kurala yazarsanız aynı sonucu alırsınız.
| Alan | Açıklama |
|---|---|
logQuery |
Mesajda aranacak ifade (tırnak, OR, -hariç desteklenir); boşsa tüm mesajlar |
logMinLevel |
Verbose, Debug, Information, Warning, Error, Fatal — bu seviye ve üstü sayılır |
logEnvironment |
Yalnızca bu ortam (ör. production) |
logThreshold |
Eşik (log sayısı) |
logWindowMinutes |
Pencere, 1–1440 dakika |
logBelowThreshold |
false: sayı eşiğe ulaşınca (hata patlaması). true: sayı eşiğin altına düşünce |
curl -X POST https://api.errorbird.com/api/v1/alert-rules \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{ "projectId": "<project-id>", "sourceType": "Log", "name": "Ödeme timeout",
"condition": { "logQuery": "timeout", "logMinLevel": "Error",
"logEnvironment": "production",
"logThreshold": 20, "logWindowMinutes": 5 } }'
Log sessizliği
logBelowThreshold: true ve logThreshold: 1 ile kurulan kural, pencere boyunca
hiç log gelmezse tetiklenir. Çöken ama hata fırlatamayan bir uygulama, durmuş bir
kuyruk tüketicisi ya da log göndermeyi bırakmış bir sunucu böyle yakalanır; hata
alarmı bunları göremez, çünkü ortada hata yoktur.
Nasıl değerlendirilir
- Kurallar dakikada bir değerlendirilir. Pencere şimdiden 30 saniye geride biter: loglar birkaç saniye gecikmeyle yazılır ve bu gecikme sessizlik sanılmamalıdır.
- Alarm yalnızca durum değiştiğinde gider: tetiklendiğinde bir kez, koşul sağlanmaz olduğunda "düzeldi" bildirimi. Koşul saatlerce sürse de dakikada bir uyarı almazsınız.
- Sayım eşikte durur: kararı vermek için "en az eşik kadar mı" sorusu yeter, yoğun bir projede milyonlarca satır sayılmaz. Panelde eşiğe eşit sayı "≥ eşik" olarak gösterilir.
- Kuralın koşulu değiştirilirse tetik durumu sıfırlanır; bir sonraki değerlendirme yeni koşula göre karar verir.
Kaydetmeden denemek
Eşiği tahminle kurmak, kuralı ya hiç çalmayan ya da sürekli çalan bir alarma çevirir. Panelde Şu anki loglarla dene düğmesi kuralı kaydetmeden gerçek loglarla çalıştırır:
curl -X POST https://api.errorbird.com/api/v1/projects/<project-id>/log-alert-preview \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{ "logQuery": "timeout", "logMinLevel": "Error", "logThreshold": 20, "logWindowMinutes": 5 }'
# { "count": 20, "countIsCapped": true, "wouldTrigger": true, "from": "…", "to": "…" }
Log alarmları servis kesintisi sayılmaz: kanalda sessiz saat tanımlıysa aralık bitince gönderilir.
Yükseltme (escalation)
Kesinti alarmı gittikten sonra kimse üstlenmezse, yükseltme politikası sırayla başka kanallara haber verir: nöbetçi uyanmadıysa 10 dakika sonra ekip lideri, o da görmediyse 30 dakika sonra herkes.
curl -X POST https://api.errorbird.com/api/v1/escalation-policies \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{ "organizationId": "<org-id>", "name": "Gece nöbeti",
"steps": [ { "delayMinutes": 10, "channelIds": ["<lider-kanalı>"] },
{ "delayMinutes": 30, "channelIds": ["<ekip-kanalı>"] } ] }'
Politika bir monitör kuralına bağlanır (escalationPolicyId). İlk alarm kuralın
kendi kanallarına gider; basamaklar onun üstüne eklenir. En fazla 5 basamak, gecikmeler
alarmdan itibaren dakika cinsinden ve artan sıradadır.
Basamak "o hafta kim nöbetteyse ona" gitsin istiyorsanız basamağa bir nöbet takvimi kanalı koyun. PagerDuty ya da Opsgenie kullanıyorsanız yükseltmeyi oraya bırakmak da bir seçenektir: bu kanallar kesintide olay açar ve nöbet çizelgesi platformun kendi kurallarıyla işler (bkz. Bildirim kanalları).
Üstlenme
Politikalı alarmlar üstlenme bağlantısı taşır. Bağlantı bir onay sayfası açar; düğmeye basılınca kesinti üstlenilir ve bekleyen basamaklar gönderilmez. Bağlantıyı açmak tek başına üstlenmez: mesajlaşma uygulamaları ve e-posta tarayıcıları bağlantıları önceden açar, bu yüzden işlem düğmenin arkasındadır.
Panelde monitör sayfasındaki kesinti satırında Üstlen düğmesi de vardır; orada üstlenen kişinin adı kayda geçer.
curl -X POST https://api.errorbird.com/api/v1/incidents/<incident-id>/acknowledge \
-H "Authorization: Bearer <token>"
- Basamak vakti geldiğinde kesinti düzelmiş ya da üstlenilmişse gönderilmez.
- Düzelme bildirimi yükseltmeyle haber alan herkese gider: gece uyandırılan ekip lideri düzeldiğini de öğrenmeli.
- Kesinti alarmı acil sayıldığı için basamaklar sessiz saate takılmaz (kanalda "kesintileri de beklet" seçili değilse).
- Bekleyen basamaklar Redis'te tutulur; worker yeniden başlasa da kaybolmaz.
Nöbet takvimi
Nöbet takvimi "bu hafta kim nöbette" sorusunu yanıtlar. Ekip üyeleri sırayla, sabit uzunlukta vardiyalarla nöbet tutar; izin ve takaslar için nöbet değişikliği eklenir. Takvim tek başına bildirim göndermez: Nöbet takvimi türündeki bir bildirim kanalına bağlanır ve o kanala giden alarm, o an nöbette olan kişiye e-posta ve mobil push olarak ulaşır. Kişi değiştikçe kanalı ya da alarm kuralını düzenlemeniz gerekmez.
curl -X POST https://api.errorbird.com/api/v1/on-call-schedules \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{ "organizationId": "<org-id>", "name": "Altyapı nöbeti",
"timeZone": "Europe/Istanbul", "rotationHours": 168,
"startsAt": "2026-10-12T09:00:00+03:00",
"participants": ["<ayse-user-id>", "<burak-user-id>", "<cem-user-id>"] }'
curl -X POST https://api.errorbird.com/api/v1/notification-channels \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{ "organizationId": "<org-id>", "type": "OnCall", "name": "Nöbetçi",
"scheduleId": "<schedule-id>" }'
- Vardiya:
rotationHours1–720 saat; 24 günlük, 168 haftalık devirdir. Gün katı vardiyalar takvimin saat diliminde yerel saatte ilerler: "pazartesi 09:00" devri yaz saati geçişinde de 09:00'da kalır. 12 saat gibi gün katı olmayan vardiyalar sabit süreyle ilerler. - Sıra:
participantssırası nöbet sırasıdır;startsAtanında ilk kişi başlar. Yalnızca organizasyon üyeleri yazılabilir. Üyelikten çıkarılan kişi sıradan ve değişikliklerden kendiliğinden düşer; hesabı pasif olan kişi atlanır ve nöbet sıradakine geçer, alarm boşa gitmez. - Kullanım: nöbet kanalını alarm kuralına ya da yükseltme basamağına diğer kanallar gibi ekleyin. Tipik kurulum: kural → nöbet kanalı, 10 dakika üstlenilmezse → ekip lideri, 30 dakika sonra → ekip kanalı.
- Sessiz saat nöbet kanalında da tanımlanabilir; ertelenen bildirim, gönderildiği andaki nöbetçiye gider.
Nöbet değişikliği
Belirli bir aralıkta nöbeti başkası tutar (izin, hastalık, takas). Aralık bitince sıra takvime döner. Üst üste binen değişikliklerde en son ekleneni geçerlidir. Tek değişiklik en fazla 30 gün sürer; geçmişte kalan aralık için eklenemez. Değişiklik eklemek ve silmek üye yetkisiyle yapılır; takvimi kurmak ve değiştirmek yönetici işidir.
curl -X POST https://api.errorbird.com/api/v1/on-call-schedules/<schedule-id>/overrides \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{ "userId": "<cem-user-id>", "startsAt": "2026-10-14T09:00:00+03:00",
"endsAt": "2026-10-16T09:00:00+03:00" }'
Kim nöbette, ne zaman devrediyor
curl https://api.errorbird.com/api/v1/on-call-schedules/<schedule-id> \
-H "Authorization: Bearer <token>"
# { "name": "Altyapı nöbeti", "current": { "fullName": "Ayşe Yılmaz",
# "overrideId": null, "shiftEndsAt": "2026-10-19T06:00:00+00:00" }, … }
curl "https://api.errorbird.com/api/v1/on-call-schedules/<schedule-id>/shifts?from=2026-10-12T00:00:00Z&to=2026-10-26T00:00:00Z" \
-H "Authorization: Bearer <token>"
# { "shifts": [ { "fullName": "Ayşe Yılmaz", "startsAt": "…", "endsAt": "…", "overrideId": null }, … ],
# "overrides": [ … ] }
Çizelge değişikliklerle birlikte hesaplanır (varsayılan şimdiden 14 gün, en fazla 62 gün). Panelde Nöbet sayfası şu anki nöbetçiyi, bir sonraki devri ve 14 günlük çizelgeyi gösterir. Bir nöbet kanalına bağlı takvim silinemez; önce kanalı silin ya da başka takvime bağlayın.