Öğretici: İstek izlemeyi kullanarak API'lerinizde hata ayıklama

ŞUNLAR IÇIN GEÇERLIDIR: Tüketim | Geliştirici | Temel | Standart | Premium

Bu öğreticide, Azure API Management'ta istek işlemenin nasıl denetlendiği (izlenir) açıklanır. İzleme, API'nizde hata ayıklamanıza ve sorun gidermenize yardımcı olur.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Test konsolunda örnek bir çağrıyı izleme
  • İstek işleme adımlarını gözden geçirme
  • API için izlemeyi etkinleştirme

API denetçisini gösteren ekran görüntüsü.

Not

Şu anda Api isteklerinin izlemesi Temel v2 ve Standart v2 katmanlarında desteklenmemektedir.

Önkoşullar

Önemli

  • API Management istek izlemesi artık bir istekte Ocp-Apim-Trace üst bilgisi ayarlanarak ve izlemenin alınması için yanıttaki Ocp-Apim-Trace-Location üst bilgisinin değeri kullanılarak etkinleştirilemiyor.
  • Güvenliği geliştirmek için izleme artık API Management REST API'sini kullanarak zaman sınırlı bir belirteç elde ederek ve belirteci ağ geçidine bir istekte geçirerek tek bir API düzeyinde etkinleştirilir. Ayrıntılar için bu öğreticinin devamında yer alan bölümüne bakın.
  • İzleme verilerindeki hassas bilgileri açığa çıkaraabildiği için izlemeyi etkinleştirirken dikkatli olun. İzleme verilerini korumak için uygun güvenlik önlemlerine sahip olduğunuzdan emin olun.

Portalda aramayı izleme

  1. Azure portalında oturum açın ve API Management örneğine gidin.

  2. API’ler seçeneğini belirleyin.

  3. API listenizden Demo Konferans API'sini seçin.

  4. Test sekmesini seçin.

  5. GetSpeakers işlemini seçin.

  6. İsteğe bağlı olarak, "eye" simgesini seçerek istekte kullanılan Ocp-Apim-Subscription-Key üst bilgisinin değerini denetleyin.

    İpucu

    Portalda başka bir abonelik için bir anahtar alarak Ocp-Apim-Subscription-Key değerini geçersiz kılabilirsiniz. Abonelikler'i seçin ve başka bir abonelik için bağlam menüsünü (...) açın. Anahtarları göster/gizle'yi seçin ve anahtarlardan birini kopyalayın. Gerekirse anahtarları da yeniden oluşturabilirsiniz. Ardından test konsolunda + Üst bilgi ekle'yi seçerek yeni anahtar değeriyle bir Ocp-Apim-Subscription-Key üst bilgisi ekleyin.

  7. İzle'yi seçin.

İzleme bilgilerini gözden geçirme

  1. Arama tamamlandıktan sonra HTTP yanıtında İzleme sekmesine gidin.

  2. Ayrıntılı izleme bilgilerine atlamak için aşağıdaki bağlantılardan herhangi birini seçin: Gelen, Arka uç, Giden, Hatada.

    Yanıt izlemesini gözden geçirme

    • Gelen - Arayandan alınan özgün istek API Management'ı ve isteğe uygulanan ilkeleri gösterir. Örneğin, Öğretici: API'nizi dönüştürme ve koruma altına ilkeler eklediyseniz, bunlar burada görünür.

    • Arka uç - API arka ucuna gönderilen istekler API Management'ı ve aldığı yanıtı gösterir.

    • Giden - Arayana geri göndermeden önce yanıta uygulanan ilkeleri gösterir.

    • Hata durumunda - İsteğin işlenmesi sırasında oluşan hataları ve hatalara uygulanan ilkeleri gösterir.

    İpucu

    Her bir adım, isteğin API Yönetimi tarafından alınmasından bu yana geçen süreyi de gösterir.

API için izlemeyi etkinleştirme

