Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Belirti
API proxy düzeltmelerinin Edge kullanıcı arayüzü veya yönetim API'si üzerinden dağıtılması zaman aşımı ile başarısız oluyor hatası.
Hata mesajları
Click to change deployment status. The revision is deployed and traffic can flow, but flow may be impaired. Error: Call timed out; either server is down or server is not reachable
Olası Nedenler
Bu sorunun tipik nedenleri şunlardır:
Neden | Ayrıntılar | Şunlar için: |
Ağ Bağlantısı Sorunu | Ağ nedeniyle Yönetim Sunucusu ile İleti İşleyici arasındaki iletişim hatası veya güvenlik duvarı kurallarını kontrol edin. | Yalnızca Private Cloud Kullanıcıları |
Büyük API Proxy Paketi | API proxy paketi büyük boyutluysa Mesaj İşleyici'nin etkinleştirilmesi uzun sürebilir. Bu da RPC zaman aşımlarına yol açar. | Gizli ve Herkese Açık Bulut Kullanıcıları |
Ağ Bağlantısı Sorunu
Not: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Şu durumda: Edge Public Cloud kullanıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
Teşhis
- Hatayı gösteren belirli API'nin dağıtım durumunu öğrenmek için aşağıdakini kullanın:
management API çağrısı:
curl -v http://<management-server-IPaddress>:<port#>/organizations/<orgname>/environments/<envname>/apis/<apiname>/deployments -u <username>
.Hatayı gösteren örnek çıkış:
{ "error": "Call timed out; either server is down or server is not reachable", "status": "error", "type": [ "message-processor" ], "uUID": "ebbc1078-cbde-4a00-a7db-66a3c1b2b748" }, { "status": "deployed", "type": [ "message-processor" ], "uUID": "204e2b7e-52f7-46d9-b458-20f9bfb51e6d" }, { "status": "deployed", "type": [ "router" ], "uUID": "967e63c6-ee95-47c0-9608-f4a32638fb1e" }, { "status": "deployed", "type": [ "router" ], "state" : "error" }
Yukarıdaki örnek çıktı, İleti İşlemcilerinden birinde hata oluştuğunu gösteriyor "
ebbc1078-cbde-4a00-a7db-66a3c1b2b748
" UUID'sine sahip olmalıdır. - API proxy'nizin dağıtım durumu çıkışına göre
Hatayı gösteren ve aşağıdaki adımları uygulayan, karşılık gelen UUID'ye sahip işlemciler:
- Mesaj İşleyici'nin 4528 numaralı bağlantı noktasından dinleme yapıp yapmadığını kontrol edin:
netstat -an | grep LISTEN | grep 4528
.İleti İşlemci, 4528 numaralı bağlantı noktasından dinleme yapmıyorsa İletiyi yeniden başlatın İşlemci:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Gösterilen yönetim API çağrısını kullanarak API proxy'sinin dağıtım durumunu yeniden kontrol edin (yukarıdaki 1. adımda) Herhangi bir hata yoksa bu, sorunun çözüldüğünü gösterir.
- Mesaj İşleyici'nin 4528 numaralı bağlantı noktasından dinleme yapıp yapmadığını kontrol edin:
- Sorun devam ederse Yönetim Sunucusu ile İleti arasındaki bağlantıyı test edin
Aşağıdaki adımları uygulayarak 4528 numaralı bağlantı noktasından işlemci:
- Telnet kullanılabiliyorsa telnet'i kullanın:
telnet <MessageProcessor_IP> 4528
. - Telnet kullanılamıyorsa bağlantıyı aşağıdaki şekilde kontrol etmek için netcat'i kullanın:
nc -vz <MessageProcessor_IP> 4528
. - "Bağlantı Reddedildi" yanıtını alırsanız veya "Bağlantı zaman aşımına uğradı" RACI matrisine geldi.
- Telnet kullanılabiliyorsa telnet'i kullanın:
- İleti İşleyici ile Yönetim Sunucusu arasındaki bağlantıyı 4526 numaralı bağlantı noktasında test edin
şu adımları uygulayın:
- Telnet kullanılabiliyorsa telnet'i kullanın:
telnet <management-server-IP> 4526
. - Telnet kullanılamıyorsa bağlantıyı aşağıdaki şekilde kontrol etmek için netcat'i kullanın:
nc -vz <management-server-IP> 4526
. - "Bağlantı Reddedildi" yanıtını alırsanız veya "Bağlantı zaman aşımına uğradı" demek yerine ağ operasyonları ekibi.
- Telnet kullanılabiliyorsa telnet'i kullanın:
- Ağ işlemleri ekibinizle birlikte çalışarak aşağıdakileri yapın:
- RPC protokolüne hem Yönetim Sunucusu'nda hem İleti'de izin verildiğinden emin olun İşleyen.
- Yönetim Sunucuları arasındaki güvenlik duvarı kısıtlamalarını veya güvenlik kuralları ayarlarını kaldırma ve İleti İşlemcilerinin yönetim sunucusunda 4526 numaralı bağlantı noktasına bağlantıya izin vermesini ve Yönetim Sunucusu'ndan İleti İşlemcilerine 4528 numaralı bağlantı noktası üzerinden bağlantı kurulabilir.
- Dağıtım durumunu yeniden kontrol edin (yukarıdaki 1. adıma bakın). Herhangi bir hata görmüyorsanız hatanın çözüldüğünü gösterir.
- Sorun devam ederse Mesaj İşleyici'de ağ sorunu olup olmadığını kontrol edin. Bir
(
dağıtım durumu çıktısı) sorunu düzeltebilir:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
. - Sorun devam ederse şu adresteki Yönetim Sunucusu günlüklerini kontrol edin:
(
/opt/apigee/var/log/edge-management-server/logs/system.log
).Yönetim Sunucusu Günlüğü'nden alınan örnek Arama zaman aşımına uğradı hatası
2016-05-17 09:29:56,448 org:myorg env:prod qtp281969267-360792 ERROR DISTRIBUTION - RemoteServicesConfigEventHandler.configureServers() : exception for server with uuid e1381db7-d83b-4752-ae04-2de33f07e555 : cause = RPC Error 504: Call timed out communication error = true com.apigee.rpc.RPCException: Call timed out at com.apigee.rpc.impl.AbstractCallerImpl.handleTimeout(AbstractCallerImpl.java:64) ~[rpc-1.0.0.jar:na] at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall.handleTimeout(RPCMachineImpl.java:483) ~[rpc-1.0.0.jar:na] at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall.access$000(RPCMachineImpl.java:402) ~[rpc-1.0.0.jar:na] at com.apigee.rpc.impl.RPCMachineImpl$OutgoingCall$1.run(RPCMachineImpl.java:437) ~[rpc-1.0.0.jar:na] at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:532) ~[netty-all-4.0.0.CR1.jar:na] at io.netty.util.HashedWheelTimer$Worker.notifyExpiredTimeouts(HashedWheelTimer.java:430) ~[netty-all-4.0.0.CR1.jar:na] at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:371) ~[netty-all-4.0.0.CR1.jar:na] at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_79]
Yukarıdaki örnekte gösterilene benzer bir hata gözlemlerseniz RPC'yi artırın ve Yönetim Sunucusu'nda zaman aşımı oluşur. Böylece, ağda herhangi bir yavaşlama varsa Yönetim Sunucusu'nun İleti İşleyen'e bağlanması için gereken süreyi kısaltır.
Çözünürlük
Not: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Şu durumda: Edge Public Cloud kullanıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
- RPC zaman aşımını artırmak için aşağıdaki adımları uygulayın:
- Dosyayı oluşturma
/opt/apigee/customer/application/management-server.properties
Yönetim Sunucu makinesi (mevcut değilse). - Aşağıdaki satırı bu dosyaya ekleyin:
conf_cluster_rpc.connect.timeout=<time in seconds>
.Varsayılan RPC zaman aşımı değeri 10'dur ve bu değerin 40'a yükseltilmesi önerilir saniye. Bunu aşağıdaki gibi ayarlayın:
conf_cluster_rpc.connect.timeout=40
- Bu dosyanın sahibi Apigee:
chown apigee:apigee /opt/apigee/customer/application/management-server.properties
. - Yönetim sunucusunu yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
. - Birden fazla Yönetim Sunucunuz varsa yukarıdaki adımları tüm Yönetim Sunucuları.
- API proxy'sini Edge kullanıcı arayüzünde veya Edge management API çağrısını kullanarak dağıtın. Öğe API proxy'si herhangi bir sorun olmadan dağıtılır. Bu, sorunun çözüldüğünü gösterir.
- Dosyayı oluşturma
- Sorun devam ederse
tcpdump komutunu çalıştırın. tcpdump'ı etkinleştir
komutunu çalıştırın ve ardından kullanıcı arayüzünden API Proxy'sinin dağıtımını başlatma
veya Management API'yi kullanarak:
- Yönetim Sunucusu'ndan aşağıdaki tcpdump komutunu çalıştırın:
tcpdump -i any -s 0 host <message-processor-IP address> -w <File name>
. - Message Processor'dan aşağıdaki tcpdump komutunu çalıştırın:
tcpdump -i any -s 0 host <management-server-IP address> -w <File name>
. - Yardım almak için Apigee Edge Destek Ekibi ile iletişime geçin daha fazla analiz adımına geçebilir ve sorunu daha ayrıntılı şekilde giderebiliriz.
- Yönetim Sunucusu'ndan aşağıdaki tcpdump komutunu çalıştırın:
Büyük API Proxy Paketi
Teşhis
- Dağıtım hatasının meydana geldiği API proxy paketinin boyutunu kontrol etme gözlemlendi.
- Boyut yeterince büyükse (10 MB veya daha büyükse), büyük ihtimalle İleti İşlemcinin API proxy'sini etkinleştirmek için daha fazla zamana ihtiyacı olabilir.
- API Proxy paketinin boyutu 15 MB'tan büyükse 15 MB'tan büyük API Proxy Paketi.
Çözünürlük
Not: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Şu durumda: Edge Public Cloud kullanıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
Yönetim Sunucusu'nda RPC zaman aşımını artırarak İleti İşleyici'nin büyük API proxy paketlerini etkinleştirin. RPC zaman aşımını artırmak için aşağıdaki adımları uygulayın değer:
/opt/apigee/customer/application/management-server.properties
dosyasını oluşturun yönetim sunucusu makinesinde (mevcut değilse)- Bu dosyaya aşağıdaki satırı ekleyin:
conf_cluster_rpc.connect.timeout=<time in seconds>
.Varsayılan RPC zaman aşımı değeri 10'dur ve bu değerin 40 saniyeye yükseltilmesi önerilir. Bunu aşağıdaki gibi ayarlayın:
conf_cluster_rpc.connect.timeout=40
- Bu dosyanın sahibi Apigee:
chown apigee:apigee /opt/apigee/customer/application/management-server.properties
. - Yönetim sunucusunu yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
. - Birden fazla Yönetim Sunucunuz varsa yukarıdaki tüm Yönetim Sunucuları Sunucular.
Sorun devam ederse şunun için Apigee Edge Destek Ekibi ile iletişime geçin: daha fazla yardıma ihtiyacınız var.