Spitfire

Sürüm: 0.21.0Bu dokümantasyon Spitfire 0.21.0 içindir.

Zamanlama, sentetik izleme ve bildirimler

Bu sayfa üç birbirine bağlı özelliği anlatır:

  1. Zamanlanmış koşular — bir testi cron schedule ile düzenli koşturmak (ör. her gece 02:00).
  2. Sentetik izleme (synthetic monitoring) — bir testi düşük yükle, kısa aralıklarla canlı sisteme karşı koşturup "çalışıyor mu?" sorusunu sürekli sormak.
  3. Bildirim kanalları — koşuların, zamanlamaların ve izlemelerin sonuçlarını Slack, Microsoft Teams, e-posta, SMS ya da webhook ile insanlara ve sistemlere iletmek.

Önerilen sıra: önce bildirim kanalını kurun, sonra zamanlamayı ya da izlemeyi oluşturun. Böylece ilk sorunda haberiniz olur.

Ne işe yarar

  • Zamanlama, pipeline'a bağlı olmadan düzenli yük testi yapar: "her gece yük testini koştur, bir şey kötüleşirse sabah haberim olsun."
  • Sentetik izleme, kullanıcılarınızdan önce kırılmayı fark eder: "giriş, sepete ekleme, ödeme sayfası şu an çalışıyor mu?" Her kontrol kısa ve hafiftir; tam koşu kaydı oluşmaz.
  • Bildirimler, sonucu ekibin zaten baktığı yere götürür ve alert yorgunluğunu önlemek için "yalnız sorunlarda" çalışabilir.

Ne zaman kullanılır

İhtiyaç Kullanın
Gece/haftalık tam yük testi Zamanlanmış koşu
Her deploy'da ya da PR'da test CI/CD
Canlı sistemin dakikalık sağlık kontrolü Sentetik izleme
İki sürümü her gece karşılaştırmak Zamanlanmış koşu + Karşılaştırmalı koşu başlat
Koşu sonucunu Slack/Teams/e-posta/SMS'e almak Bildirim kanalı
Sonucu kendi sisteminize JSON olarak almak Webhook (JSON) kanalı

Zamanlanmış koşu oluşturma

Zamanlanmış koşu, testi onu oluşturan kullanıcı adına ve o kullanıcının o anki yetkileriyle koşturur. Kullanıcının yetkisi kalkarsa ya da hesabı devre dışı kalırsa zamanlama çalışmaz.

Adım adım:

  1. Testler sayfasından testi açın.
  2. Üstteki Zamanla düğmesine basın. Yeni zamanlama penceresi açılır.
  3. Ad alanına zamanlamaya bir ad verin (ör. "Gece yük testi"). Koşu notu boş bırakılırsa bu ad kullanılır.
  4. Ne zaman altında bir önayar seçin:
    • Saat başı
    • Her gece 02:00
    • Hafta içi 09:00
    • Her pazartesi 03:00
    • Özel (cron) — 5 alanlı bir cron ifadesi yazın: dakika saat gün ay haftanın-günü. Örnek: 30 1 * * 1-5 = hafta içi 01:30. @daily, @hourly, @weekly da olur.
  5. Saat dilimi'ni seçin (ör. Europe/Istanbul). Cron ifadesi bu saat dilimine göre yorumlanır.
  6. Runner sayısı'nı girin.
  7. İsterseniz Ortam ve ölçek bölümünde testin ortamlarından birini (Ortam), Yük ölçeği'ni ve bu koşu için değiştirilecek değişkenleri seçin. Test değişmez; farklar yalnızca zamanlanmış koşulara uygulanır.
  8. Pencerede Sonraki koşular listesi, ifadenizin gerçekten ne zaman tetikleneceğini gösterir. Kaydetmeden önce mutlaka kontrol edin.
  9. İsterseniz Koşu notu (boşsa zamanlamanın adı) alanını doldurun.
  10. Test veri değiştiriyorsa Bu test veri değiştiriyorsa zamanlanmış koşularda da buna izin veriyorum kutusunu işaretleyin. İşaretlemezseniz veri değiştiren test zamanlamada başlamaz.
  11. Etkin işaretli olduğundan emin olun ve Kaydet'e basın.

Yeni zamanlama penceresiYeni zamanlama penceresi

Zamanlama kuralları

  • Bir zamanlama en sık 5 dakikada bir çalışabilir. Daha sık bir ifade "Bir zamanlama en sık 5 dakikada bir çalışabilir." hatasıyla reddedilir.
  • Önceki koşusu hâlâ süren zamanlamanın yeni tetiklemesi atlanır (atlandı).
  • Controller kapalıyken kaçırılan zamanlar sonradan telafi edilmez: 10 dakikadan fazla geciken koşu kaçırıldı olarak işaretlenir.
  • Başlayamayan koşu (ör. boşta runner yok, lisans limiti, yazma onayı yok) başlamadı olur ve schedule.failed olayına abone kanallara bildirilir.

Zamanlanmış koşuları yönetme

Sol menüde Test → Zamanlanmış koşular tüm zamanlamaları listeler: test, ne zaman, Sonraki tetikleme, Son durum (başladı, atlandı, kaçırıldı, başlamadı) ve Sahibi.

Zamanlanmış koşular sayfasıZamanlanmış koşular sayfası

Her satırda:

  • Şimdi çalıştır — zamanı beklemeden bir kez tetikler (denemek için idealdir).
  • Duraklat / Sürdür — zamanlamayı silmeden durdurur ve yeniden başlatır.
  • Düzenle — aynı pencereyi açar.
  • Sil — zamanlamayı siler; başlattığı koşular kalır.
  • koşu → — son başlattığı koşuya gider.

Zamanlanmış karşılaştırmalı koşu

Zamanlama düz koşu yerine bir karşılaştırmalı koşu (sürüm A/B) da başlatabilir: "her gece dev'i test'e karşı karşılaştır".

  1. Zamanlama penceresinde Karşılaştırmalı koşu başlat (sürüm A/B) kutusunu işaretleyin.
  2. Kol A (referans) ve Kol B (aday) için ortamı seçin.
  3. İsterseniz her kol için Sürüm etiketi yazın. Boş etiket, ortamın sürüm endpoint'inin bildirdiğini alır.
  4. Tek ortamınız varsa ya da ortamlar kaynak paylaşıyorsa Sıralı karşılaştırma (kollar dönüşümlü) seçeneğini açın. Tek ortamda zamanlanmış sıralı karşılaştırma ortamın sürüm endpoint'ini ister, çünkü geçişi onaylayacak kimse yoktur.
  5. Kaydedin.

Her tetiklemede test iki ortama aynı anda, her kol yükün yarısıyla koşar. "Daha kötü" ya da "geçersiz" sonuç run.compared olayıyla bildirim kanallarına gider; listede karşılaştırma → son karşılaştırmaya bağlantı verir. Ayrıntılar: Sürüm karşılaştırma.

Not

Zamanlanmış karşılaştırma lisansta compare_ci ister (Growth yıllık, Scale yıllık, Enterprise). Ücretsiz sürümde 1 zamanlanmış test hakkı vardır.

Sentetik izleme oluşturma

Sentetik izleme, testi düşük yükle ve düzenli aralıkla canlı sisteme karşı koşturur. Her kontrolde her VU her senaryoyu bir kez çalıştırır (en çok 60 sn). Koşu kaydı oluşmaz; yalnızca özet saklanır: başarılı / yavaş / başarısız, tüm kontrolün ve her adımın süresi, bir hata örneği ve lokasyon.