kullanarak curlAPI Management'a istekte bulunurken, REST İstemci uzantısına sahip Visual Studio Code gibi bir REST istemcisine veya bir istemci uygulamasına yönelik izleme özelliğini etkinleştirebilirsiniz.

API Management REST API'sine yapılan çağrıları kullanarak izlemeyi aşağıdaki adımlarla etkinleştirin.

Not

Aşağıdaki adımlar API Management REST API sürüm 2023-05-01-preview veya üzerini gerektirir. REST API'yi çağırmak için API Management örneğinde Katkıda Bulunan veya daha yüksek bir role sahip olmanız gerekir.

  1. Liste hata ayıklama kimlik bilgileri API'sini çağırarak izleme kimlik bilgilerini alın. URI'de ağ geçidi kimliğini geçirin veya buluttaki örneğin yönetilen ağ geçidi için "yönetilen" kullanın. Örneğin, yönetilen ağ geçidinin izleme kimlik bilgilerini almak için aşağıdakine benzer bir çağrı kullanın:

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listDebugCredentials?api-version=2023-05-01-preview
    

    İstek gövdesinde, izlemek istediğiniz API'nin tam kaynak kimliğini geçirin ve olarak tracingbelirtinpurposes. Varsayılan olarak yanıtta döndürülen belirteç kimlik bilgilerinin süresi 1 saat sonra dolar, ancak yükte farklı bir değer belirtebilirsiniz.

    {
        "credentialsExpireAfter": PT1H,
        "apiId": "<API resource ID>",
        "purposes: ["tracing"]
    }
    

    Belirteç kimlik bilgileri, aşağıdakine benzer şekilde yanıtta döndürülür:

    {
          "token": "aid=api-name&p=tracing&ex=......."
    }
    
  2. API Management ağ geçidine bir istek için izlemeyi etkinleştirmek için belirteç değerini bir Apim-Debug-Authorization üst bilgide gönderin. Örneğin, demo konferans API'sine yapılan bir çağrıyı izlemek için aşağıdakine benzer bir çağrı kullanın:

    curl -v GET https://apim-hello-world.azure-api.net/conference/speakers HTTP/1.1 -H "Ocp-Apim-Subscription-Key: <subscription-key>" -H "Apim-Debug-Authorization: aid=api-name&p=tracing&ex=......."
    
  3. Belirteçe bağlı olarak, yanıt farklı üst bilgiler içerir:

    • Belirteç geçerliyse, yanıt değeri izleme kimliği olan bir Apim-Trace-Id üst bilgi içerir.
    • Belirtecin süresi dolduysa yanıt, son kullanma tarihi hakkında bilgi içeren bir Apim-Debug-Authorization-Expired üst bilgi içerir.
    • Belirteç yanlış API için alındıysa, yanıt hata iletisi içeren bir Apim-Debug-Authorization-WrongAPI üst bilgi içerir.
  4. İzlemeyi almak için önceki adımda alınan izleme kimliğini ağ geçidinin Liste izleme API'sine geçirin. Örneğin, yönetilen ağ geçidinin izlemesini almak için aşağıdakine benzer bir çağrı kullanın:

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listTrace?api-version=2023-05-01-preview
    

    İstek gövdesinde, önceki adımda alınan izleme kimliğini geçirin.

    {
        "traceId": "<trace ID>"
    }
    

    Yanıt gövdesi, ağ geçidine yönelik önceki API isteğinin izleme verilerini içerir. İzleme, portalın test konsolunda bir çağrıyı izleyerek görebileceğiniz izlemeye benzer.

İzleme bilgilerini özelleştirme hakkında bilgi için izleme ilkesine bakın.

Sonraki adımlar

Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:

  • Örnek bir çağrıyı izleme
  • İstek işleme adımlarını gözden geçirme
  • API için izlemeyi etkinleştirme

Sonraki öğreticiye ilerleyin: