Uptime, SSL ve domain izleme
Bu modül entegrasyon gerektirmez: uygulamanıza kod eklemeden, yalnızca adres vererek çalışır.
Monitör türleri
| Tür | Kontrol ettiği |
|---|---|
Http |
Durum kodu, yanıt süresi, yönlendirme zinciri |
Ssl |
TLS el sıkışması, zincir doğrulama, hostname eşleşmesi, self-signed, notAfter |
Domain |
Alan adı bitiş tarihi ve registrar (RDAP, gerekirse WHOIS) |
TcpPort |
Belirtilen portun açık olup olmadığı |
Heartbeat |
Sizin gönderdiğiniz ping'in beklenen aralıkta gelip gelmediği |
curl -X POST https://api.errorbird.com/api/v1/monitors \
-H "Authorization: Bearer <access-token>" \
-H "content-type: application/json" \
-d '{
"projectId": "<project-id>",
"type": "Http",
"name": "Ana site",
"target": "https://ornek.com.tr",
"intervalSeconds": 60,
"expectedStatusCodes": "2xx,3xx"
}'
expectedStatusCodes tek tek (200,204) veya sınıf olarak (2xx) yazılabilir.
Yanlış alarm üretmeme kuralı
Kontroller birden fazla lokasyondan yapılır ve bir kesinti kaydı (Incident), en az iki lokasyon teyit etmedikçe açılmaz.
| Durum | Monitör | Kesinti | Alarm |
|---|---|---|---|
| Tüm lokasyonlar başarılı | Up |
— | — |
| Bazıları başarısız | Degraded |
açılmaz | gitmez |
| Tümü başarısız | Down |
açılır | eşik dolunca gider |
Bir lokasyonun sondasına ulaşılamazsa o lokasyonun sonucu yok sayılır; sondanın kendi arızası sizin kesintiniz değildir.
Alarm, kesinti açıldığı anda değil, ardışık başarısızlık kuralın eşiğine
ulaştığında gider (varsayılan 2 tur). Tek seferlik ağ sıçraması bildirim
üretmez. Lokasyon kurulumunun ayrıntıları depodaki docs/coklu-lokasyon.md belgesindedir.
Heartbeat (cron kontrolü)
Gece çalışan bir işin çalışmadığını fark etmek, çalıştığını görmekten daha önemlidir. İşinizin sonunda ping gönderin:
curl -X POST https://api.errorbird.com/api/v1/monitors/<monitor-id>/heartbeat \
-H "X-API-KEY: ebrd_secret_…"
Beklenen aralık + tolerans süresi içinde ping gelmezse kesinti otomatik açılır.
SSL uyarıları
Sertifika bitişine 30 / 14 / 7 / 1 gün kala kademeli uyarı gider. Zincir eksikliği, hostname uyuşmazlığı ve self-signed sertifika ayrı bir uyarı türüdür: sertifika süresi dolmamış olabilir ama tarayıcı yine de hata gösteriyordur.
.tr alan adları
.tr uzantılı alan adlarının bitiş tarihi, yabancı servislerin çoğunun
okuyamadığı bir veridir. Errorbird önce RDAP dener, sonra TRABİS WHOIS sunucusuna
düşer ve Türkçe/İngilizce alan etiketlerini ayrıştırır.
curl "https://api.errorbird.com/api/v1/monitors/<monitor-id>/domain-status" \
-H "X-API-KEY: ebrd_pub_…"
# { "domain": "metu.edu.tr", "expiresAt": "2027-03-10T00:00:00Z", "daysRemaining": 568, … }
Durum sayfası
Her proje için herkese açık bir durum sayfası yayınlanabilir:
GET /status/<slug>
Kimlik doğrulaması gerektirmez ve kendi hız sınırı havuzunu kullanır: kesinti anında durum sayfasına gelen yük, API'nizi etkilemez.
Aynı adres iki biçimde yanıt verir:
| İstek | Yanıt |
|---|---|
Tarayıcıdan açma (Accept: text/html) |
Ziyaretçileriniz için hazır sayfa: genel durum, aktif kesintiler, planlı bakımlar ve her servisin son 90 günü |
fetch, SDK, curl (Accept: application/json veya */*) |
Aynı verinin JSON hâli — kendi tasarımınızla göstermek için |
?format=json veya ?format=html biçimi, ?lang=tr veya ?lang=en dili sabitler.
Sayfa dakikada bir kendini yeniler ve saatleri ziyaretçinin saat diliminde gösterir.
Herkese açık olduğu için yanıt bilinçli olarak dardır: izlenen adres, ham hata mesajı ve lokasyon ayrıntısı gösterilmez. Kesinti açıklaması genel bir metindir; ham hata ("10.0.0.5:5432 portuna bağlanılamadı" gibi) iç altyapınızı sızdırabilirdi.
Günlük geçmiş, planınızın saklama süresi kadar geriye gider; saklama süresinden eski günler "veri yok" olarak gösterilir.
Bildirim kanalları
E-posta, Slack/Discord webhook, Telegram botu ve imzalı genel webhook desteklenir. Aynı olay için tekrarlayan bildirimler bastırılır (deduplication); monitör toparlandığında bastırma işaretleri sıfırlanır ve bir sonraki kesintide alarm yeniden gider.