Adım adım:

  1. Testler sayfasından izlemek istediğiniz akışın testini açın (ör. giriş + sepete ekleme + ödeme sayfası).
  2. Üstteki Sentetik izleme olarak çalıştır düğmesine basın. Yeni sentetik izleme penceresi açılır.
  3. Ad verin.
  4. Aralık seçin: 1, 5, 15 ya da 60 dakika. Ücretsiz sürümde en sık 15 dakika; daha sık seçenekler ücretli planlarda etiketiyle görünür.
  5. VU sayısı: 1–10 (varsayılan 1). Sentetik izleme yük testi değildir; küçük tutun.
  6. Lokasyonlar: bir ya da daha çok lokasyon seçin. Seçilen her lokasyonda ayrı bir kontrol çalışır (o lokasyonun boştaki bir runner'ında). Seçilmezse boştaki herhangi bir runner kullanılır.
  7. Ortam: testin hangi ortamla koşacağı. Testteki değerlerle testin kendi değerlerini kullanır.
  8. Alarm bölümünü doldurun:
    • Art arda kötü kontrol: kaç kötü kontrolden sonra alert gönderilsin (ör. 2 ya da 3; tek seferlik ağ dalgalanmasında alarm çalmasın).
    • Kontrol süresi eşiği (ms): tüm kontrol bundan uzun sürerse kontrol yavaş sayılır.
    • Adım süresi eşiği (ms): herhangi bir adım bundan uzun sürerse kontrol yavaş sayılır.
    • Eşik istemiyorsanız yok bırakın.
  9. Test veri değiştiriyorsa Bu test veri değiştiriyor uyarısı çıkar (aşağıya bakın).
  10. Etkin işaretli olsun, Kaydet'e basın.

Yeni sentetik izleme penceresiYeni sentetik izleme penceresi

İpucu

İzlemeyi kaydettikten sonra listede Şimdi kontrol et'e basın. "Kontrol başladı; sonucu bir dakika içinde burada görünür." mesajından sonra ilk sonucu görürsünüz; böylece aralığı beklemeden ayarların doğru olduğunu anlarsınız.

Yazma koruması

Veri değiştiren adımı olan test (SQL/Mongo yazma, riskli Redis komutu, veri değiştirdiği işaretli HTTP isteği), ortam ne olursa olsun izlemede açık onay ister. Sentetik izleme bu adımları her kontrolde canlı sisteme karşı tekrarlar: aralık 1 dakikaysa günde 1440 kez.

  • Pencerede Bu test veri değiştiriyor başlığı ve açıklaması görünür.
  • Bu adımların her kontrolde veri değiştirmesine izin veriyorum kutusunu işaretlemeden izleme oluşturulmaz.
  • Test sonradan veri yazmaya başlarsa (yeni bir yazma adımı eklenirse) izleme kapanır.
Dikkat

Mümkünse izleme için yalnızca okuyan bir test yazın. Canlı sisteme dakikada bir sahte sipariş yazmak çoğu zaman istemediğiniz bir şeydir.

Kontroller nasıl çalışır

  • Kontroller izlemeyi oluşturan kullanıcı adına ve onun güncel yetkileriyle çalışır; yetkisini kaybeden kullanıcının izlemesi kapanır.
  • Bir kontrol izlemenin önceki kontrolüyle asla çakışmaz.
  • Boşta runner yoksa kontrol atlandı sayılır ve uptime hesabına girmez. Runner'larınızın hepsi uzun yük testlerinde meşgulse izleme kontrolleri atlanır; izleme için ayrı bir runner ya da lokasyon düşünün.
  • Kontroller normal orkestrasyonla (runner seçimi, lisans kontrolü, bağlantılar) koşar. Runner'lar sayfasında kontrol yapan runner "sentetik izleme kontrolü" olarak görünür.
  • Kontroller 30 gün (ücretsiz sürümde 7 gün) saklanır, günlük bakımda silinir.

İzleme panosunu okuma

Sol menüde Test → Sentetik izleme tüm izlemeleri listeler: Durum, Aralık, Lokasyonlar, Son kontrol, Sahibi.

Sentetik izleme listesiSentetik izleme listesi

Durumlar:

Durum Anlamı
çalışıyor Son kontroller başarılı
yavaş Kontrol ya da adım süresi eşiği aşıldı
çalışmıyor Kontroller başarısız (art arda kötü kontrol eşiğine ulaşıldı)
bilinmiyor Henüz kontrol yok ya da hepsi atlandı
duraklatıldı İzleme duraklatılmış

Bir izlemenin adına tıklayınca panosu açılır:

Sentetik izleme panosuSentetik izleme panosu

  1. Üstte Zaman aralığı (24 saat, 7 gün, 30 gün) ve Lokasyon (Tüm lokasyonlar ya da tek lokasyon) seçin.
  2. Uptime kutuları 24 saat, 7 ve 30 günlük oranı ve "x / y kontrol başarılı" sayısını gösterir.
  3. Adım süreleri grafiği her adımın ortalama süresinin trendini gösterir; Tüm kontrol çizgisi toplam süredir. Bir adımın yavaş yavaş yükseldiğini buradan görürsünüz.
  4. Son kontroller (eskiden yeniye) her kontrolü sonucu (başarılı, yavaş, başarısız, atlandı), süresi ve runner'ıyla listeler.
  5. Son hatalar başarısız ve yavaş kontrolleri Hata örneği ile gösterir: hangi adım, kaç istek başarısız, hangi kontroller başarısız. Örnek hata metinleri: "4 istekten 1 tanesi başarısız", "ödeme adımı 2300 ms sürdü (eşik 1500 ms)".
  6. Sorun sürüyorsa üstte "Sorun … tarihinden beri sürüyor" yazar.

Alarm ve düzelme bildirimi

  • Art arda N kötü kontrolde (başarısız ya da eşikten yavaş) bildirim kanallarına sorun başına bir kez monitor.down gider. Her kötü kontrolde tekrar tekrar mesaj gelmez.
  • İzleme düzelince bir kez monitor.recovered ("düzeldi") gider.
  • Kapalı kanallar ve lisansın duraklattığı kanallar bildirim almaz.
  • Kanalın monitor.down ve monitor.recovered olaylarına abone olduğundan emin olun (SMS kanalında varsayılan olarak açıktır).

Bildirim kanalları

Entegrasyonlar sayfası (admin, sol menüde Altyapı → Entegrasyonlar) koşuları diğer sistemlere ve insanlara bildirir.

Entegrasyonlar sayfasıEntegrasyonlar sayfası

Önce genel ayarlar

  1. Genel kartında Spitfire'ın herkese açık adresi'ni yazın (ör. https://spitfire.example.com). Bildirimlerdeki koşu bağlantıları bu adresle kurulur; adres yanlışsa mesajdaki bağlantılar açılmaz.
  2. Bildirim dili'ni seçin. Slack, Teams, e-posta ve SMS metinleri ile e-postaya eklenen PDF rapor bu dilde olur.
  3. Kaydet'e basın.

Kanal ekleme (tüm kanallar için ortak adımlar)

  1. Bildirim kanalları kartında Kanal ekle'ye basın.

  2. Kanal türünü seçin: Webhook (JSON), Slack, Microsoft Teams, E-posta ya da SMS (HTTP).

  3. Ad verin (ör. "Ekip Slack kanalı").

  4. Türe göre hedefi doldurun (aşağıdaki bölümler).

  5. Olaylar bölümünde hangi olayları alacağınızı seçin:

    Olay Ne zaman
    run.started koşu başladı
    run.finished koşu bitti (özet ve eşiklerle)
    run.regressed koşu, testin baseline koşusundan belirgin biçimde kötü; run.finished'dan sonra gelir
    run.compared karşılaştırmalı koşu (sürüm A/B) bitti; karar ve en büyük farklarla
    run.switch_needed sıralı karşılaştırma sürüm geçişi bekliyor (isteğe bağlı, dağıtım hattı için)
    schedule.failed zamanlanmış koşu başlamadı ya da kaçırıldı
    monitor.down sentetik izleme çalışmıyor ya da yavaş (sorun başına bir kez)
    monitor.recovered sentetik izleme düzeldi
  6. Alert yorgunluğunu önlemek için Yalnız sorunlarda bildir'i işaretleyin: başarıyla biten koşular ve koşu başlangıçları gönderilmez; eşik kırılan, hata veren, durdurulan koşular, baseline'a göre kötüleşme, daha kötü ya da geçersiz karşılaştırma ve başlamayan zamanlanmış koşular gönderilir.

  7. Testler alanında yalnızca belirli testleri seçebilirsiniz. Boş bırakılırsa (Tüm testler) her testin koşuları bildirilir.

  8. Etkin işaretli olsun ve Kaydet'e basın.

  9. Listede kanalın yanındaki Test gönder ile deneme mesajı gönderin; sonucu Gönderimler'de görün.

Kanal ekle penceresiKanal ekle penceresi

Başarısız gönderimler 2 sn, 15 sn ve 1 dk sonra yeniden denenir. Gönderimler listesi her denemenin zamanını, olayını, deneme sayısını, sonucunu ve koşusunu gösterir.

Slack

  1. Slack'te Apps → Incoming WebHooks ile bir Incoming Webhook oluşturun ve kanalı seçin.
  2. Verilen adresi (https://hooks.slack.com/services/…) Spitfire'da Hedef alanına yapıştırın.
  3. Mesaj sonucu, istek sayısını, p95'i, hata oranını, kırılan eşikleri ve koşunun bağlantısını içerir.

Microsoft Teams

  1. Teams kanalında Workflows → "Post to a channel when a webhook request is received" akışını oluşturun.
  2. Akışın verdiği adresi Hedef alanına yapıştırın.
  3. Mesaj bir adaptive card olarak gelir.

E-posta

E-posta kanalları kendi SMTP sunucunuz üzerinden gider. Önce SMTP'yi ayarlayın:

  1. E-posta (SMTP) kartında Sunucu, Port, Güvenlik (STARTTLS (587), TLS (465) ya da Yok (yalnız güvenilir ağ)), Kullanıcı adı, Parola ve Gönderen'i doldurun. Parola şifreli saklanır.
  2. Kaydet'e basın.
  3. Deneme alıcısı'na kendi adresinizi yazıp Deneme e-postası gönder'e basın. "Gönderildi." görmelisiniz.
  4. Sonra Kanal ekle → E-posta ile kanal oluşturun; Alıcılar alanına her satıra ya da virgülle bir adres yazın (en çok 20).

Biten koşuların e-postasında koşunun PDF raporu ektedir; karşılaştırmalı koşuda karşılaştırmalı PDF rapor ektedir.

Not

E-posta ayarlandığında Parolamı unuttum da e-postayla sıfırlama bağlantısı gönderir.

SMS (HTTP)

Sağlayıcı ön ayarı yoktur: sağlayıcınızın (ya da kendi SMS ağ geçidinizin) beklediği isteği tarif edersiniz, Spitfire doldurur. İnternete kapalı ağda kendi ağ geçidinizle de çalışır.

  1. Kanal olarak SMS (HTTP) seçin.
  2. İstek URL'i'ni yazın (http/https) ve method'u (GET ya da POST) seçin. Yer tutucular path ve query'de kullanılabilir, host'ta kullanılamaz; yönlendirmeler izlenmez.
  3. Telefon numaraları'nı E.164 biçiminde yazın (ör. +905321234567), her satıra bir numara, en çok 20.
  4. Body türü'nü seçin: Yok (değerler URL'de), Form (application/x-www-form-urlencoded), JSON ya da Ham metin (Content-Type ile).
  5. Body şablonu'nu yazın. Yer tutucular: {phone}, {phones}, {message}, {message_url}, {event}, {test}, {run_url}, {secret}.
  6. API anahtarını URL'e ya da body'ye düz yazmayın: Gizli değer ({secret}) alanına yazın ve şablonda {secret} olarak kullanın (ör. Authorization: Bearer {secret}). Header değerleri ve gizli değer şifreli saklanır.
  7. Tüm alıcılara tek istek: kapalıyken her alıcıya ayrı istek gider ({phone}); açıkken numaralar virgülle birleştirilip tek istekte gönderilir ({phones}).
  8. Başarı kuralı: HTTP 2xx başarılı sayılır. Pek çok SMS API'si hatayı 200 ile body'de döndürür; gerekirse Yanıt şunu içermeli (isteğe bağlı) / Yanıt şunu içermemeli (isteğe bağlı) alanlarını doldurun.
  9. Saatte en çok bildirim (varsayılan 20) sel ve maliyeti önler; her bildirim tüm alıcılara gider.
  10. Türkçe karakterler mesajı UCS-2'ye çevirip bir parçayı 70 karaktere düşürür. Yalnız GSM-7 karakterleri (Türkçe harfler ASCII'ye çevrilir) bir parçayı 160 karakterde tutar.
  11. Önizleme örnek bir mesaj için oluşan isteği gösterir (hiçbir şey gönderilmez).
  12. Kaydedip listede Deneme SMS'i gönder ile sağlayıcının yanıtını görün.

İki örnek (sms-gateway.example.com hayali bir ağ geçididir):

text
# Form POST, alıcı başına bir istek
POST https://sms-gateway.example.com/api/send
Body türü: form-urlencoded
Body:      to={phone}&text={message}&sender=SPITFIRE&apikey={secret}
Yanıt şunu içermeli: "status":"queued"

# Authorization header'lı JSON POST, tüm alıcılara tek istek
POST https://sms.example.com/v1/messages
Header:    Authorization: Bearer {secret}
Body türü: JSON
Body:      {"recipients": "{phones}", "text": "{message}", "link": "{run_url}"}

Yeni SMS kanalı varsayılan olarak yalnız sorunları bildirir (kırılan eşik, hata veren koşu, başlamayan zamanlama, izlemenin çökmesi ve düzelmesi). Mesajlar kısa ve sadedir, ör. Spitfire: 'Ödeme akışı' eşiği kırdı (p95 268 ms > 250 ms). https://spitfire.example.com/runs/…

Dikkat

TLS sertifikasını doğrulama seçeneğini yalnızca kendi ağınızdaki, kendinden imzalı sertifikalı bir SMS ağ geçidi için açın.

Webhook (JSON)

Kendi sisteminiz, bir izleme aracı ya da bir CI aktarıcısı için. İçerik spitfire.run-event/v1 şemasındadır (hedef sunucular, bitişte özet ve eşikler; run.compared'da karşılaştırmanın kararı ve en büyük farkları). Kartta Örnek içerik ile şemayı görebilirsiniz.

  1. Kanal olarak Webhook (JSON) seçin, Hedef adresini yazın.
  2. İsterseniz Gizli anahtar (imza) girin. Varsa body'nin HMAC-SHA256 imzası X-Spitfire-Signature: sha256=<hex> header'ında gelir; alıcı imzayı bu anahtarla doğrular. Her istekte ayrıca X-Spitfire-Event ve X-Spitfire-Delivery header'ları gönderilir.
  3. Gerekirse Ek header'lar ekleyin (ör. kendi sisteminizin anahtarı). Header değerleri şifreli saklanır.

OTLP ve Prometheus ile canlı metrikler

Aynı sayfada iki kart daha vardır:

  • OpenTelemetry (OTLP): koşu sürerken canlı metrikler OTLP/HTTP (JSON) ile bir collector'a (ör. bir OpenTelemetry Collector) gönderilir. OTLP gönderimi açık'ı işaretleyin, Endpoint (temel adres; sonuna /v1/metrics eklenir) ve Aralık (sn) girin. Metrikler spitfire.run.id, spitfire.test.name, server.address gibi etiketlerle gelir.
  • Prometheus: Prometheus /metrics adresini kişisel bir API token'ıyla kazıyabilir (spitfire_runners, spitfire_runs_active, spitfire_run_vus, spitfire_run_error_ratio, spitfire_run_latency_ms{quantile} …).

Bu, Spitfire'ın kendi metriklerini dışarı vermesidir. Sistemlerinizin metriklerini ve trace'lerini Spitfire'a almak için Gözlemlenebilirlik sayfasına bakın.

Lisans notları

Ücretsiz Growth yıllık / Scale yıllık Enterprise
Zamanlanmış test 1 sınırsız sınırsız
Bildirim kanalı 1 sınırsız sınırsız
Sentetik izleme 1, en sık 15 dakikada bir 10 / 30 sınırsız

Limitin üstündeki zamanlama, kanal ya da izleme silinmez; Duraklatıldı (lisans) olarak saklanır ve çalışmaz (en eskiler etkin kalır).

Sık karşılaşılan sorunlar

Belirti Neden Çözüm
Zamanlama hiç koşmadı, durum kaçırıldı Controller o saatte kapalıydı ya da yeniden başlıyordu (10 dk'dan fazla gecikme) Kaçırılan koşular telafi edilmez; Şimdi çalıştır ile elle başlatın. Controller'ın neden kapalı olduğuna Sistem olayları sayfasından bakın.
Durum atlandı Önceki koşu hâlâ sürüyordu Testin süresini kısaltın ya da cron aralığını açın.
Durum başlamadı Boşta runner yok, lisans limiti, yazma onayı yok ya da sahibin yetkisi kalkmış Satırdaki hata metnini okuyun. Veri değiştiren testte zamanlama penceresindeki yazma onayını işaretleyin. Sahibi devre dışıysa zamanlamayı başka bir kullanıcıyla yeniden oluşturun.
"Geçersiz cron ifadesi." Cron 5 alanlı değil ya da yanlış dakika saat gün ay haftanın-günü biçiminde yazın; Sonraki koşular'ı kontrol edin.
"Bilinmeyen saat dilimi" Saat dilimi adı yanlış IANA adı kullanın, ör. Europe/Istanbul.
İzleme hep bilinmiyor Kontroller atlanıyor: boşta runner yok Runner'lar uzun koşulardaysa kontrol yapamaz. İzleme için ayrı runner/lokasyon ayırın.
"Aralık 1, 5, 15 ya da 60 dakika olabilir." Geçersiz aralık Bu dört değerden birini seçin. Ücretsiz sürümde en sık 15 dk.
"Lisans bu izlemeyi daha seyrek kontrol ettiriyor." Lisans daha kısa aralığa izin vermiyor Lisansı yükseltin ya da aralığı uzatın.
İzleme kendiliğinden kapandı Test veri yazmaya başladı ya da sahibi yetkisini kaybetti Yazma onayıyla izlemeyi yeniden kaydedin ya da yetkiyi geri verin.
"Bu test bu ayarlarla izlenemiyor" Test, izlemenin hafif kontrolüne uymuyor Pencerede gösterilen ayrıntıyı okuyun; testi sadeleştirin.
Bildirim gelmiyor Kanal kapalı, olaya abone değil, Yalnız sorunlarda bildir açık, test filtresi dışında ya da lisans kanalı duraklatmış Kanalın Olaylar'ını ve Testler filtresini kontrol edin; Test gönder deneyin; Gönderimler'deki sonuca bakın.
Mesajdaki bağlantı açılmıyor Spitfire'ın herkese açık adresi boş ya da yanlış Genel kartında doğru adresi kaydedin.
Slack/Teams 4xx dönüyor Webhook adresi silinmiş ya da yanlış kopyalanmış Slack'te/Teams'te yeni webhook oluşturup Hedef'i güncelleyin.
E-posta gitmiyor SMTP ayarı yanlış, port kapalı ya da güvenlik türü uyuşmuyor Deneme e-postası gönder ile deneyin; 587 için STARTTLS, 465 için TLS seçin. Hatalar Sistem olayları sayfasında Bildirim kanalları kaynağıyla görünür.
SMS "başarılı" ama mesaj gelmedi Sağlayıcı hatayı 200 ile body'de döndürüyor Yanıt şunu içermeli / içermemeli kuralını ekleyin. Deneme SMS'i gönder'in gösterdiği yanıtı okuyun.
SMS'ler bir saatte kesildi Saatte en çok bildirim sınırına ulaşıldı Gönderim günlüğünde görünür; sınırı artırın ya da yalnız sorunlara daraltın.
"Telefon numaralarını uluslararası biçimde (E.164) girin…" Numara biçimi yanlış +90… ile başlayan E.164 biçimini kullanın.

İlgili sayfalar

  • CI/CD entegrasyonu — testleri pipeline'dan koşturma
  • Sürüm karşılaştırma — zamanlanmış karşılaştırma ve run.compared
  • Gözlemlenebilirlik — sistemlerinizin trace ve metriklerini okumak
  • Sorun giderme — bildirim kanalı hataları, sistem olayları
  • Zamanlanmış koşular Spitfire'da: /schedules · Sentetik izleme Spitfire'da: /monitors · Entegrasyonlar Spitfire'da: /integrations