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 |
|---|---|
| DNS sorunu nedeniyle oluşan 503 Hizmet Kullanılamıyor hatasını giderme ve çözme | Aşağıdaki konular hakkında bilgi edinin:
|
| Ağ sorunundan kaynaklanan 503 Hizmet Kullanılamıyor hatasını giderme ve çözme | Apigee Edge'de ağ sorunundan kaynaklanan anlık 503 Hizmet Kullanılamıyor hatasını giderme ve çözme |
Belirti
İstemci uygulaması, bir API proxy çağrısının ardından Service Unavailable (Hizmet Kullanılamıyor) mesajıyla birlikte bir HTTP yanıt durumu 503 alır.
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
Arka uç sunucuyla iletişim kurulurken bağlantı zaman aşımı, yanlış ana makine adı veya SSL el sıkışma hataları nedeniyle Apigee Edge'in Message Processor'ı hatalarla karşılaşırsa hata kodu messaging.adaptors.http.flow.ServiceUnavailable olan HTTP yanıtı 503 Service Unavailable oluşur.
503 Service Unavailable yanıtının olası nedenleri şunlardır:
| Neden | Açıklama | Sorun giderme adımlarını kimler uygulayabilir? |
|---|---|---|
| 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ı |
| Hedef sunucunun ana makine adı yanlış | 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. (Bu tür sorunlarla ilgili sorun giderme bilgileri ayrı bir konuda ele alınır.) | Edge Public ve Private Cloud kullanıcıları |
Sık karşılaşılan teşhis adımları
Başarısız olan isteğin ileti kimliğini belirleyin.
İzleme aracı
İzleme Aracı'nı kullanarak başarısız olan 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ı yapın ve sorunu yeniden oluşturun:
messaging.adaptors.http.flow.ServiceUnavailable.hata koduyla 503 Hizmet Kullanılamıyor - Başarısız olan 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ünde 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 olan isteğin ileti kimliğini belirlemek için:
503 hatalarının mesaj kimliğini belirlemek için NGINX erişim günlüklerine de bakabilirsiniz. Bu, özellikle sorun geçmişte oluştuysa veya aralıklı olarak oluşuyorsa ve kullanıcı arayüzünde izlemeyi yakalayamıyorsanız yararlıdır. NGINX erişim günlüklerinden 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 boyunca belirli API proxy'sinde 503 hatası olup olmadığını (sorun geçmişte yaşandıysa) veya 503 hatasıyla başarısız olan isteklerin olup olmadığını arayın.
- X-Apigee-fault-code messaging.adaptors.http.flow.ServiceUnavailable ile ilgili 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ümlemesi nedeniyle bağlantı hataları
Teşhis
- Başarısız olan isteğin mesaj kimliğini belirleyin.
- Mesaj İşleyici günlüğünde (
/opt/apigee/var/log/edge-message-processor/logs/system.log) belirli istek iletisi kimliğini arayın. Aşağıdaki hataları görebilirsiniz:
Bir onConnectTimeout hatası, Mesaj İşleyici'nin önceden ayarlanmış bağlantı zaman aşımı süresi (varsayılan: 3 saniye) içinde 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ı bölümüne gidin.
- IP adresi geçersizse büyük olasılıkla DNS çözümleme ile ilgili sorunlardan kaynaklanıyordur.
- Başarısız olan birkaç API isteği için 3. ve 4. adımları tekrarlayın ve aynı veya başka geçersiz IP adreslerini görüp görmediğinizi doğrulayın.
- Anahtar kelime olarak DNS Yenileme'yi içeren mesajları bulmak için Mesaj İşleyici günlüğünde (
/opt/apigee/var/log/edge-message-processor/logs/system.log) arama yapın. Kötü veya geçersiz IP adreslerinin, Mesaj İşleyici'deki DNS önbelleğine zaman zaman 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ında veya
/etc/resolv.confiçinde yapılandırılan ad sunucularında sorun olması durumunda ortaya çıkabilir.
Genellikle, DNS çözümlemesi gerçekleştirmek için bir veya daha fazla yetkili DNS sunucusu yapılandırılabilir. Yetkili DNS sunucusu yoksa/etc/resolv.confbölümünde yapılandırılan ayarlar kullanılır ve DNS çözümlemesi uygun şekilde gerçekleştirilir. Örneğin:/etc/resolv.confbelirli ad sunucularını kullanacak şekilde yapılandırılmışsa DNS çözümlemesi yapmak için bu ad sunucuları kullanılır. /etc/resolv.confiçinde belirtilen yetkili DNS sunucularında veya ad sunucularında herhangi bir sorun varsa arka uç sunucusu ana makine adları kötü/geçersiz IP adreslerine çözümlenir. Kötü/geçersiz IP adresleri daha sonra mesaj işleyicinin DNS önbelleğinde depolanır./etc/resolv.confiçinde belirtilen yetkili DNS sunucuları veya alan adı sunucularıyla ilgili sorun devam ederse kötü/geçersiz IP adresleri, Mesaj İşleyici'nin DNS önbelleğinde kalmaya devam eder. Kötü IP adresleri, Mesaj İşleyicinin DNS önbelleğinde depolandığı sürece, belirli bir arka uç sunucuyu kullanan tüm API'lere yönelik istekler 503 hatasıyla başarısız olur./etc/resolv.confiçinde belirtilen yetkili DNS sunucuları veya ad sunucularıyla ilgili sorun aralıklı olarak yaşanıyorsa iyi ve kötü IP adresleri DNS önbelleğinde aralıklı olarak depolanır. Bu durumda, belirli bir arka uç sunucusunu kullanan tüm API'lerde aralıklı olarak 503 hataları görürsünüz.
- DNS sunucularıyla ilgili sorun devam ederse sürekli olarak başarısızlıklar görürsünüz. DNS sunucularıyla ilgili sorun aralıklı olarak yaşanıyorsa aralıklı hatalar görürsünüz. Yani, arka uç sunucusunun ana makine adı kötü IP adreslerine çözümlendiğinde 503 hataları görürsünüz. Ayrıca, arka uç sunucusu ana makine adları iyi IP adreslerine çözümlendiğinde başarılı yanıtlar alırsınız.
Çözünürlük
Lütfen işletim sistemi yöneticinizle birlikte çalışarak DNS sunucularıyla ilgili sorunları düzeltin.
/etc/resolv.confiçinde belirtilen yetkili DNS sunucularınız veya ad sunucularınızla ilgili bir sorun varsa bu sorunu gidermek için uygun sunucuyla ilgili sorunu düzeltin.- Mesaj işlemcilerinin bulunduğu sistemlerde
/etc/resolv.confyapılandırmasıyla ilgili bir sorun varsa yapılandırma sorununu düzeltin.
Bağlantı hataları
Apigee Edge Mesaj İşleyici bir arka uç sunucusuna bağlanmaya çalıştığında ve aşağıdaki sorunlardan biri oluştuğunda bağlantı hatası meydana gelir:
- Mesaj İş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 olan isteğin mesaj kimliğini belirleyin.
-
Mesaj İşleyici günlüğünde (
/opt/apigee/var/log/edge-message-processor/logs/system.log) belirli istek ileti kimliğini arayın. Aşağıdaki hataları görebilirsiniz:-
onConnectTimeout hatası, Mesaj İşlemcisinin önceden ayarlanmış bağlantı zaman aşımı süresi içinde arka uç sunucuya bağlanamadığını gösterir.
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 refused hatası, bağlantının arka uç sunucusu tarafından reddedildiğini gösterir.
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ı, Mesaj İşlemcisinin önceden ayarlanmış bağlantı zaman aşımı süresi içinde arka uç sunucuya bağlanamadığını gösterir.
telnetkomutunu kullanarak belirli bir arka uç sunucusuna her bir ileti işlemcisinden doğrudan bağlanıp bağlanamadığınızı kontrol edin:- Arka uç sunucusu tek bir IP adresine çözümleniyorsa aşağıdaki komutu kullanın:
telnet BackendServer-IPaddress 443 - Arka uç sunucusu birden fazla IP adresine çözümleniyorsa
telnetkomutunda arka uç sunucusunun ana makine adını aşağıdaki gibi kullanın:telnet BackendServer-HostName 443
- Arka uç sunucusu tek bir IP adresine çözümleniyorsa aşağıdaki komutu kullanın:
- Arka uç sunucusuna bağlanabiliyorsanız
Connected to backend-servergibi bir mesaj görebilirsiniz. Arka uç sunucusuna bağlanamıyorsanız bunun nedeni, Mesaj İşleyicilerin IP adreslerinin belirli arka uç sunucusunda izin verilenler listesine eklenmemiş olması olabilir.
Çözünürlük
Uç Mesaj İşleyicileri'nden gelen trafiğin arka uç sunucunuza erişmesine izin vermek için belirli arka uç sunucusunda Mesaj İşleyicisi'nin IP adreslerine erişim izni verin. Örneğin, Linux'ta arka uç sunucusunda ileti işlemcisinin IP adreslerinden gelen trafiğe izin vermek için iptables'ı kullanabilirsiniz.
Sorun devam ederse sorunu belirlemek ve düzeltmek için ağ yöneticinizle birlikte çalışın. Apigee'den daha fazla yardıma ihtiyacınız olursa Apigee Destek Ekibi ile iletişime geçin.
Hedef sunucunun ana makine adı yanlış
Teşhis
Hedef sunucuda belirtilen ana makine adı yanlışsa 503 Service Unavailable yanıtını hata koduyla birlikte alabilirsiniz.
messaging.adaptors.http.flow.ServiceUnavailable.
İzleme aracı
İzleme aracını kullanarak teşhis yapmak için:
- Sorun hâlâ devam ediyorsa etkilenen API için izleme oturumunu etkinleştirin.
- API çağrısı yapın ve sorunu yeniden oluşturun:
messaging.adaptors.http.flow.ServiceUnavailable.hata koduyla 503 Hizmet Kullanılamıyor - Başarısız olan isteklerden birini seçin.
- İzlemenin çeşitli aşamalarında gezinin ve hatanın nerede oluştuğunu bulun.
- Hatayı içeren FlowInfo'yu seçin. Aşağıdaki örnekte gösterildiği gibi, error.cause alanında daha fazla bilgi bulabilirsiniz. Bu alan, hatanın nedenini size bildirebilir:
İzde error.cause'u gösteren örnek istek

