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 |
---|---|
DNS sorunundan kaynaklanan 503 Hizmeti Kullanılamıyor Hatasını Giderme ve Çözme | Aşağıdakiler hakkında bilgi edinin:
|
Ağ sorunu nedeniyle 503 Hizmeti Kullanılamıyor Hatasını Giderme ve Çözme | Apigee Edge'deki ağ sorunundan kaynaklanan gerçek zamanlı 503 Hizmet Kullanılamıyor Hatası'nı giderme ve çözme |
Belirti
İstemci uygulaması Hizmet Kullanılamıyor mesajıyla birlikte 503 HTTP yanıt durumu alıyor API proxy çağrısının ardından
Hata mesajları
Aşağıdaki hata mesajını görebilirsiniz:
HTTP/1.1 503 Service Unavailable
HTTP yanıtında aşağıdaki hata mesajını da görebilirsiniz:
Hizmet kullanılamıyor
{ "fault": { "faultstring": "The Service is temporarily unavailable", "detail": { "errorcode": "messaging.adaptors.http.flow.ServiceUnavailable" } } }
Olası nedenler
messaging.adaptors.http.flow.ServiceUnavailable
hata kodunu içeren 503 Hizmet Kullanılamıyor HTTP yanıtı
bağlantı zaman aşımına bağlı olarak Apigee Edge’in Mesaj İşlemcisi’nde hata oluşursa, yanlış
ana makine adı veya arka uç sunucusuyla iletişim kurarken SSL el sıkışma hataları.
503 Hizmet Kullanılamıyor yanıtının olası nedenleri şunlardır:
Neden | Açıklama | Sorun giderme adımlarını kimler uygulayabilir? |
---|---|---|
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 sunucu ana makine 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. (Bu sınıf için sorun giderme problemi ayrı bir konuda ele alacağız.) | Edge Herkese Açık ve Private Cloud kullanıcıları |
Sık kullanılan teşhis adımları
Başarısız isteğin Mesaj Kimliğini belirleme
İzleme aracı
İzleme Aracı'nı kullanarak başarısız isteğin ileti kimliğini belirlemek için:
- Sorun hâlâ devam ediyorsa etkilenen API için izleme oturumunu etkinleştirin.
- API çağrısında bulunun ve sorunu yeniden oluşturun: 503 Hizmet Kullanılamıyor durumu (
messaging.adaptors.http.flow.ServiceUnavailable.
hata koduyla) - Başarısız isteklerden birini seçin.
- AX aşamasına gidin ve aşağıdaki şekilde gösterildiği gibi, Aşama Ayrıntıları bölümünü aşağı kaydırarak isteğin ileti kimliğini (
X-Apigee.Message-ID
) belirleyin.
NGINX erişim günlükleri
NGINX erişim günlüklerini kullanarak başarısız isteğin ileti kimliğini belirlemek için:
503 hatalarının ileti kimliğini belirlemek için NGINX Erişim günlüklerine de bakabilirsiniz. Bu, özellikle sorun geçmişte olduysa veya ara sıra devam ediyorsa işe yarar ve kullanıcı arayüzünde izini yakalayamazsınız. NGINX erişim günlüklerindeki bu bilgileri belirlemek için aşağıdaki adımları uygulayın:
- NGINX erişim günlüklerini kontrol edin: (
/opt/apigee/var/log/edge-router/nginx/ <org>~ <env>.<port#>_access_log
) - Belirli bir süre içinde belirli API proxy'si için 503 hatası olup olmadığını arayın (sorun geçmişte oluşmuşsa) veya 503 ile hâlâ başarısız olan istekler varsa.
- X-Apigee-fault-codeMessaging.adaptors.http.flow.Servicelarından yararlanarak herhangi bir 503 hatası varsa
aşağıdaki örnekte gösterildiği gibi, bu tür bir veya daha fazla isteğin ileti kimliğini not edin:
503 Hatası'nı gösteren Örnek Giriş
Yanlış DNS çözümlemesinden kaynaklanan bağlantı hataları
Teşhis
- Başarısız isteğin mesaj kimliğini belirleyin.
- Mesaj İşleyen günlüğünde (
/opt/apigee/var/log/edge-message-processor/logs/system.log
) belirli bir istek iletisi kimliğini arayın. Aşağıdaki hataları görebilirsiniz:
onConnectTimeout hatası, İleti İşleyen'in önceden ayarlanmış bağlantı zaman aşımı süresi içinde (Varsayılan: 3 saniye) arka uç sunucusuna bağlanamadığını gösterir.2019-08-14 09:11:49,314 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onTimeout() : ClientChannel[Connected:]@164162 useCount=1 bytesRead=0 bytesWritten=0 age=3001ms lastIO=3001ms .onConnectTimeout connectAddress=www.abc.com/11.11.11.11 resolvedAddress=www.abc.com/22.22.22.22 2019-08-14 09:11:49,333 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@0 ERROR ADAPTORS.HTTP.FLOW - RequestWriteListener.onTimeout() : RequestWriteListener.onTimeout(HTTPRequest@6b393600)
- onConnectTimeout hatasındaki çözümlenen IP adresini not edin ve IP adresinin arka uç sunucunuz için geçerli olup olmadığını kontrol edin. IP adresi geçerliyse Bağlantı Hataları'na gidin.
- IP adresi geçersizse bunun nedeni büyük olasılıkla DNS çözümlemesiyle ilgili sorunlardır.
- Başarısız birkaç API isteği daha için 3. ve 4. adımı tekrarlayın ve aynı veya başka geçersiz IP adresleri görüp görmediğinizi doğrulayın.
- İleti İşleyici günlüğünde (
/opt/apigee/var/log/edge-message-processor/logs/system.log
) DNS Refresh anahtar kelimesini içeren iletileri arayın. İleti İşleyici'de zaman zaman hatalı veya geçersiz IP adreslerinin DNS önbelleğine eklenip eklenmediğini kontrol edin.2019-08-14 09:11:49,314 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@0 INFO c.a.p.h.d.DNSCachedAddress - DNSCachedAddress.reportDifferences() : DNS Refresh for host: apitarget-uat.schemeweb.co.uk:4436. Added 2 IPs [www.abc.com/22.22.22.22, www.abc.com/33.33.33.33] Removed 1 IPs [www.abc.com/11.11.11.11]
- Bu sorun, yetkili DNS sunucuları veya
/etc/resolv.conf
politikasında yapılandırılan alan adı sunucuları ile ilgili sorun varsa ortaya çıkabilir.
. 'nı inceleyin.
Genellikle, DNS çözümlemesini gerçekleştirmek üzere yapılandırılmış bir veya daha fazla yetkili DNS sunucusu olabilir. Yetkili DNS sunucusu yoksa/etc/resolv.conf
hizmetindeki yapılandırma ayarlarını kullanır ve DNS çözümlemesini gereken şekilde gerçekleştirir. Örneğin/etc/resolv.conf
, belirli alan adı sunucularını kullanacak şekilde yapılandırılmışsa DNS çözümlemesi için bu alan adı sunucuları kullanılır. /etc/resolv.conf
politikasında belirtilen yetkili DNS sunucuları veya alan adı sunucuları ile ilgili sorun varsa arka uç sunucusu ana makine adları, hatalı/geçersiz IP adreslerine çözümlenir. Bu durumda hatalı/geçersiz IP adresleri İleti İşleyen'in DNS önbelleğinde depolanır./etc/resolv.conf
politikasında belirtilen yetkili DNS sunucuları veya alan adı sunucularıyla ilgili sorun devam ediyorsa hatalı/geçersiz IP adresleri, İleti İşleyen'in DNS önbelleğinde kalmaya devam eder. Hatalı IP adresleri İleti İşleyici'nin DNS önbelleğinde depolandığı sürece, ilgili arka uç sunucusunu kullanan tüm bu API'lara yapılan istekler 503 hatasıyla başarısız olur./etc/resolv.conf
politikasında belirtilen yetkili DNS sunucuları veya alan adı sunucularıyla ilgili sorun aralıklıysa iyi ve kötü IP adresleri aralıklı olarak DNS önbelleğinde depolanır. Bu durumda, ilgili arka uç sunucusunu kullanan tüm API'lerde ara sıra 503 hataları görürsünüz.
- DNS sunucularıyla ilgili sorun kalıcıysa sürekli hatalarla karşılaşırsınız. DNS sunucularıyla ilgili sorun aralıklıysa, aralıklı olarak hata mesajları görürsünüz. Diğer bir deyişle, arka uç sunucu ana makine adı kötü IP adreslerine çözümlendiğinde 503 hataları görürsünüz. Arka uç sunucu ana makine adları iyi IP adreslerine çözümlendiğinde başarılı yanıtlar olduğunu görürsünüz.
Çözünürlük
Lütfen işletim sistemi yöneticinizle birlikte çalışarak DNS sunucularıyla ilgili sorunları giderin.
/etc/resolv.conf
politikasında belirtilen yetkili DNS sunucularınızla veya alan adı sunucularınızla ilgili bir sorun varsa düzeltmek için uygun sunucuyla ilgili sorunu düzeltin.- İleti İşlemcilerinin bulunduğu sistemlerde
/etc/resolv.conf
yapılandırmasıyla ilgili herhangi bir sorun varsa yapılandırma sorununu düzeltin.
Bağlantı hataları
Apigee Edge mesaj işlemcisi bir arka uca bağlanmaya çalıştığında bağlantı hatası oluşuyor sunucusunda sorun, şu sorunlardan biri oluşur:
- İleti İşleyici, önceden ayarlanmış bağlantı zaman aşımı süresi içinde bağlanamıyor. (Varsayılan: 3 saniye)
- Arka uç sunucusu bağlantıyı reddediyor.
Teşhis
- Başarısız isteğin mesaj kimliğini belirleyin.
-
Mesaj İşleyen günlüğünde (
/opt/apigee/var/log/edge-message-processor/logs/system.log
) belirli bir istek iletisi kimliğini arayın. Aşağıdaki hataları görebilirsiniz:-
onConnectTimeout hatası, İleti İşleyici'nin
arka uç sunucusuna önceden ayarlanmış bağlantı zaman aşımı süresi içinde bağlanmalıdır.
2016-06-23 09:11:49,314 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@2 ERROR HTTP.CLIENT - HTTPClient$Context.onTimeout() : ClientChannel[C:]@10 useCount=1 bytesRead=0 bytesWritten=0 age=3001ms lastIO=3001ms .onConnectTimeout connectAddress=www.abc.com/11.11.11.11:80 resolvedAddress=www.abc.com/11.11.11.11 2016-06-23 09:11:49,333 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@2 ERROR ADAPTORS.HTTP.FLOW - RequestWriteListener.onTimeout() : RequestWriteListener.onTimeout(HTTPRequest@6b393600)
-
java.net.ConnectException: Connection rejected (Bağlantı reddedildi) hatası, bağlantıyı belirtir
, arka uç sunucusu tarafından reddedildi.
14:40:16.531 +0530 2016-06-17 09:10:16,531 org:myorg env:prod api:www.abc.com rev:1 rrt07eadn-22739-40983870-15 NIOThread@2 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to www.abc.com:11.11.11.11:443 failed with exception {} java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.0_75] at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) ~[na:1.7.0_75] at com.apigee.nio.ClientChannel.finishConnect(ClientChannel.java:121) ~[nio-1.0.0.jar:na] at com.apigee.nio.handlers.NIOThread.run(NIOThread.java:108) ~[nio-1.0.0.jar:na]
-
onConnectTimeout hatası, İleti İşleyici'nin
arka uç sunucusuna önceden ayarlanmış bağlantı zaman aşımı süresi içinde bağlanmalıdır.
- Her bir
telnet
komutunu kullanarak mesaj işleyenler:- Arka uç sunucusu tek bir IP adresine çözümlenirse aşağıdaki komutu kullanın:
telnet BackendServer-IPaddress 443
. - Arka uç sunucusu birden fazla IP adresine çözümlenirse ana makine adını kullanın
arka uç sunucusuna aşağıda gösterildiği gibi
telnet
komutu ekler:telnet BackendServer-HostName 443
- Arka uç sunucusu tek bir IP adresine çözümlenirse aşağıdaki komutu kullanın:
- Arka uç sunucusuna bağlanabiliyorsanız
Connected to backend-server
gibi bir mesaj görebilirsiniz. Arka uç sunucusuna bağlanamıyorsanız bunun nedeni aşağıdakilerden biri olabilir: çünkü Mesaj İşleyicilerin IP adresleri belirli arka uçta izin verilenler listesinde değil sunucu.
Çözünürlük
İzin vermek için, belirli arka uç sunucusunda Mesaj İşleyici'nin IP adreslerine erişim verin arka uç sunucunuza erişmek için uç mesaj işlemcilerinin trafiğini artırır. Örneğin, Linux'ta, İleti İşleyen'in IP adreslerinden gelen trafiğe izin vermek için iptables arka uç sunucusunda depolanıyor.
Sorun devam ederse, ağ yöneticinizle birlikte çalışarak . Apigee'den daha fazla yardıma ihtiyacınız olursa Apigee Destek Ekibi ile iletişime geçin.
Yanlış hedef sunucu ana makine adı
Teşhis
Hedef sunucuda belirtilen ana makine adı yanlışsa hata koduyla birlikte 503 Hizmet Kullanılamıyor yanıtını alabilirsiniz
messaging.adaptors.http.flow.ServiceUnavailable.
İzleme aracı
İzleme aracını kullanarak teşhis etmek için:
- Sorun hâlâ devam ediyorsa etkilenen API için izleme oturumunu etkinleştirin.
- API çağrısında bulunun ve sorunu yeniden oluşturun: 503 Hizmet Kullanılamıyor durumu (
messaging.adaptors.http.flow.ServiceUnavailable.
hata koduyla) - Başarısız isteklerden birini seçin.
- İzlemenin çeşitli aşamaları arasında gezinin ve hatanın nerede oluştuğunu bulun.
- Hatanın bulunduğu FlowInfo'yu seçin. error.cause alanında, aşağıdaki örnekte gösterildiği gibi hatanın nedenini size bildirebilecek daha fazla bilgi bulabilirsiniz:
İzde error.cause öğesini gösteren örnek istek
- error.cause alanında Ana makineye erişilemiyor mesajının gösterildiğini fark ederseniz hatanın olası nedeni aşağıdakilerden biridir:
- Hedef sunucu/hedef uç nokta yapılandırmasında belirtilen ana makine adı yanlış veya istenmeyen alan ya da özel karakterler içeriyor.
Örneğin, ana makine adında aşağıda gösterildiği gibi istenmeyen bir alan vardır:
"demo-target.apigee.net "
- API Proxy'sinde AssignmentMessage veya target.url değişkeninin üzerine yazılan ana makine adı JavaScript politikası yanlış veya boşluk ya da istenmeyen başka özel karakterler içeriyor.
- Hedef sunucu/hedef uç nokta yapılandırmasında belirtilen ana makine adı yanlış veya istenmeyen alan ya da özel karakterler içeriyor.
- Hedef sunucu ana makine adının yanlış olup olmadığını veya istenmeyen alan ya da özel karakterler içerip içermediğini görmek için hedef uç nokta yapılandırmasını ve/veya hedef sunucu tanımını kontrol edin.
- Hedef sunucu ana makinesi dinamik olarak oluşturulduysa oluşturmak için kullanılan uygun politikayı (ör. assignMessage/JavaScript politikası) kontrol edin. Kontrol etme hedefi hedef sunucunun ana makine adının yanlış olup olmadığını veya istenmeyen boşluk ya da özel karakterler içerip içermediğini kontrol edin.
- Hedef sunucu ana makine adını belirledikten sonra, sorunun çözülüp çözülmediğini görmek için ana makine adında
nslookup/dig
komutunu çalıştırın.Örneğin, ana makine adında
nslookup
komutunu istenmeyen bir boşlukla çalıştırmak aşağıdaki çıkışı döndürür:nslookup "demo-target.apigee.net " Server: 49.205.75.2 Address: 49.205.75.2#53 ** server can't find demo-target.apigee.net\032: NXDOMAIN
. nslookup
işletim sistemi komutu da ana makine adını çözemezse bu sorunun nedeni hedef sunucu için kullanılan yanlış ana makine adıdır.Çözünürlük'e gidin.
Mesaj işlemci günlükleri
Mesaj işlemci günlüklerini kullanarak teşhis etmek için:
- Başarısız isteğin mesaj kimliğini belirleyin.
- İleti İşleyen günlüğünde ileti kimliğini arayın. (
/opt/apigee/var/log/edge-message-processor/logs/system.log
) - Aşağıdaki uyarı/hata mesajlarını görüyorsanız İleti İşleyici, ana makine adını çözümleyemedi. İleti erteleneceği için bu mesajı göremeyebilirsiniz
uyarı mesajı gönderin.
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 WARN S.HTTPCLIENTSERVICE - DNSCache$2.failed() : Failed to resolve hostname www.somehost.com . Reason mocktarget.apigee.net : Name or service not known. This log message will snooze for 2 hours
- Bunun ardından bir uyarı mesajı gösterilir. Bu mesajda, hedef sunucu ana makinesine ulaşılamadığından Mesaj İşleyici bu adresi DNS önbelleğinden kaldırır.
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 WARN c.a.p.h.d.DNSCachedAddress - DNSCachedAddress.addressNotReachable() : The last address has been removed from Address list null refreshing
- Bu durumda, "Ana makineye erişilemiyor" istisnasıyla Mesaj İşleyici'nin başarısız olduğunu belirten bir mesaj görebilirsiniz. Bazen hata mesajının bir parçası olarak ana makine adı gösterilir:
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to demo-target.apigee.net failed with exception {} java.lang.RuntimeException: Host not reachable at com.apigee.protocol.http.HTTPClient$Context.initConnect(HTTPClient.java:704) at com.apigee.protocol.http.HTTPClient$Context.send(HTTPClient.java:675) at com.apigee.messaging.adaptors.http.flow.data.TargetRequestSender.sendRequest(TargetRequestSender.java:234) …<snipped>
. - Ana makine adı aşağıda gösterildiği gibi çözümlenemediği veya bu ada erişilebildiği için bazen null olarak gösterilebilir:
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to null failed with exception {} java.lang.RuntimeException: Host not reachable at com.apigee.protocol.http.HTTPClient$Context.initConnect(HTTPClient.java:704) at com.apigee.protocol.http.HTTPClient$Context.send(HTTPClient.java:675) at com.apigee.messaging.adaptors.http.flow.data.TargetRequestSender.sendRequest(TargetRequestSender.java:234) …<snipped>
Host not reachable
hatası genellikle aşağıdaki durumlardan birinde ortaya çıkar:- Hedef sunucu/hedef uç nokta yapılandırmasında belirtilen ana makine adı yanlış veya istenmeyen alan ya da özel karakterler içeriyor.
Örneğin, "demo-target.Apigee.net " ana makine adında istenmeyen bir boşluk vardır şu hata mesajıyla değiştirin:NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to demo-target.apigee.net failed with exception
- assignMessage veya JavaScript politikası kullanılarak API Proxy'sinde target.url değişkeni tarafından üzerine yazılan ana makine adı yanlıştır veya boşluk ya da istenmeyen başka özel karakterler içeriyordur.
- Hedef sunucu/hedef uç nokta yapılandırmasında belirtilen ana makine adı yanlış veya istenmeyen alan ya da özel karakterler içeriyor.
- Aşağıdakilerden birini kullanarak Mesaj İşleyici'nin iletişim kurmaya çalıştığı hedef sunucu ana makine adını belirleyin:
Host not reachable
ifadesini içeren hata mesajını dikkatlice inceleyin.- Hata mesajında ana makine adı gösteriliyorsa boşluk veya özel karakterlerle birlikte ana makine adını kopyalayın.
- Hata mesajında, aşağıdaki hata mesajında görüldüğü gibi ana makine adı için boş değeri gösteriliyorsa
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to null failed with exception {}
- Başarısız olan API Proxy'sinde kullanılan hedef sunucu tanımını kontrol ederek ana makine adını belirleyin.
- Hedef sunucu ana makinesi dinamik olarak oluşturulduysa oluşturmak için kullanılan uygun politikayı (örneğin, assignMessage/JavaScript politikası) kontrol edin.
- Hedef sunucu ana makine adını belirledikten sonra, ana makine adında nslookup/dig komutunu çalıştırın ve sorunun çözülüp çözülmediğine bakın.
Örneğin, boşluk içeren ana makine adında nslookup komutunu çalıştırın
nslookup "demo-target.apigee.net " Server: 49.205.75.2 Address: 49.205.75.2#53 ** server can't find demo-target.apigee.net\032: NXDOMAIN
. - nslookup işletim sistemi komutu da ana makine adını çözemezse bu sorunun nedeni hedef sunucu için kullanılan yanlış ana makine adıdır.
Çözünürlük
- Hedef uç nokta yapılandırmasında veya hedef sunucuda belirtilen hedef sunucu ana makine adının doğru olmalı ve istenmeyen boşluk veya özel karakter içermemelidir.
- Hedef sunucu ana makine adını dinamik olarak oluşturmak için herhangi bir AssignmentMessage/JavaScript politikası kullanıyorsanız politika tanımını ve kodu inceleyin ve hedef sunucu ana makine adının doğru şekilde oluşturulduğundan emin olun.
SSL el sıkışma hataları
Sorun giderme başucu kitabının tamamı TLS/SSL el sıkışma hatalarına ayrılmıştır. SSL El Sıkışma Hataları başlıklı makaleye göz atın.
Sorunun kaynağını belirlemek
Gelen (kuzeyye) veya giden (güne doğru) yolda belirli türlerde hatalar oluşabilir bağlantı. İstemci uygulaması ile Edge arasında gelen (kuzeyye doğru) bir hata oluşur. Edge ile arka uç hedef sunucusu arasında giden (güneye giden) bir hata oluşur. Bunları teşhis etmek için tespit etmek istiyorsanız ilk işiniz hatanın kuzey sınırında mı yoksa yönünde güneye doğru bağlantısıdır.
Kuzeye ve güneye giden bağlantıları anlama
Edge'de, gelen veya giden bağlantıda 503 Hizmet Kullanılamıyor hatasıyla karşılaşabilirsiniz:
- Gelen (veya kuzeye giden) bağlantı: İstemci ile iki hususu vardır. Yönlendirici, Apigee Edge'in şunları içeren bileşenidir: taleplerinin sisteme gelmesine yardımcı olur.
- Giden (veya güneye giden) bağlantı: Edge ile Mesaj İşleyici ve arka uç sunucusu. Mesaj işlemcisi, Apigee Edge'in bir bileşenidir bu proxy API'nin arka uç hedef sunucularına gönderilmesini sağlar.
Edge Herkese Açık Bulut kullanıcısıysanız büyük olasılıkla arasında bağlantı kurulur. Bu dahili bileşenleri görülemez veya bu bileşenlere erişilemez. Herkese açık Cloud kullanıcıları. Mümkün olduğunda, bu bileşenlere doğrudan erişim gerektirmez.
Aşağıdaki şekilde, Apigee için kuzeye ve güneye bağlantılar gösterilmektedir Kenar.
503 Hizmet Kullanılamıyor hatasının nerede oluştuğunu belirleme
503 Hizmet Kullanılamıyor hatasının oluşup oluşmadığını belirlemek için aşağıdaki yordamlardan birini kullanın kuzeye ya da güneye giden bağlantıda.
kullanıcı arayüzü izleme
UI Trace kullanarak hatanın nerede oluştuğunu belirlemek için:
- Sorun hâlâ devam ediyorsa etkilenen API için kullanıcı arayüzü izlemeyi etkinleştirin.
- Başarısız API isteğinin kullanıcı arayüzü izlemesinde, 503 Hizmet Kullanılamıyor hatası gösteriliyorsa hedef istek akışında gerçekleşirse veya arka uç sunucusu tarafından gönderilirse sorun Güneye giden (yani İleti İşleyen ile arka uç arasında sunucu).
- Belirli API çağrısına ait izleme kodunu almıyorsanız sorun kuzeyinde, istemci uygulaması ile Yönlendirici arasında bulunur.
API izleme
API İzleme; hata, performans, gecikme sorunlarını ve bunların kaynağını teşhis etmek için sorunlu alanları hızlı bir şekilde izole etmenizi sağlar. hedef URL'ler veya API platformu gibi farklı biçimlere sahip olur.
API Monitoring'i kullanarak API'lerinizle ilgili 5xx sorunlarını nasıl gidereceğinizi gösteren örnek bir senaryoyu inceleyin.
Örneğin, messaging.adaptors.http.flow.ServiceUnavailable
hata sayısı belirli bir eşiği aştığında bildirim almak için bir uyarı oluşturabilirsiniz.
NGINX erişim günlükleri
UI Trace kullanarak hatanın nerede oluştuğunu belirlemek için:
Sorun geçmişte ortaya çıktıysa veya zaman zaman ortaya çıkıyorsa ve izini yakalayın ve ardından aşağıdaki adımları uygulayın:
- NGINX erişim günlüklerini kontrol edin (
/opt/apigee/var/log/edge-router/nginx/ org-env.port_access_log
). - Belirli API proxy'si için 503 hatası olup olmadığını arayın.
- Belirli bir API için o anda herhangi bir 503 hatasını tespit ederseniz Güneye giden bağlantıda ortaya çıktı (İleti İşleyici ile arka uç sunucusuna eklenmelidir).
- Aksi halde sorun kuzey yönlü bağlantıda oluşmuştur ( arasında geçiş yapın.