503 Hizmet Kullanılamıyor - NoActiveTarget

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Videolar

503 hatalarıyla ilgili daha fazla bilgi için aşağıdaki videoları izleyin:

Video Açıklama
Sorun giderme ve "503 Hizmet Kullanılamıyor - NoActiveTarget" sorununu giderme Aşağıdakiler hakkında bilgi edinin:
  • Hedef Sunucuların ve Durum Monitörlerinin Önemi
  • Sorun giderme ve gerçek zamanlı 503 Hizmeti Kullanılamıyor - NoActiveTarget hatasını çözme

Belirti

İstemci uygulaması 503 HTTP yanıt durum kodunu Hizmet Kullanılamıyor mesajı ve NoActiveTargets hata kodu API proxy isteklerine yönelik.

Hata mesajı

Aşağıdaki hata yanıtını görürsünüz:

HTTP/1.1 503 Service Unavailable
  

HTTP yanıtında aşağıdaki hata mesajını görürsünüz:

{
   "fault": {
      "faultstring": "The Service is temporarily unavailable",
      "detail": {
           "errorcode": "messaging.adaptors.http.flow.NoActiveTargets"
       }
    }
}
  

Olası nedenler

NoActiveTarget hata kodunu içeren 503 Hizmet Kullanılamıyor HTTP yanıtı genellikle gözlemlenir. API Proxy'nizdeki hedef uç nokta yapılandırmasında bir veya daha fazla hedef sunucu kullandığınızda

Aşağıdaki tabloda, NoActiveTarget hata koduyla 503 Hizmet Kullanılamıyor sorununun olası nedenleri listelenmiştir:

Neden Açıklama Sorun giderme adımlarını kimler uygulayabilir?
Hedef Sunucu Devre Dışı Bırakıldı Hedef uç nokta yapılandırmasında belirtilen hedef sunucu devre dışı. Edge Herkese Açık ve Private Cloud kullanıcıları
Yanlış DNS çözümlemesinden kaynaklanan bağlantı hataları Hedef sunucunun DNS çözümlemesi, bağlantı hatalarına neden olan hatalı IP adreslerine yol açtı. Edge Private Cloud kullanıcıları
Bağlantı Hataları Ağ veya bağlantı sorunları, istemcinin sunucuya bağlanmasını engelliyor. Edge Private Cloud kullanıcıları
Yanlış Hedef Ana Makine Takma Adı Belirtilen hedef sunucu ana makinesi yanlış veya istenmeyen karakterler (ör. boşluk) içeriyor. Edge Herkese Açık ve Private Cloud kullanıcıları
SSL El Sıkışma Hataları İstemci ile sunucu arasındaki TLS/SSL el sıkışması başarısız oldu. Edge Herkese Açık ve Private Cloud kullanıcıları
Durum Denetimi Hataları Hedef sunucunun durumunu denetlemek üzere yapılandırılan durum denetimleri bazı nedenlerle başarısız olabilir. Edge Private Cloud kullanıcıları

Neden: Hedef sunucu devre dışı

Hedef uç nokta yapılandırmasında belirtilen tüm hedef sunucular devre dışı bırakılırsa NoActiveTarget hata koduyla birlikte 503 Hizmet Kullanılamıyor yanıtını alın.

Teşhis

  1. Belirli Hedef Uç Noktasında kullanılan hedef sunucunun adını belirleyin Aşağıdaki yöntemlerden birini kullanarak başarısız API Proxy'sini yapılandırın:
    1. Tek bir hedef uç nokta varsa o hedef uç noktasını kontrol edin.
    2. Birden fazla hedef uç nokta varsa ve hangisinin hedef sunucuyu devre dışı bıraktığından emin değilseniz aşağıdaki adımları uygulayın:
      1. İzleme oturumunu etkinleştirin, API çağrısını yapın ve sorunu yeniden oluşturun - 503 Hizmet Kullanılamıyor.
      2. İzlemeden Hedef İstek Akışı Başlatıldı'ya gidin ve hedef uç noktanın adını aşağıda gösterildiği gibi belirleyin:
      3. İzden hedef uç nokta adı belirleniyor

  2. Hedef uç noktasını tanımladıktan sonra, aşağıdaki örnekte gösterildiği gibi hedef uç nokta yapılandırmasından kullanılan hedef sunucu adını alın:
    <TargetEndpoint name="default">>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="demo-target" />
        </LoadBalancer>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
          
    .

    Yukarıdaki örnekte, demo-target adında tek bir hedef sunucu vardır.

  3. Edge kullanıcı arayüzü veya Edge API çağrısını kullanarak hedef uç noktada kullanılan her hedef sunucunun tanımını alın.

    Edge kullanıcı arayüzü

    Edge kullanıcı arayüzünü kullanarak tanımı almak için:

    1. Yönetici > Ortamlar > Hedef Sunucular.
    2. Hatayı gördüğünüz ortamı seçin.
    3. Hedef sunucu tanımını öğrenmek için ilgili hedef sunucu adını arayın.

      Örneğin, hedef sunucunun adını demo-target yazdığınızda tanımını aşağıda gösterildiği gibi görürsünüz:

      Hedef sunucu adı ve etkin/devre dışı durumu

      Burada, demo-target hedef sunucusundaki hedef sunucu için bir ana makine takma adı, bağlantı noktası numarası ve SSL'nin etkin olduğuna dikkat edin. Ancak hedef sunucunun kendisi devre dışıdır . Bu durum, ETKİN öğesinin devre dışı bırakıldığını gösterir.

    Edge API'si

    Edge API'yi kullanarak tanımı almak için:

    Hedef sunucu tanımını almak için TargetServer API'yi alın.

    Hedef Sunucu Tanımı Çıkışı

    <TargetServer name="demo-target">
      <Host>demo-target.apigee.net</Host>
      <Port>443</Port>
      <IsEnabled>false</IsEnabled>
      <SSLInfo>
          <Enabled>true</Enabled>
      </SSLInfo>
    </TargetServer>
              

    Apigee API çıkışı, hedef sunucu demo hedefinin devre dışı olduğunu gösteriyor. IsEnabled öğesi yanlış olarak ayarlandığından emin olun.

    Hedef sunucu devre dışı bırakıldığı için İleti İşleyen, 503 Hizmeti NoActiveTarget (Etkin Hedeflemeler) hata koduyla hemen kullanılamaz. yanıt verebilir.

Çözünürlük

API'nizin hedef uç nokta yapılandırmasında kullanılan belirli hedef sunucuların Proxy her zaman etkindir.

Edge kullanıcı arayüzü

  1. Yönetici > Ortamlar > Hedef Sunucular.
  2. Hatayı gördüğünüz ortamı seçin.
  3. Tanımını öğrenmek istediğiniz hedef sunucu adını arayın.
  4. İlgili hedef sunucuyu seçip Düzenle'yi tıklayın.
  5. Etkin onay kutusunu işaretleyin.
  6. Güncelle'yi tıklayın.

Edge API'si

Hedef sunucu tanımını güncellemek için hedef sunucu API'sini güncelleyin ve IsEnabled, API'nin istek yükünde aşağıda gösterildiği gibi true olarak ayarlanır:

<TargetServer name="demo-target">
  <Host>demo-target.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
      <Enabled>true</Enabled>
  </SSLInfo>
</TargetServer>
        

Sorun devam ederse şu adrese gidin: Teşhis Bilgileri Toplanmalıdır.

API izlemeyi kullanarak sorunları teşhis edin

API İzleme, sorunları diğerlerinden ayırarak hata, performans ve gecikme sorunlarını ve bunların kaynağını hızla teşhis etmek için (ör. geliştirici, API proxy'leri, arka uç hedefleri veya API platformu.

Örnek senaryoyu inceleyin . Örneğin, messaging.adaptors.http.flow.NoActiveTargets sayısı konusunda bilgilendirilmek için bir uyarı ayarlayabilirsiniz belirli bir eşiği aştığını unutmayın.

Teşhis bilgileri toplanmalıdır

Yukarıdaki talimatları uygulamanıza rağmen sorun devam ederse lütfen aşağıdaki bilgileri toplayın teşhis bilgisi olarak kullanabilirsiniz. Apigee Destek Ekibi ile iletişime geçip paylaşın:

  1. Herkese Açık Bulut kullanıcısıysanız aşağıdaki bilgileri sağlayın:
    1. Kuruluş Adı
    2. Ortam Adı
    3. API Proxy Adı
    4. Hatayı yeniden oluşturmak için curl komutunu tamamlayın
    5. 503 hizmeti kullanılamıyor durumuna sahip istekleri içeren ve NoActiveTarget hata koduna sahip izleme dosyası
  2. Private Cloud kullanıcısıysanız aşağıdaki bilgileri sağlayın:
    1. Tam Hata Mesajı gözlemlendi
    2. Ortam Adı
    3. API Proxy paketi
    4. 503 hizmeti kullanılamıyor durumuna sahip istekleri içeren ve NoActiveTarget hata koduna sahip izleme dosyası
    5. NGINX Erişim Günlükleri

      (/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log)

    6. Mesaj İşlemci Günlükleri

      (/opt/apigee/var/log/edge-message-processor/logs/system.log)