- error.cause değerinin Host not reachable (Ana makineye ulaşılamıyor) olduğunu 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 boşluk ya da özel karakterler içeriyor.
Örneğin, aşağıda gösterildiği gibi ana makine adında istenmeyen bir boşluk var:
"demo-target.apigee.net " - AssignMessage veya JavaScript politikası kullanılarak API proxy'sinde target.url değişkeniyle üzerine yazılan ana makine adı yanlış ya da boşluk veya başka istenmeyen özel karakterler içeriyor.
- Hedef sunucu/hedef uç nokta yapılandırmasında belirtilen ana makine adı yanlış veya istenmeyen boşluk ya da özel karakterler içeriyor.
- Hedef sunucu ana makine adının yanlış olup olmadığını veya istenmeyen boşluk 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şturulmuşsa bunu oluşturmak için kullanılan uygun politikayı (örneğin, AssignMessage/JavaScript politikası) kontrol edin. Hedef sunucu ana makine adının yanlış olup olmadığını veya istenmeyen boşluk ya da özel karakter içerip içermediğini kontrol edin.
- Hedef sunucu ana makine adını belirledikten sonra, çözümlenip çözümlenemediğini görmek için ana makine adında
nslookup/digkomutunu çalıştırın.Örneğin, istenmeyen bir boşluk içeren ana makine adında
nslookupkomutunu çalıştırmak aşağıdaki çıktıyı 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
- İşletim sistemi komutu
nslookupda ana makine adını çözümleyemezse bu sorunun nedeni hedef sunucu için kullanılan yanlış ana makine adıdır.Çözünürlük'e gidin.
Mesaj işleyici günlükleri
.Mesaj işleyici günlüklerini kullanarak teşhis yapmak için:
- Başarısız olan isteğin mesaj kimliğini belirleyin.
- Mesaj İşleyici 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 Mesaj İşleyici, ana makine adını çözümleyememiştir. İleti erteleneceğinden, bu uyarı iletisini tüm ileti kimlikleri/istekleri için görmeyebilirsiniz.
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
- Bunu, hedef sunucu ana makinesine ulaşılamadığından Mesaj İşleyici'nin adresi DNS önbelleğinden kaldırdığı bir uyarı mesajı izler.
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
- Ardından, "Ana makineye ulaşılamıyor" istisnasıyla Mesaj İşleyici'nin başarısız olduğu bir mesaj görebilirsiniz. Bazen ana makine adı, hata mesajının bir parçası olarak 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ı çözümlenemediği veya ulaşılamadığı için bazen aşağıdaki örnekte gösterildiği gibi 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 reachablehatası genellikle aşağıdaki durumlardan birinde oluşur:- Hedef sunucu/hedef uç nokta yapılandırmasında belirtilen ana makine adı yanlış veya istenmeyen boşluk ya da özel karakterler içeriyor.
Örneğin, aşağıdaki hata mesajında ana makine adı "demo-target.apigee.net " içinde istenmeyen bir boşluk var: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şkeniyle üzerine yazılan ana makine adı yanlış ya da boşluk veya başka istenmeyen özel karakterler içeriyor.
- Hedef sunucu/hedef uç nokta yapılandırmasında belirtilen ana makine adı yanlış veya istenmeyen boşluk 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 reachableiçeren hata mesajını dikkatlice inceleyin.- Hata mesajında ana makine adı gösteriliyorsa boşluklar veya özel karakterler de dahil olmak üzere ana makine adını kopyalayın.
- Aşağıdaki hata mesajında gösterildiği gibi, hata mesajında ana makine adı için null ifadesi 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şturulmuşsa bunu oluşturmak için kullanılan uygun politikayı (örneğin, AssignMessage/JavaScript politikası) kontrol edin.
- Hedef sunucunun ana makine adını belirledikten sonra ana makine adında nslookup/dig komutunu çalıştırın ve çözümlenip çözümlenemediğini kontrol edin.
Ö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 - İşletim sistemi komutu nslookup da ana makine adını çözümleyemezse 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 sunucu tanımında belirtilen hedef sunucu ana makine adının doğru olduğundan ve istenmeyen boşluk veya özel karakter içermediğinden emin olun.
- Hedef sunucu ana makine adını dinamik olarak oluşturmak için herhangi bir AssignMessage/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ı
TLS/SSL el sıkışma hatalarına yönelik eksiksiz bir sorun giderme kılavuzu bulunmaktadır. SSL El Sıkışma Hataları başlıklı makaleyi inceleyin.
Sorunun kaynağını belirleme
Belirli hata türleri gelen (kuzeye doğru) veya giden (güneye doğru) bağlantıda oluşabilir. İstemci uygulaması ile Edge arasında gelen (kuzeye giden) bir hata oluşur. Edge ile arka uç hedef sunucusu arasında giden (güney yönlü) bir hata oluşur. Bu tür sorunları teşhis etmek için ilk olarak hatanın kuzeye veya güneye giden bağlantıda mı oluştuğunu belirlemeniz gerekir.
Kuzeye ve güneye doğru 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 doğru) bağlantı: İstemci uygulaması ile Edge yönlendirici arasındaki bağlantı. Yönlendirici, sisteme yapılan gelen istekleri işleyen Apigee Edge bileşenidir.
- Giden (veya güneye doğru) bağlantı: Edge Mesaj İşleyici ile arka uç sunucusu arasındaki bağlantı. Mesaj İşleyici, API isteklerini arka uç hedef sunucularına yönlendiren Apigee Edge'in bir bileşenidir.
Edge Public Cloud kullanıcısıysanız yönlendirici veya mesaj işlemcisi gibi dahili bileşenlerin farkında olmayabilirsiniz. Bu dahili bileşenler, herkese açık bulut kullanıcıları tarafından görülemez veya bunlara erişilemez. Mümkün olduğunda, bu bileşenlere doğrudan erişim gerektirmeyen alternatif yöntemler sunarak sorunu araştırmanıza yardımcı oluruz.
Aşağıdaki şekilde, Apigee Edge için kuzeye ve güneye doğru bağlantılar gösterilmektedir.

503 Hizmet Kullanılamıyor hatasının nerede oluştuğunu belirleme
503 Hizmet Kullanılamıyor hatasının kuzey yönlü veya güney yönlü bağlantıda oluşup oluşmadığını belirlemek için aşağıdaki prosedürlerden birini kullanın.
Kullanıcı arayüzü izi
Kullanıcı arayüzü izlemeyi 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 olan API isteğinin kullanıcı arayüzü izinde, 503 Hizmet Kullanılamıyor hatasının hedef istek akışı sırasında oluştuğu veya arka uç sunucusu tarafından gönderildiği gösteriliyorsa sorun güney yönlüdür (yani Mesaj İşleyici ile arka uç sunucusu arasındadır).
- Belirli API çağrısının izini alamazsanız sorun, istemci uygulaması ile yönlendirici arasında kuzeye doğru olan bir sorundur.
API izleme
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.ServiceUnavailable hataların sayısı belirli bir eşiği aştığında bildirim almak için uyarı oluşturmak isteyebilirsiniz.
NGINX erişim günlükleri
Kullanıcı arayüzü izlemeyi kullanarak hatanın nerede oluştuğunu belirlemek için:
Sorun geçmişte yaşandıysa veya aralıklı olarak yaşanıyorsa ve izlemeyi yakalayamıyorsanız aşağıdaki adımları uygulayın:
- NGINX erişim günlüklerini (
/opt/apigee/var/log/edge-router/nginx/ org-env.port_access_log) kontrol edin. - Belirli bir API proxy'si için 503 hatası olup olmadığını arayın.
- Belirli bir API için belirli bir zamanda 503 hatası tespit ederseniz sorun güney yönlü bağlantıda (mesaj işlemcisi ile arka uç sunucusu arasında) oluşmuştur.
- Aksi takdirde, sorun kuzeye doğru bağlantıda (istemci uygulaması ile yönlendirici arasında) oluşmuştur.