Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Videolar
503 hataları hakkında daha fazla bilgi edinmek için aşağıdaki videolara göz atın:
| Video | Açıklama |
|---|---|
| 503 Hizmet Kullanılamıyor - NoActiveTargets hatasını giderme ve çözme | Aşağıdaki konular hakkında bilgi edinin:
|
Belirti
İstemci uygulaması, API proxy istekleri için Service Unavailable mesajı ve NoActiveTargets hata koduyla birlikte 503 HTTP yanıt durum kodunu alır.
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
NoActiveTargets hata koduyla birlikte 503 Service Unavailable HTTP yanıtı genellikle API proxy'nizdeki hedef uç nokta yapılandırmasında bir veya daha fazla hedef sunucu kullandığınızda görülür.
Aşağıdaki tabloda, 503 Hizmet Kullanılamıyor yanıtının NoActiveTargets hata koduyla birlikte gönderilmesinin olası nedenleri listelenmiştir:
| Neden | Açıklama | Sorun giderme adımlarını kimler uygulayabilir? |
|---|---|---|
| Hedef Sunucu Devre Dışı | Hedef uç nokta yapılandırmasında belirtilen hedef sunucu devre dışı. | Edge Public ve Private Cloud kullanıcıları |
| Yanlış DNS çözümlemesi nedeniyle bağlantı hataları | Hedef sunucunun DNS çözümlemesi, bağlantı hatalarına yol açan kötü IP adresleriyle sonuçlandı. | 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 Public ve Private Cloud kullanıcıları |
| SSL El Sıkışma Hataları | İstemci ile sunucu arasında TLS/SSL el sıkışma işlemi başarısız oldu. | Edge Public ve Private Cloud kullanıcıları |
| Durum Denetimi Hataları | Hedef sunucunun durumunu kontrol etmek için yapılandırılan durum denetimleri, bazı nedenlerden dolayı 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 NoActiveTargets hata koduyla 503 Service Unavailable yanıtı alırsınız.
Teşhis
- Aşağıdaki yöntemlerden birini kullanarak başarısız olan API proxy'sinin belirli hedef uç nokta yapılandırmasında kullanılan hedef sunucunun adını belirleyin:
- Tek bir hedef uç nokta varsa bu hedef uç noktayı kontrol edin.
- Birden fazla hedef uç nokta varsa ve hedef sunucunun hangisinde devre dışı bırakıldığından emin değilseniz aşağıdaki adımları uygulayın:
- İzleme oturumunu etkinleştirin, API çağrısını yapın ve 503 Hizmet Kullanılamıyor sorununu yeniden oluşturun.
- İzlemede Target Request Flow Started'a (Hedef İstek Akışı Başlatıldı) gidin ve hedef uç noktanın adını aşağıdaki şekilde belirleyin:
- Hedef uç noktayı belirledikten sonra, hedef uç nokta yapılandırmasından kullanılan hedef sunucu adını alın. Aşağıdaki örnekte bu işlem gösterilmektedir:
<TargetEndpoint name="default">> <HTTPTargetConnection> <LoadBalancer> <Server name="demo-target" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>Yukarıdaki örnekte, demo-target adlı tek bir hedef sunucu var.
- Hedef uç noktasında kullanılan hedef sunucuların her birinin tanımını Edge kullanıcı arayüzünü veya Edge API çağrısını kullanarak alın.
Edge kullanıcı arayüzü
Edge kullanıcı arayüzünü kullanarak tanımı almak için:
- Yönetici > Ortamlar > Hedef Sunucular'a gidin.
- Hatayı gördüğünüz ortamı seçin.
- Hedef sunucu tanımını almak için belirli hedef sunucu adını arayın.
Örneğin, hedef sunucu adını
demo-targetolarak girerseniz tanımı aşağıdaki gibi gösterilir:
Burada hedef sunucu demo-target'ın ana makine takma adı, bağlantı noktası numarası olduğunu ve SSL'nin etkinleştirildiğini unutmayın. Ancak hedef sunucunun kendisi devre dışıdır . Bu durum, ENABLED öğesinin gri renkte olmasıyla gösterilir.
Edge API
Edge API'yi kullanarak tanımı almak için:
Hedef sunucu tanımını almak için Get TargetServer API'yi kullanı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ışı, IsEnabled öğesi false olarak ayarlandığından hedef sunucunun demo-target devre dışı olduğunu gösteriyor.
Hedef sunucu devre dışı olduğundan Mesaj İşleyici, istemciye yanıt olarak hemen 503 Service Unavailable (503 Hizmet Kullanılamıyor) hatasını NoActiveTargets (Etkin Hedef Yok) hata koduyla birlikte gönderir.

Çözünürlük
API Proxy'nizin hedef uç nokta yapılandırmasında kullanılan belirli hedef sunucuların her zaman etkin olduğundan emin olun.
Edge kullanıcı arayüzü
- Yönetici > Ortamlar > Hedef Sunucular'a gidin.
- Hatayı gördüğünüz ortamı seçin.
- Tanımını almak için belirli hedef sunucu adını arayın.
- İlgili hedef sunucuyu seçip Düzenle'yi tıklayın.
- Etkin onay kutusunu işaretleyin.
- Güncelle'yi tıklayın.
Edge API
Hedef sunucu tanımını güncellemek ve Update a Target Server API'nin aşağıdaki gibi API'nin istek yükünde IsEnabled'ın true olarak ayarlandığından emin olmak için bu API'yi kullanın:
<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 Must Gather Diagnostic Information (Teşhis Bilgileri Toplama) bölümüne gidin.
API izlemeyi kullanarak sorunları teşhis etme
API Monitoring, hata, performans ve gecikme sorunlarını ve bunların kaynağını (ör. geliştirici uygulamaları, API proxy'leri, arka uç hedefleri veya API platformu) teşhis etmek için sorunlu alanları hızlı bir şekilde izole etmenizi sağlar.
API İzleme'yi kullanarak API'lerinizdeki 5xx sorunlarını nasıl gidereceğinizi gösteren örnek bir senaryoyu adım adım inceleyin. Örneğin, messaging.adaptors.http.flow.NoActiveTargets
hataların sayısı belirli bir eşiği aştığında bildirim almak için uyarı oluşturmak isteyebilirsiniz.
Teşhis bilgilerini toplamalıdır
Yukarıdaki talimatları uyguladıktan sonra sorun devam ederse lütfen aşağıdaki teşhis bilgilerini toplayın. Aşağıdaki bilgileri Apigee Destek Ekibi ile iletişime geçerek paylaşın:
- Herkese açık bulut kullanıcısıysanız aşağıdaki bilgileri sağlayın:
- Kuruluş Adı
- Ortam adı
- API Proxy'sinin Adı
- Hatayı yeniden oluşturmak için kullanılan curl komutunun tamamı
- NoActiveTargets hata koduyla 503 Hizmet Kullanılamıyor hatası içeren istekleri içeren izleme dosyası
- Private Cloud kullanıcısıysanız aşağıdaki bilgileri sağlayın:
- Gözlemlenen hata mesajının tamamı
- Ortam adı
- API proxy paketi
- NoActiveTargets hata koduyla 503 Hizmet Kullanılamıyor hatası içeren istekleri içeren izleme dosyası
- NGINX Erişim Günlükleri
(
/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log) - Mesaj İşleyici Günlükleri
(
/opt/apigee/var/log/edge-message-processor/logs/system.log)