Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Gejala
Deployment revisi proxy API melalui UI Edge atau API pengelolaan gagal dengan waktu tunggu {i>error<i}.
Pesan Error
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
Kemungkinan Penyebab
Penyebab umum untuk masalah ini adalah:
Cause | Detail | Untuk |
Masalah Konektivitas Jaringan | Kegagalan komunikasi antara Server Pengelolaan dan Pemroses Pesan karena jaringan masalah konektivitas atau aturan {i>firewall<i}. | Khusus Pengguna Private Cloud |
Paket Proxy API Besar | Pemroses Pesan mungkin membutuhkan waktu lama untuk aktif jika paket proxy API berukuran besar yang besar, yang menyebabkan waktu tunggu RPC habis. | Pengguna Cloud Pribadi dan Publik |
Masalah Konektivitas Jaringan
Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda berada di Edge Public Cloud, hubungi Dukungan Apigee Edge.
Diagnosis
- Dapatkan status deployment untuk API tertentu yang menampilkan error menggunakan
panggilan API pengelolaan:
curl -v http://<management-server-IPaddress>:<port#>/organizations/<orgname>/environments/<envname>/apis/<apiname>/deployments -u <username>
Contoh output yang menunjukkan error:
{ "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" }
Contoh output di atas menunjukkan bahwa error terjadi pada salah satu Pemroses Pesan memiliki UUID "
ebbc1078-cbde-4a00-a7db-66a3c1b2b748
". - Berdasarkan output status deployment untuk proxy API Anda, login ke setiap Message
Prosesor dengan UUID yang sesuai yang menampilkan error dan melakukan langkah-langkah berikut:
- Periksa apakah Pemroses Pesan memproses port 4528:
netstat -an | grep LISTEN | grep 4528
Jika Pemroses Pesan tidak memproses port 4528, mulai ulang Pesan Pemroses:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Periksa ulang status deployment proxy API menggunakan panggilan API pengelolaan yang ditampilkan pada langkah #1 di atas. Jika tidak ada error, berarti masalah telah diselesaikan.
- Periksa apakah Pemroses Pesan memproses port 4528:
- Jika masalah berlanjut, uji konektivitas dari Server Pengelolaan ke Pesan
Prosesor di port 4528 menggunakan langkah-langkah berikut:
- Jika telnet tersedia, gunakan telnet:
telnet <MessageProcessor_IP> 4528
- Jika telnet tidak tersedia, gunakan netcat untuk memeriksa konektivitas sebagai berikut:
nc -vz <MessageProcessor_IP> 4528
- Jika Anda menerima respons "Koneksi Ditolak" atau "Waktu koneksi habis", lalu lakukan interaksi tim operasi jaringan Anda.
- Jika telnet tersedia, gunakan telnet:
- Menguji konektivitas dari Pemroses Pesan ke Server Pengelolaan di port 4526
menggunakan langkah-langkah berikut:
- Jika telnet tersedia, gunakan telnet:
telnet <management-server-IP> 4526
- Jika telnet tidak tersedia, gunakan netcat untuk memeriksa konektivitas sebagai berikut:
nc -vz <management-server-IP> 4526
- Jika Anda menerima respons "Koneksi Ditolak" atau "Waktu koneksi habis", libatkan oleh tim operasi jaringan.
- Jika telnet tersedia, gunakan telnet:
- Bekerja samalah dengan tim operasi jaringan Anda dan lakukan hal berikut:
- Pastikan protokol RPC diizinkan di Server Pengelolaan dan Pesan Pemroses.
- Hapus semua pembatasan firewall atau penyiapan aturan keamanan antara Server Pengelolaan dan Prosesor Pesan untuk mengizinkan konektivitas ke porta 4526 pada server pengelolaan, dan konektivitas dari {i>Management Server<i} ke Pemroses Pesan di porta 4528.
- Periksa kembali status deployment (lihat langkah #1 di atas). Jika Anda tidak melihat error apa pun, hal itu menunjukkan bahwa kesalahan telah diselesaikan.
- Jika masalah berlanjut, periksa apakah ada masalah jaringan pada Pemroses Pesan. Jika ada
masalah jaringan, memulai ulang Pemroses Pesan tertentu yang menunjukkan kesalahan waktu tunggu (sesuai dengan
output status deployment) dapat memperbaiki masalah:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jika masalah masih berlanjut, periksa log Server Pengelolaan di:
(
/opt/apigee/var/log/edge-management-server/logs/system.log
).Contoh error waktu Panggilan habis dari Log Server Pengelolaan
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]
Jika Anda melihat error serupa seperti yang ditunjukkan dalam contoh di atas, tingkatkan RPC di Server Pengelolaan, sehingga jika terjadi perlambatan jaringan, maka server akan waktu bagi Server Pengelolaan untuk terhubung ke Pemroses Pesan.
Resolusi
Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda berada di Edge Public Cloud, hubungi Dukungan Apigee Edge.
- Lakukan langkah-langkah berikut untuk meningkatkan waktu tunggu RPC:
- Membuat file
/opt/apigee/customer/application/management-server.properties
Manajemen Komputer server, jika belum ada. - Tambahkan baris berikut ke dalam file ini:
conf_cluster_rpc.connect.timeout=<time in seconds>
Nilai waktu tunggu RPC default adalah 10 dan disarankan untuk meningkatkannya menjadi 40 detik. Atur seperti berikut:
conf_cluster_rpc.connect.timeout=40
- Pastikan file ini dimiliki oleh apigee:
chown apigee:apigee /opt/apigee/customer/application/management-server.properties
- Mulai ulang Server Pengelolaan:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Jika Anda memiliki lebih dari satu Server Pengelolaan, ulangi langkah-langkah di atas pada semua Server Pengelolaan.
- Deploy proxy API di UI Edge atau dengan menggunakan panggilan API pengelolaan Edge. Jika Proxy API di-deploy tanpa masalah, artinya hal itu menunjukkan bahwa masalah telah diselesaikan.
- Membuat file
- Jika masalah masih berlanjut, kumpulkan
tcpdump dari Management Server dan Message Processor. Mengaktifkan tcpdump
perintah di setiap server lalu memulai deployment Proxy API dari UI
atau menggunakan API pengelolaan:
- Jalankan perintah tcpdump di bawah ini dari Server Pengelolaan:
tcpdump -i any -s 0 host <message-processor-IP address> -w <File name>
- Jalankan perintah tcpdump di bawah ini dari Message Processor:
tcpdump -i any -s 0 host <management-server-IP address> -w <File name>
- Hubungi Dukungan Apigee Edge untuk mendapatkan bantuan terkait menganalisis {i>tcpdump<i} dan untuk memecahkan masalah lebih lanjut.
- Jalankan perintah tcpdump di bawah ini dari Server Pengelolaan:
Besar Paket Proxy API
Diagnosis
- Memeriksa ukuran paket proxy API yang mengalami error deployment diamati.
- Jika ukurannya cukup besar (10 MB atau lebih tinggi), maka kemungkinan besar pesan Pemroses mungkin memerlukan lebih banyak waktu untuk mengaktifkan proxy API.
- Jika ukuran paket Proxy API lebih besar dari 15 MB, lanjutkan ke Paket Proxy API lebih besar dari 15 MB.
Resolusi
Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda berada di Edge Public Cloud, hubungi Dukungan Apigee Edge.
Tambah waktu tunggu RPC di Server Pengelolaan agar Pemroses Pesan memiliki waktu yang cukup untuk mengaktifkan paket proxy API besar. Lakukan langkah-langkah berikut untuk meningkatkan waktu tunggu RPC nilai:
- Membuat file
/opt/apigee/customer/application/management-server.properties
di komputer Management Server, jika belum ada. - Tambahkan baris berikut ke file ini:
conf_cluster_rpc.connect.timeout=<time in seconds>
Nilai waktu tunggu RPC default adalah 10 dan disarankan untuk meningkatkannya menjadi 40 detik. Atur seperti berikut:
conf_cluster_rpc.connect.timeout=40
- Pastikan file ini dimiliki oleh apigee:
chown apigee:apigee /opt/apigee/customer/application/management-server.properties
- Mulai ulang Server Pengelolaan:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Jika Anda memiliki lebih dari satu Server Pengelolaan, ulangi langkah-langkah di atas pada semua Server Pengelolaan Server.
Jika masalah berlanjut, hubungi Dukungan Apigee untuk bantuan lebih lanjut.