Takip et

Uptime Kuma ile API JSON Sorgu Monitörü Ekleme Rehberi

Modern uygulamaların belkemiği olan API’ler, sürekli ve kesintisiz çalışmalıdır. Ancak, bir API’nin sadece “çalışıyor” demek, genellikle yetersizdir. Peki, API’leriniz sadece HTTP 200 cevabı mı veriyor, yoksa gerçekten beklediğiniz veriyi doğru formatta mı sunuyor? Bu teknik makalede, açık kaynaklı ve kullanıcı dostu izleme aracı Uptime Kuma’yı kullanarak API JSON yanıtlarını detaylı bir şekilde nasıl izleyebileceğinizi, verilerin doğruluğunu nasıl sağlayacağınızı ve potansiyel sorunları proaktif olarak nasıl tespit edebileceğinizi adım adım öğreneceksiniz. Bu rehber, temel kurulumdan gelişmiş izleme stratejilerine kadar her seviyeden kullanıcıya hitap edecek şekilde tasarlanmıştır. API’lerinizin sadece canlı değil, aynı zamanda sağlıklı olduğundan emin olmaya hazır mısınız?

Günümüz dijital dünyasında, hemen her şey API’ler aracılığıyla birbirine bağlanıyor. Mobil uygulamalardan web sitelerine, IoT cihazlarından mikroservis mimarilerine kadar her yerde API’ler, sistemlerin sorunsuz iletişim kurmasını sağlıyor. Ancak bir API’nin sadece HTTP 200 (OK) durum kodu döndürmesi, onun gerçekten “sağlıklı” olduğu anlamına gelmeyebilir. Bazen bir API, başarılı bir HTTP durumu bildirse de, aslında boş bir JSON nesnesi döndürebilir, hatalı veri sunabilir veya kritik bir alanı eksik bırakabilir. Bu durumlar, nihai kullanıcı deneyimini doğrudan olumsuz etkileyebilir ve iş süreçlerinde ciddi aksaklıklara yol açabilir. Örneğin, bir e-ticaret sitesinin ürün API’si 200 dönse bile, stok bilgilerini yanlış veya eksik veriyorsa, bu durum yanlış ürün satışlarına veya hayal kırıklığına uğramış müşterilere neden olabilir. İşte tam da bu noktada, Uptime Kuma gibi güçlü bir izleme aracının API JSON sorgu monitörü devreye giriyor. Bu araç, sadece API’nizin erişilebilirliğini değil, aynı zamanda döndürdüğü JSON yanıtının içeriğini de doğrulamanıza olanak tanır. Böylece, API’lerinizin sadece “canlı” değil, aynı zamanda “işlevsel ve sağlıklı” olduğundan emin olabilirsiniz. Bu makale boyunca, Uptime Kuma’nın bu kritik özelliğini nasıl kullanacağımızı, adım adım kurulumdan gelişmiş senaryolara kadar detaylı bir şekilde inceleyeceğiz. Amacımız, API izleme stratejinizi bir adım öteye taşıyarak, uygulamalarınızın her zaman beklenen performansı sergilemesini sağlamaktır. Hazırsanız, bu yolculuğa birlikte çıkalım ve API’lerinizin iç dünyasına bir göz atalım.

Uptime Kuma ve API JSON İzlemenin Temel Taşları Nelerdir?

API’ler, yazılım dünyasının temel yapı taşlarıdır ve sistemler arası iletişimin omurgasını oluştururlar. Ancak bu iletişim kanallarının yalnızca aktif olması yeterli değildir; doğru veriyi, doğru formatta ve doğru zamanda sağlamaları hayati önem taşır. İşte bu noktada Uptime Kuma ve API JSON izleme kavramları devreye girer. Gelin, bu temel kavramlara yakından bakalım ve neden sadece HTTP durum kodlarının ötesine geçmemiz gerektiğini anlayalım.

Uptime Kuma Nedir ve Neden Önemlidir?

Uptime Kuma, açık kaynaklı, kullanıcı dostu ve modern bir izleme aracıdır. Web sitelerinizin, API’lerinizin, sunucularınızın ve diğer ağ hizmetlerinizin çalışma süresini (uptime) izlemek için tasarlanmıştır. Slack, Discord, Telegram, E-posta gibi çeşitli bildirim kanallarıyla entegrasyonu sayesinde, herhangi bir kesinti veya sorun anında anında uyarı almanızı sağlar. Şık bir arayüze ve kolay kurulum özelliklerine sahip olması, onu hem küçük projeler hem de daha büyük altyapılar için cazip bir seçenek haline getirir. Uptime Kuma’nın önemi, yalnızca hizmetlerinizi izlemekle kalmayıp, aynı zamanda performans trendlerini ve geçmiş verileri de sunarak sorunların kök nedenlerini anlamanıza yardımcı olmasıdır. Özellikle API izleme söz konusu olduğunda, Uptime Kuma’nın sunduğu esneklik, sadece HTTP ping’lerinin ötesine geçmenizi ve daha derinlemesine kontroller yapmanızı sağlar.

API’ler ve JSON Formatı: Kısa Bir Genel Bakış

API (Application Programming Interface), farklı yazılım bileşenlerinin birbiriyle iletişim kurmasını sağlayan kurallar ve protokoller bütünüdür. En yaygın API türlerinden biri olan REST API’ler, genellikle HTTP protokolü üzerinden çalışır ve veri alışverişi için JSON (JavaScript Object Notation) formatını kullanır. JSON, insan tarafından okunabilir ve makineler tarafından kolayca ayrıştırılabilir hafif bir veri değişim formatıdır. Anahtar-değer çiftlerinden ve dizilerden oluşur, bu da onu web servislerinde veri göndermek ve almak için ideal kılar. Örneğin, bir ürün API’si, belirli bir ürünün adını, fiyatını, stok durumunu ve açıklamalarını JSON formatında bir yanıt olarak döndürebilir. JSON yanıtlarının doğrulanması, API’nin yalnızca erişilebilir olduğunu değil, aynı zamanda beklenen veriyi doğru yapıda sunduğunu garanti etmek açısından kritik öneme sahiptir. Bu, özellikle veri bütünlüğünün ve işlevselliğin sağlanması gereken karmaşık uygulamalarda vazgeçilmezdir.

Neden Sadece HTTP Durumu Yeterli Değildir?

Pek çok kişi, bir API’nin HTTP 200 (OK) durum kodu döndürmesinin, her şeyin yolunda olduğu anlamına geldiğini düşünür. Ancak, bu her zaman doğru değildir. Bir API sunucusu, dahili bir hata nedeniyle veya veri tabanıyla bağlantı kuramadığı için boş bir JSON nesnesi döndürebilirken bile 200 durumu bildirebilir. Ya da belki beklenenden farklı, hatalı veya eksik bir veri yapısı gönderiyor olabilir. Örneğin, bir hava durumu API’si 200 dönse bile, sıcaklık değerini “null” olarak veya yanlış bir formatta döndürüyorsa, bu, hava durumu uygulamanızda sorunlara yol açar. Bu tür senaryolar, sadece HTTP durum kodlarını kontrol etmenin yetersizliğini ortaya koyar. Gerçek bir API izleme çözümü, API’nin döndürdüğü JSON yanıtının içeriğini, belirli alanların varlığını, değerlerini ve hatta formatlarını da doğrulamalıdır. Uptime Kuma’nın JSON sorgu monitörü tam da bu ihtiyacı karşılamak için tasarlanmıştır, böylece API’lerinizin yalnızca canlı değil, gerçekten “işlevsel” olduğundan emin olabilirsiniz. Bu derinlemesine doğrulama, kritik iş süreçlerinizin kesintisiz devam etmesi için temel bir güvence sağlar.

Uptime Kuma’da API JSON Sorgu Monitörü Nasıl Eklenir? Adım Adım Rehber

Uptime Kuma ile API JSON sorgu monitörü eklemek, API’lerinizin yalnızca erişilebilirliğini değil, aynı zamanda döndürdüğü verinin doğruluğunu da kontrol etmenizi sağlar. Bu bölümde, süreci adım adım inceleyerek, bu güçlü özelliği nasıl etkinleştireceğinizi ve yapılandıracağınızı göstereceğiz. Böylece API’lerinizin sadece canlı değil, aynı zamanda sağlıklı ve beklenen şekilde çalıştığından emin olabilirsiniz.

Kurulum ve İlk Ayarlar (Varsayım)

Uptime Kuma’nın sunucunuza kurulu ve çalışır durumda olduğunu varsayıyoruz. Eğer henüz kurmadıysanız, resmi belgelerden veya çeşitli kaynaklardan Docker ile kolayca kurulum yapabilirsiniz. Kurulum tamamlandıktan sonra, web arayüzüne erişim sağlamanız ve oturum açmanız gerekmektedir. Ana panelde, genellikle sağ üst köşede veya sayfanın ortasında yer alan “Yeni Monitör Ekle” veya “Add New Monitor” butonunu bulun ve tıklayın. Bu işlem, size izlemek istediğiniz hizmet türünü seçebileceğiniz bir menü sunacaktır.

Monitör Tipi Seçimi ve Temel Bilgiler

Açılan menüde, Uptime Kuma’nın desteklediği çeşitli monitör tiplerini göreceksiniz. Bizim odak noktamız, API JSON yanıtlarını kontrol etmek olduğu için “HTTP(s) – JSON Query” seçeneğini bulup işaretlememiz gerekiyor. Bu seçeneği belirledikten sonra, monitörünüz için temel bilgileri doldurmanız istenecektir:

  • Monitör Türü (Monitor Type): HTTP(s) – JSON Query (Otomatik seçili gelmeli)
  • Kolay Ad (Friendly Name): Bu, monitörünüzü Uptime Kuma arayüzünde kolayca tanıyabilmeniz için verilen bir isimdir (örn: “E-ticaret Ürün API Stok Kontrolü”).
  • URL: İzlemek istediğiniz API’nin tam URL’si (örn: https://api.example.com/products/123).
  • İzleme Aralığı (Interval): API’nin ne sıklıkla kontrol edileceğini belirler (örn: 60 saniye, 5 dakika).
  • Tekrar Deneme Sayısı (Retries): Bir hata durumunda kaç kez daha deneme yapılacağını belirler.
  • Zaman Aşımı (Timeout): API’den yanıt beklenirken ne kadar süre bekleneceğini belirler (örn: 5 saniye).
Uzman İpucu: İzleme aralığını belirlerken API’nizin kullanım sıklığını ve ne kadar kritik olduğunu göz önünde bulundurun. Çok sık sorgular API’niz üzerinde gereksiz yük oluşturabilirken, çok seyrek sorgular sorunları geç fark etmenize neden olabilir.

JSON Sorgusu Tanımlama ve Doğrulama

Bu kısım, API JSON izlemenin en kritik adımıdır. Uptime Kuma, JSON yanıtının belirli bir bölümüne erişmek ve bu bölümdeki değeri doğrulamak için JSON Path sözdizimini kullanır. JSON Path, bir XML dosyasında belirli düğümlere erişmek için kullanılan XPath’e benzer bir sorgulama dilidir. İşte temel adımlar:

  1. HTTP İstek Metodu (Request Method): Genellikle API’ler için GET veya POST kullanılır. API’nizin beklediği metodu seçin.
  2. Başlıklar (Headers): Eğer API’niz API anahtarı, yetkilendirme tokenı veya özel başlıklar gerektiriyorsa, bunları “Headers” bölümüne eklemelisiniz. Örneğin:
  3. 
    Authorization: Bearer YOUR_API_TOKEN
    Content-Type: application/json
        

  4. İstek Gövdesi (Request Body): POST veya PUT gibi metotlar kullanıyorsanız, API'ye göndereceğiniz JSON verisini bu alana girin. Örneğin:
  5. 
    {
      "productId": "123",
      "quantity": 1
    }
        

  6. JSON Sorgusu (JSON Query): Buraya JSON Path ifadesini girerek, API yanıtından hangi değeri çekmek istediğinizi belirtin.
  7. Beklenen Değer (Expected Value): JSON sorgusu ile çekilen değerin ne olması gerektiğini buraya yazın.

Gerçek Dünya Senaryosu: E-ticaret Sitesi Ürün Stok Kontrolü

Diyelim ki bir e-ticaret sitenizin ürün API'si aşağıdaki JSON yanıtını döndürüyor:


{
  "status": "success",
  "data": {
    "productId": "SKU001",
    "name": "Akıllı Telefon",
    "price": 999.99,
    "stock": 15,
    "available": true,
    "variants": [
      {"color": "Siyah", "stock": 10},
      {"color": "Beyaz", "stock": 5}
    ]
  }
}

Biz bu API'nin "stock" değerinin 10'dan büyük olup olmadığını kontrol etmek istiyoruz. İşte Uptime Kuma'da nasıl yapacağınız:

  • URL: https://api.example.com/products/SKU001
  • JSON Sorgusu (JSON Query): $.data.stock
  • Karşılaştırma (Comparison): Greater Than (Büyük Eşittir, >)
  • Beklenen Değer (Expected Value): 10

Böylece Uptime Kuma, API'den dönen JSON yanıtındaki data nesnesinin içindeki stock değerini alacak ve bu değerin 10'dan büyük olup olmadığını kontrol edecektir. Eğer değilse, monitör "down" durumuna geçecek ve yapılandırdığınız bildirim kanalları üzerinden sizi uyaracaktır. Bu, sadece API'nin erişilebilir olduğunu değil, aynı zamanda kritik iş verisinin beklendiği gibi olduğunu garanti etmenin güçlü bir yoludur.

Gerçek Dünya Senaryoları ve İleri Düzey JSON İzleme Teknikleri

API JSON sorgu monitörü, sadece basit değer eşleştirmelerinden çok daha fazlasını yapabilir. Gerçek dünya senaryolarında, API yanıtlarındaki dinamik verileri, liste elemanlarını veya birden fazla koşulu aynı anda kontrol etmek gerekebilir. Uptime Kuma'nın esnek yapısı, bu ileri düzey izleme ihtiyaçlarını karşılamak için çeşitli yollar sunar. Bu bölümde, daha karmaşık durumlar için vaka analizleri ve teknik ipuçları sunarak, Uptime Kuma'nın tam potansiyelini nasıl kullanabileceğinizi göstereceğiz.

E-Ticaret Stok Durumu Kontrolü Vaka Analizi

Bir e-ticaret platformunda, stok durumları en kritik verilerden biridir. Yanlış stok bilgisi, fazla satışlara veya müşteri memnuniyetsizliğine yol açabilir. Daha önceki örneğimizde basit bir stok kontrolü yapmıştık, şimdi ise daha kompleks bir senaryoya bakalım. Diyelim ki ürün varyantları olan bir API'miz var ve hem genel stok değerinin belirli bir eşiğin üzerinde olmasını hem de belirli bir varyantın stoğunun tükenmemiş olmasını istiyoruz. Aşağıdaki gibi bir JSON yanıtımız olsun:


{
  "productId": "PRD005",
  "productName": "Akıllı Saat",
  "status": "active",
  "totalStock": 25,
  "variants": [
    {
      "color": "Siyah",
      "size": "L",
      "stock": 10
    },
    {
      "color": "Gümüş",
      "size": "M",
      "stock": 0 
    },
    {
      "color": "Mavi",
      "size": "S",
      "stock": 15
    }
  ],
  "lastUpdated": "2023-10-26T10:30:00Z"
}

Bu senaryoda, Uptime Kuma'da birden fazla JSON Sorgusu ekleyerek hem totalStock değerinin belirli bir eşiğin üzerinde olup olmadığını (örn: > 5) hem de "Gümüş" renkli varyantın stoğunun sıfır olup olmadığını (örn: == 0) kontrol edebiliriz. Eğer Gümüş renkli varyantın stoğu sıfır ise, bu bizim için bir uyarı sebebi olabilir. Uptime Kuma, tek bir monitöre birden fazla JSON Query eklemeye izin verir. Bu durumda:

  1. İlk JSON Sorgusu:
    • JSON Sorgusu (JSON Query): $.totalStock
    • Karşılaştırma (Comparison): Greater Than (Büyük Eşittir, >)
    • Beklenen Değer (Expected Value): 5
  2. İkinci JSON Sorgusu (Yeni Query Ekle):
    • JSON Sorgusu (JSON Query): $.variants[?(@.color=='Gümüş')].stock
    • Karşılaştırma (Comparison): Equal (Eşittir, ==)
    • Beklenen Değer (Expected Value): 0

Bu yapılandırma ile, hem genel stok hem de kritik bir varyantın stok durumu aynı anda izlenebilir. Eğer herhangi bir koşul sağlanmazsa, monitör uyarılır. Bu, API izlemenizi daha granüler ve iş odaklı hale getirir. Unutmayın, JSON Path ifadeleri oldukça güçlüdür ve karmaşık dizi veya nesne filtrelemeleri yapmanıza olanak tanır.

Microservice Mimarilerinde Sağlık Kontrolleri

Mikroservis mimarileri, birçok bağımsız servisin birbiriyle etkileşim kurduğu karmaşık sistemlerdir. Bu servislerin her birinin sağlığını izlemek, genel sistem istikrarı için hayati önem taşır. Çoğu mikroservis, kendi sağlık durumunu raporlayan bir /health veya /status endpoint'i sunar. Bu endpoint'ler genellikle aşağıdaki gibi bir JSON yanıtı döndürür:


{
  "serviceName": "UserService",
  "status": "UP",
  "dependencies": {
    "database": "CONNECTED",
    "cache": "CONNECTED",
    "messageQueue": "CONNECTED"
  },
  "version": "1.0.0",
  "timestamp": "2023-10-26T11:00:00Z"
}

Uptime Kuma ile bu sağlık endpoint'lerini izleyerek, sadece servisin kendisinin "UP" olup olmadığını değil, aynı zamanda bağımlılıklarının da "CONNECTED" durumda olup olmadığını kontrol edebiliriz. Örneğin:

  1. Birinci Sorgu: $.status değeri "UP" olmalı.
  2. İkinci Sorgu: $.dependencies.database değeri "CONNECTED" olmalı.
  3. Üçüncü Sorgu: $.dependencies.cache değeri "CONNECTED" olmalı.

Bu sayede, tek bir servisin bileşenleri veya bağımlılıklarından biri çöktüğünde bile anında haberdar olabiliriz. Bu, hata ayıklama sürecini hızlandırır ve potansiyel kesintileri önlemede kritik rol oynar. Uptime Kuma'nın bu esnekliği, mikroservislerin karmaşıklığını yönetmek için vazgeçilmez bir araç haline getirir.

Dinamik Veri Doğrulama ve Regex Kullanımı (Keyword Monitörü)

Bazı durumlarda, belirli bir değeri değil, belirli bir deseni veya formatı doğrulamak isteyebiliriz. Uptime Kuma'nın "HTTP(s) Keyword" monitör tipi, regex (düzenli ifade) kullanarak bu tür dinamik veri doğrulamalarını yapmanıza olanak tanır. Her ne kadar doğrudan JSON Query monitöründe bir değerin regex ile doğrulanması mümkün olmasa da, JSON Path ile elde ettiğiniz değeri bir keyword monitörüne yönlendirerek veya yanıtın tamamında arama yaparak bunu başarabilirsiniz. Örneğin, bir API yanıtında belirli bir "transactionId" alanının GUID (Globally Unique Identifier) formatında olduğunu doğrulamak isteyebilirsiniz:


{
  "success": true,
  "transactionId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "message": "İşlem başarılı"
}

Bu senaryo için, "HTTP(s) Keyword" monitörü seçilir ve "Anahtar Kelime Tipi" olarak "Regex" seçilerek, "transactionId": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" gibi bir regex pattern'i girilebilir. Eğer JSON'un tamamında bu pattern bulunamazsa, monitör down olacaktır. Bu, sadece API'nin yanıt verdiğini değil, aynı zamanda döndürdüğü dinamik verilerin de beklenen formatta olduğunu garanti eder.
Uptime Kuma'nın arayüzü de mobil uyumlu bir tasarıma sahiptir. Bu sayede, mobil cihazlarınızdan bile rahatlıkla izleme durumlarını kontrol edebilir ve gerektiğinde müdahale edebilirsiniz. Modern web uygulamaları gibi, Uptime Kuma da farklı ekran boyutlarına otomatik olarak adapte olur, bu da mobil cihazlarda kullanıcı deneyimini optimize eder. Bu adaptasyon genellikle CSS medya sorguları (media queries) ile sağlanır, böylece uygulama arayüzü telefon, tablet veya masaüstü bilgisayar ekranlarında sorunsuz bir şekilde görüntülenir.

API İzleme Performansı ve En İyi Uygulamalar

API JSON sorgu monitörlerini Uptime Kuma'da kurmak ve yapılandırmak önemli bir adımdır, ancak bu monitörlerin verimli ve etkili bir şekilde çalışmasını sağlamak için bazı en iyi uygulamaları ve performans hususlarını göz önünde bulundurmak gerekir. Bu bölümde, izleme stratejinizi optimize etmenize yardımcı olacak ipuçları, uyarı mekanizmaları ve güvenlik konularına odaklanacağız.

Sorgu Frekansının Ayarlanması

Monitörlerinizin sorgulama sıklığı (interval), API'lerinizin kritiklik derecesine ve beklenen değişiklik hızına göre ayarlanmalıdır. Çok sık sorgulama (örneğin her 5-10 saniyede bir) API sunucunuz üzerinde gereksiz bir yük oluşturabilir, özellikle de yoğun kullanılan API'ler için. Ayrıca Uptime Kuma sunucunuzun kaynaklarını da tüketebilir. Öte yandan, çok seyrek sorgulama (örneğin saatte bir) sorunları geç fark etmenize ve potansiyel kesintilerin süresini uzatmanıza neden olabilir. İşte dikkate almanız gerekenler:

  • Kritik API'ler: Finansal işlemler, kimlik doğrulama veya temel işlevsellik sağlayan API'ler için 30 saniye ile 1 dakika arasında bir aralık uygun olabilir.
  • Daha Az Kritik API'ler: Analiz verileri, arka plan görevleri veya sık değişmeyen içerik sağlayan API'ler için 5-10 dakikalık aralıklar yeterli olabilir.
  • Deneme Yanılma: Başlangıçta makul bir aralıkla başlayıp, API'nizin performansını ve Uptime Kuma sunucunuzun kaynak tüketimini izleyerek optimize edebilirsiniz.
Uzman İpucu: Monitör aralığını çok kısa tutmaktan kaçının. Bu, hem izlenen API'ye hem de Uptime Kuma sunucunuza gereksiz yük bindirerek yanlış pozitif uyarılara yol açabilir. Genellikle 30-60 saniye çoğu kritik API için yeterli bir frekanstır.

Uyarı Mekanizmaları ve Entegrasyonlar

Bir monitörün amacı, sorunlar oluştuğunda sizi bilgilendirmektir. Uptime Kuma, çeşitli bildirim kanallarıyla entegrasyonu sayesinde bu konuda oldukça esnektir. Doğru uyarı mekanizmalarını kurmak, sorunlara hızlı yanıt vermenizi ve potansiyel aksaklıkları minimize etmenizi sağlar:

  • Çok Kanallı Bildirimler: E-posta, Slack, Discord, Telegram, SMS gibi birden fazla kanalı kullanarak, uyarıların kritik kişilere ulaştığından emin olun.
  • Uyarı Grupları: Farklı API'ler veya kritiklik seviyeleri için farklı uyarı grupları oluşturun. Örneğin, kritik API sorunları için birincil bir ekip, daha az acil durumlar için ikincil bir ekip uyarılabilir.
  • Uyarı Ciddiyeti: Uptime Kuma, monitör durumunu (Up, Down, Degraded) bildirimlerde gösterebilir. Bu durumların ciddiyetine göre farklı tonlarda veya farklı kanallardan bildirim gönderilmesini yapılandırabilirsiniz.
  • Susturma (Mute) Dönemleri: Planlı bakım veya geçici aksaklıklar sırasında gereksiz bildirimleri önlemek için monitörleri kısa süreliğine susturma özelliğini kullanın.

Güvenlik Hususları: API Anahtarları ve Hassas Veriler

API izleme yaparken güvenlik, asla göz ardı edilmemesi gereken bir konudur. Özellikle API anahtarları, tokenlar veya diğer hassas verileri Uptime Kuma'ya girdiğinizde dikkatli olmalısınız:

  • HTTPS Kullanımı: API'nizin URL'sini her zaman HTTPS ile başlayarak girin. Bu, Uptime Kuma ile API arasındaki tüm iletişimin şifreli olmasını sağlar ve MITM (Man-in-the-Middle) saldırılarını önler.
  • API Anahtarı Yönetimi:
    • API anahtarlarını doğrudan URL'de sorgu parametresi olarak göndermek yerine, HTTP başlıkları (Headers) aracılığıyla göndermeyi tercih edin. Bu, anahtarın sunucu loglarında daha az görünür olmasını sağlar.
    • API anahtarınızı Uptime Kuma arayüzüne girdikten sonra, yetkisiz kişilerin Uptime Kuma paneline erişemediğinden emin olun. Uptime Kuma'nın kimlik doğrulama ve yetkilendirme özelliklerini etkinleştirin.
    • Mümkünse, API anahtarlarınızı sadece gerekli izinlere sahip ve en kısıtlı yetki setine sahip anahtarlar olarak oluşturun.
    • API anahtarlarınızı düzenli olarak rotasyon yapın (değiştirin).
  • Hassas Veri Loglaması: Uptime Kuma, genellikle istek ve yanıt içeriklerini loglamaz, ancak yine de API yanıtlarınızda çok hassas kişisel veriler olmadığından emin olun. Gerekirse, API yanıtlarını izleme için anonimleştirmeyi veya yalnızca kritik, hassas olmayan verileri döndürmeyi düşünün.

Bu en iyi uygulamaları takip ederek, Uptime Kuma ile API JSON sorgu monitörlerinizi hem performanslı hem de güvenli bir şekilde işletebilir, böylece API'lerinizin sürekli olarak en iyi durumda olmasını sağlayabilirsiniz.

Sonuç: API'lerinizin Sadece "Canlı" Değil, "Sağlıklı" Olduğundan Emin Olun

Bu makale boyunca, Uptime Kuma'nın güçlü API JSON sorgu monitörü özelliğini derinlemesine inceledik. Artık API'lerinizin sadece HTTP 200 (OK) yanıtı vermesinin yeterli olmadığını, aynı zamanda döndürdüğü JSON verisinin içeriğini, doğruluğunu ve beklenen formatta olup olmadığını kontrol etmenin kritik önemini biliyorsunuz. Uptime Kuma sayesinde, basit erişilebilirlik kontrollerinin ötesine geçerek, API'lerinizin gerçek işlevselliğini ve sağlığını izleyebilme yeteneğine sahipsiniz.

Giriş seviyesinden ileri düzey senaryolara kadar adım adım ilerleyerek, JSON Path sözdizimini kullanarak belirli veri noktalarını nasıl hedefleyeceğinizi, birden fazla koşulu aynı anda nasıl doğrulayacağınızı ve mikroservis mimarilerinde kompleks sağlık kontrollerini nasıl uygulayacağınızı öğrendik. E-ticaret stok kontrolünden mikroservis bağımlılıklarının izlenmesine kadar gerçek dünya vaka analizleri, bu araçların pratik uygulamalarını somutlaştırdı. Ayrıca, sorgu frekanslarını optimize etme, etkili uyarı mekanizmaları kurma ve API anahtarları gibi hassas verileri güvende tutma gibi en iyi uygulamaları da ele alarak, izleme stratejinizi kapsamlı bir şekilde güçlendirdik.

Uptime Kuma, açık kaynak kodlu ve kullanıcı dostu yapısıyla, API izleme süreçlerinizi daha şeffaf ve yönetilebilir hale getirir. API'leriniz artık sadece "çalışıyor" demekle kalmayacak, aynı zamanda "beklendiği gibi, doğru verilerle ve sağlıklı bir şekilde çalışıyor" diyebileceksiniz. Bu, potansiyel sorunları proaktif olarak tespit etmenizi, kesinti sürelerini minimize etmenizi ve nihayetinde daha güvenilir ve istikrarlı uygulamalar sunmanızı sağlayacaktır. API'lerinizin sadece canlı değil, aynı zamanda sağlıklı olduğundan emin olmak için Uptime Kuma'nın JSON sorgu monitörünü kullanmaya hemen başlayın ve dijital altyapınızın gücünü artırın.

Sıkça Sorulan Sorular (SSS)

1. Uptime Kuma sadece JSON API'leri mi izleyebilir?

Hayır, Uptime Kuma oldukça çok yönlü bir izleme aracıdır. JSON API'lerinin yanı sıra, standart HTTP(s) web sitelerini, TCP portlarını, Ping (ICMP) isteklerini, DNS sorgularını, Steam sunucularını, Docker konteynerlerini ve hatta veritabanı bağlantılarını (örneğin PostgreSQL, MySQL) da izleyebilir. JSON Query özelliği, spesifik olarak API yanıtlarının içeriğini doğrulamak için tasarlanmıştır, ancak Uptime Kuma'nın genel yetenekleri çok daha geniştir.

2. JSON Path nedir ve nasıl kullanılır?

JSON Path, bir JSON belgesinde belirli öğeleri veya değerleri seçmek için kullanılan bir sorgulama dilidir. XPath'in XML için yaptığına benzer şekilde, JSON için de veri sorgulaması sağlar. Örneğin, $.data.user.name ifadesi, JSON yanıtının kökündeki ($) data nesnesinin içindeki user nesnesinin name alanına erişir. Köşeli parantezler ([]) dizilerdeki öğelere erişmek için kullanılırken, soru işaretli parantezler ([?()]) belirli koşullara uyan dizi öğelerini filtrelemek için kullanılır (örn: $.products[?(@.price < 10)]).

3. Bir API'nin yanıtı çok büyükse performans sorunu yaşar mıyım?

Uptime Kuma, genel olarak hafif ve verimli çalışır. Ancak, bir API'nin JSON yanıtı çok büyükse (örneğin birkaç megabayt), bu durum hem Uptime Kuma sunucusunun belleğini ve CPU'sunu daha fazla kullanmasına hem de yanıtı işleme süresinin uzamasına neden olabilir. Böyle durumlarda, monitörün "Zaman Aşımı (Timeout)" ayarını API'nin yanıt verme süresine uygun şekilde artırmanız gerekebilir. Mümkünse, API'nizin yalnızca izleme için gerekli minimum veriyi döndürmesini sağlayacak şekilde tasarlanması en iyi yaklaşımdır. Ayrıca, JSON Path sorgularınızın karmaşıklığı da performansı etkileyebilir; çok karmaşık sorgular daha uzun sürebilir.

4. Uptime Kuma'da API anahtarımı güvenle nasıl saklayabilirim?

API anahtarlarınızı Uptime Kuma'ya girerken dikkatli olmalısınız. En güvenli yöntem, API anahtarlarını HTTP başlıkları (Headers) aracılığıyla göndermektir, çünkü bu başlıklar genellikle URL'ye göre daha az loglanır. Uptime Kuma'nın kullanıcı arayüzü bu başlıkları saklar ve gösterir, bu yüzden Uptime Kuma kurulumunuzun kendisinin güvenli olduğundan ve yetkisiz erişime kapalı olduğundan emin olmalısınız (güçlü şifreler, iki faktörlü kimlik doğrulama vb.). Ayrıca, API anahtarınızın yalnızca gerekli en düşük izinlere sahip olduğundan ve düzenli olarak değiştirildiğinden emin olun. Uptime Kuma'nın bu verileri depolama şekli doğrudan kod tabanından incelenebilir, ancak genel prensip, sunucu seviyesindeki güvenliğin sağlanmasıdır.

5. Birden fazla JSON değeri aynı anda kontrol edilebilir mi?

Evet, Uptime Kuma'nın JSON Query monitör tipinde birden fazla "JSON Query" ekleyebilirsiniz. Bu, bir API yanıtında farklı alanlardaki birden fazla değeri veya koşulu aynı anda kontrol etmenize olanak tanır. Örneğin, hem bir API'nin "status" alanının "OK" olduğunu hem de "data.items" dizisinin boş olmadığını aynı monitör içinde iki ayrı JSON Query olarak tanımlayabilirsiniz. Tüm tanımlı JSON sorguları başarılı olursa monitör "Up" durumunda kalır, aksi takdirde "Down" olarak işaretlenir ve bildirim gönderilir.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık