API Sağlık Kontrolü
Genel Bakış
API'lerinizin erişilebilirliğini sürekli izleyin
Yanıt süreleri ve başarı oranlarını takip edin
Sorunları kullanıcılar etkilenmeden önce tespit edin
Hızlı müdahale için anında bildirim alın

API Sağlık Kontrolü Nedir?
Temel Kavram
API Sağlık Kontrolü, belirlediğiniz bir API endpoint'ine veya web servisine belirli aralıklarla otomatik olarak test istekleri gönderen bir izleme sistemidir.
Ne Zaman Kullanılır?
Ödeme, kimlik doğrulama gibi kritik API'lerin sürekli izlenmesi
Servis seviyesi anlaşmalarının takibi ve raporlanması
API yanıt sürelerinin izlenmesi ve trend analizi
Servislerin çalışma süresi (uptime) takibi
Nasıl Çalışır?
Kontrol edilecek URL, HTTP metodu, beklentiler ve zamanlama belirlenir
Belirlenen zamanlarda (örn: her 5 dakikada bir) otomatik olarak test isteği gönderilir
HTTP isteği gönderilir ve yanıt alınır
Beklentiler (assertion'lar) kontrol edilir:
- Yanıt süresi kontrolü
- HTTP durum kodu kontrolü
- Yanıt içeriği kontrolü
- XPath/JSONPath kontrolleri
Test sonucu kaydedilir (başarılı/başarısız)
Eğer test başarısız olursa, yapılandırılmış bildirimler tetiklenir
Hızlı Başlangıç
İlk Sağlık Kontrolünüzü Oluşturma
Ana Menüden → İzleme → API Sağlık Kontrolü seçeneğine tıklayın
"Yeni Oluştur" butonuna tıklayın
- Ad: Kontrolünüz için bir isim (örn: "Ödeme API Kontrolü")
- Aç ıklama: İsteğe bağlı açıklama
- HTTP Metodu: GET, POST, vb.
- URL: Test edilecek API endpoint'i
Kontrol sıklığını belirleyin (örn: Her 5 dakikada bir)
"Kaydet" butonuna tıklayın
Yeni Sağlık Kontrolü Oluşturma
Adım 1: Temel Bilgiler
Ad - Zorunlu
Sağlık kontrolü için benzersiz bir isim girin. Bu isim:
- Proje içinde benzersiz olmalıdır
- Boşlukla başlayamaz
- Sistem otomatik olarak ismin kullanılabilirliğini kontrol eder
İyi İsim Örnekleri:
Ödeme API İzlemeKullanıcı Servisi Health CheckÜçüncü Taraf Entegrasyon KontrolüAna Sayfa Erişilebilirlik Kontrolü
Açıklama - Opsiyonel
Sağlık kontrolü hakkında açıklayıcı bilgi girebilirsiniz:
- Maksimum 1000 karakter
- Maksimum 1000 karakter
- Kontrolün amacını ve kapsamını açıklamak için kullanılır
- Liste sayfasında görüntülenir
Örnek Açıklamalar:
Kritik ödeme API'sinin 7/24 izlenmesi için oluşturulmuşturMüşteri portalı ana sayfa erişilebilirlik kontrolüÜçüncü taraf servis sağlayıcı entegrasyonu izleme
Durum (Status) - Varsayılan: Aktif
Sağlık kontrolünün aktif/pasif durumunu belirler:
- Aktif: Kontrol çalışır, zamanlanmış testler gönderilir
- Pasif: Kontrol durdurulur, test gönderilmez (geçmiş veriler korunur)
Adım 2: Zamanlama Ayarları
Sağlık kontrolünün ne sıklıkla çalışacağını belirleyin. Cron Expression kullanarak zamanlama yapılır.
Yaygın Zamanlama Örnekleri
| Açıklama | Cron Expression | Kullanım Senaryosu |
|---|---|---|
| Her 5 dakikada bir | 0 */5 * ? * * | Kritik API'ler için (en yaygın) |
| Her 15 dakikada bir | 0 */15 * ? * * | Normal API'ler için |
| Her saat başı | 0 0 * ? * * | Test/Development ortamları için |
| Her gün saat 09:00 | 0 0 9 * ? * | Günlük raporlama için |
| Her hafta Pazartesi 09:00 | 0 0 9 ? * MON | Haftalık kontrol için |
Öneriler:
- Kritik API'ler için: Her 5 dakikada bir
- Normal API'ler için: Her 15-30 dakikada bir
- Test/Development için: Her saat başı
- Raporlama amaçlı kontroller için: Günlük veya haftalık
Adım 3: İstek Ayarları
Bu bölümde test edilecek endpoint'in bilgilerini yapılandırırsınız.
Koleksiyondan Seçin (Select From Collection) - Önerilen
Daha önce Test Console'da oluşturduğunuz test senaryolarını kullanabilirsiniz:
"Koleksiyondan Seçin" butonuna tıklayın
Açılan dialog'da test koleksiyonlarınızı görüntüleyin
İstediğiniz test senaryosunu seçin
Test bilgileri otomatik olarak formu doldurur
Avantajları:
- Zaman kazanırsınız
- Tutarlı test senaryoları kullanırsınız
- Test senaryolarınızı merkezi olarak yönetebilirsiniz
HTTP Metodu (Method) - Zorunlu
HTTP istek metodunu seçin:
Veri okuma (en yaygın kullanılan)
Veri gönderme
Veri güncelleme
Veri silme
Kısmi güncelleme
Sadece header bilgisi
URL - Zorunlu
Test edilecek endpoint'in tam URL'ini girin:
Örnekler:
https://api.example.com/usershttps://api.example.com/payment/verifyhttp://localhost:8080/healthhttps://api.example.com/v1/products?category=electronics
Notlar:
- URL mutlak (absolute) olmalıdır
- HTTPS ve HTTP desteklenir
- Query parametreleri URL'ye eklenebilir veya ayrı bir alanda belirtilebilir
Parametreler (Parameters) - Opsiyonel
URL'ye query parametreleri eklemek için kullanılır:
Örnek:
- Parametre Adı:
userId - Parametre Değeri:
12345
Sonuç URL: https://api.example.com/users?userId=12345
Başlıklar (Headers) - Opsiyonel
HTTP isteğine header eklemek için kullanılır:
Yaygın Kullanımlar:
- Authorization:
Bearer token123veyaBasic base64encoded - Content-Type:
application/json,application/xml - X-API-Key:
your-api-key - Custom Headers: Özel header'lar
Örnek:
- Başlık Adı:
Authorization - Başlık Değeri:
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Gövde (Body) - POST/PUT/PATCH için
İstek gövdesi (request body) girebilirsiniz:
Desteklenen Formatlar:
- Raw: JSON, XML, Text
- Form URL Encoded: Form verileri
JSON Örneği:
{
"userId": 12345,
"action": "verify",
"timestamp": "2024-01-15T10:30:00Z"
}
XML Örneği:
<request>
<userId>12345</userId>
<action>verify</action>
</request>
Adım 4: Doğrulama Ayarları
Doğrulama (Assertion) ayarları, test sonucunun başarılı sayılması için gerekli kontrolleri belirler.
Zamanaşımı Kontrolü (Timeout Assertion)
Bu seçenek aktif edildiğinde, belirlenen zamanaşımı değeri doğrulama için de kullanılır:
- İstek belirlenen süre içinde yanıtlanmalıdır
- Aksi halde test başarısız sayılır
HTTP Durum Kodu Kontrolü (Status Code Assertion)
HTTP status code kontrolü yapmak için:
"Sonuç Durum Kodu" toggle'ını aktif edin
"Beklenen Durum Kodu" alanına beklenen status code'u girin
Varsayılan Değer: 200 (OK)
Yaygın Status Code'lar:
200: Başarılı201: Oluşturuldu204: İçerik yok400: Hatalı istek401: Yetkisiz404: Bulunamadı500: Sunucu hatası
Örnek Senaryo:
- Beklenen Status Code:
200 - Gerçek Status Code:
200→ ✅ Başarılı - Gerçek Status Code:
500→ ❌ Başarısız
Yanıt Gövdesi Kontrolü (Body Assertion)
Response body'nin belirli bir içerik içerip içermediğini kontrol eder:
"Sonuç Gövdesi" toggle'ını aktif edin
"Beklenen Sonuç Gövdesi" alanına beklenen içeriği girin
Kullanım Senaryoları:
- Response'ta belirli bir metin olmalı:
"status": "success" - Response belirli bir değer içermeli:
"active": true - Response boş olmamalı
Örnek:
- Beklenen:
"status": "ok" - Gerçek:
{"status": "ok", "data": {...}}→ ✅ Başarılı - Gerçek:
{"status": "error"}→ ❌ Başarısız
XPath Kontrolü (XPath Assertion) - XML için
XML response'larda XPath kullanarak kontrol yapar:
"XPath Sonucu" toggle'ını aktif edin
XPath alanına XPath ifadesini girin
Beklenen XPath Sonucu alanına beklenen değeri girin
Örnek:
- XPath:
/response/status - Beklenen Sonuç:
success - Gerçek XML:
<response><status>success</status></response>→ ✅ Başarılı
JSONPath Kontrolü (JSONPath Assertion) - JSON için
JSON response'larda JSONPath kullanarak kontrol yapar:
"JsonPath Sonucu" toggle'ını aktif edin
JsonPath alanına JSONPath ifadesini girin
Beklenen JsonPath Sonucu alanına beklenen değeri girin
Örnek:
- JSONPath:
$.status - Beklenen Sonuç:
ok - Gerçek JSON:
{"status": "ok", "data": {...}}→ ✅ Başarılı
Yaygın JSONPath Örnekleri:
$.status: Root'taki status alanı$.data.items[0].id: İlk item'ın id'si$.user.name: User objesinin name alanı$.results[*].id: Tüm result'ların id'leri
Adım 5: Ayarlar
Zamanaşımı (Timeout) - Varsayılan: 30 saniye
İstek için maksimum bekleme süresini belirler:
- Saniye cinsinden girilir
- Varsayılan değer:
30saniye - Bu süre içinde yanıt alınamazsa test başarısız sayılır
Öneriler:
- Hızlı API'ler için:
10-15saniye - Normal API'ler için:
30saniye - Yavaş API'ler için:
60saniye veya daha fazla
SSL Sertifikası (Enable Certificate)
HTTPS isteklerinde SSL sertifikası kullanmak için:
- Bu seçenek aktif edildiğinde, özel SSL sertifikası kullanılabilir
- Genellikle self-signed sertifikalar veya özel CA sertifikaları için kullanılır
Adım 6: Yeniden Deneme Ayarları (Retry Settings)
Geçici sorunlarda otomatik yeniden deneme yapmak için:
Başarısızsa Yeniden Dene (Retry On Fail)
"Başarısızsa Yeniden Dene" toggle'ını aktif edin
"Yeniden Deneme Sayısı" seçin: 1, 3, 5, veya 10
Nasıl Çalışır:
- İlk istek başarısız olursa
- Belirlenen sayı kadar tekrar denenir
- Her deneme arasında bekleme yapılabilir (opsiyonel)
Örnek Senaryo:
- Yeniden Deneme Sayısı:
3 - İlk istek başarısız → 1. yeniden deneme → başarısız → 2. yeniden deneme → başarısız → 3. yeniden deneme → başarılı → ✅ Başarılı
İstekler Arası Bekleme (Delay Between Requests)
Yeniden denemeler arasında bekleme yapmak için:
"İstekler Arası Bekleme" toggle'ını aktif edin
"Bekleme" alanına saniye cinsinden bekleme süresini girin
Varsayılan Değer: 3 saniye
Kullanım Senaryosu:
- Sunucu yükünü azaltmak için
- Rate limiting'den kaçınmak için
- Geçici sorunların çözülmesi için zaman tanımak
Örnek:
- Yeniden Deneme Sayısı:
3 - Bekleme:
5saniye - İlk istek başarısız → 5 sn bekle → 1. yeniden deneme → başarısız → 5 sn bekle → 2. yeniden deneme → başarılı
Adım 7: Bildirim Alıcıları (Recipients)
Test başarısız olduğunda tetiklenecek bildirimleri yapılandırın:
Bildirim Ekleme
Recipients tablosunda "+" butonuna tıklayın
Bildirim türünü seçin:
- Email: Email bildirimi gönderir
- Webhook: HTTP POST isteği gönderir
- Slack: Slack kanalına mesaj gönderir
- SMS: SMS bildirimi gönderir
- Ve daha fazlası...
Bildirim yapılandırmasını tamamlayın
Bildirim Yönetimi:
- Düzenle: Bildirim bilgilerini güncellemek için menüden "Düzenle" seçin
- Sil: Bildirimi kaldırmak için menüden "Sil" seçin
- Aktif/Pasif: Toggle ile bildirimi aktif/pasif yapabilirsiniz
Bildirim İçeriği: Bildirimlerde şu bilgiler gönderilir:
- Sağlık kontrolü adı
- Proxy adı (varsa)
- Hedef URL
- Hata mesajı
- Zaman damgası
- Test sonucu detayları
Adım 8: Kaydetme
Tüm bilgileri doldurduktan sonra:
Form validasyonlarının geçtiğinden emin olun:
- ✅ Ad girilmiş ve kullanılabilir
- ✅ URL girilmiş
- ✅ Zamanlama ayarları yapılmış
- ✅ En az bir assertion aktif (önerilir)
"Kaydet" butonuna tıklayın
Sağlık kontrolü kaydedildikten sonra otomatik olarak listeleme sayfasına yönlendirilirsiniz