Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Belirti
Aşağıdaki resimde, bir izleme oturumu başlatıldığında API isteklerinin Edge kullanıcı arayüzünde yakalanmadığı gösterilmektedir:
Hata Mesajı
Bu sorun oluştuğunda Edge kullanıcı arayüzünde hata mesajı görüntülenmez.
Olası Nedenler
Aşağıdaki tabloda, Edge Kullanıcı Arayüzü İzleme'de API isteklerinin yakalanamamasının olası nedenleri gösterilmektedir:
Neden | Açıklama | Geçerli Sorun Giderme Talimatları |
---|---|---|
Mesaj İşleyen tarafından işleme alınmayan istekler | API istekleri, izlemenin yakalanması için Edge'in bileşen Mesaj İşleyicisi tarafından işlenmelidir. Bir API isteği Apigee Edge'e ulaşamazsa, Edge'in giriş noktasında (ör. Yönlendirici) ya da ileti İşleyici tarafından işlenmeden önce başarısız olursa iz yakalanamaz. | Edge'in Herkese Açık ve Özel Bulut Kullanıcıları |
Sınıflandırma Ağacında API Proxy'si Bulunamadı | Apigee Mesaj İşleyicileri, gelen isteğin ana makine adı, temel yol, düzeltme ve ortamına göre istekleri göndermek için Sınıflandırma Ağacı adlı bir Yönlendirme Kuralı tanımı kullanır. İlgili API proxy'si herhangi bir nedenle Sınıflandırma Ağacı'ndan kaldırılırsa İzleme işlemleri doldurulmayabilir. | Edge Özel Bulut Kullanıcıları |
Neden: İleti İşleyici tarafından işlenmeyen istekler
Teşhis
İzleme oturumunda bir API isteğini yakalamak için API isteğinin, Edge'in bileşen Mesaj İşleyicisi tarafından işlenmesi gerekir. Bir API isteğinin Trace işleminde yakalanamamasının birkaç nedeni olabilir.
Örneğin, bir API isteği Apigee Edge'e ulaşamıyorsa, Edge'in giriş noktasında (ör. Yönlendirici) ya da İleti İşleyici tarafından işlenmeden önce başarısız olursa iz yakalanamaz. Bu senaryoların her biri aşağıda daha ayrıntılı olarak açıklanmaktadır.
1. Senaryo: İstekler Apigee Edge'e erişemiyor
Neden
Bu senaryoda, hatanın nedeni bir DNS çözümlemesi veya ağ bağlantısı sorunu olabilir. Bu durumda, bu komutu çalıştırdığınızda aşağıdaki hatayı görebilirsiniz:
curl https://hostName:port/apiProxyBasePath/requestPath
curl: (6) Could not resolve host: hostName
Çözünürlük
DNS yapılandırmasını aşağıdaki komutla doğrulayabilirsiniz:
dig hostName
Ağ bağlantısını aşağıdaki komutla doğrulayabilirsiniz:
telnet hostName port
2. Senaryo: İstekler Apigee Edge Yönlendiricide başarısız oluyor
Neden
Bu senaryoda, hataya bir TLS/SSL el sıkışma hatası neden olabilir. Öyleyse aşağıdaki hatalardan birini görebilirsiniz:
Received fatal alert: handshake_failure
HTTP/1.1 400 Bad Request
SSL sertifika hatası da görebilirsiniz.
Çözünürlük
Bu sorunları gidermek ve çözmek için aşağıdaki başucu kitaplarını inceleyin:
Senaryo 3: İstekler İleti İşleyici tarafından işlenemiyor
Neden
Bu senaryoda Apigee Mesaj İşleyici, belirtilen sanal ana makine ve yol için API Proxy'sini bulamamaktadır. Sonuç olarak aşağıdaki hatalardan birini görebilirsiniz:
HTTP/1.1 404 Not Found
{ "fault":{ "faultstring":"Unable to identify proxy for host: default and url: \/apiProxyBasePath/requestPath", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } }
Çözünürlük
Bu sorunu gidermek ve çözmek için şu başucu kitabına bakın: 404 Maalesef ana makine için proxy tanımlanamıyor.
Neden: API Proxy'si Sınıflandırma Ağacında Bulunamadı
Teşhis
Bir İleti İşleyici, Sınıflandırma Ağacı'nda bir API proxy'si bulamıyorsa söz konusu proxy'ye yapılan hiçbir API isteği, Edge kullanıcı arayüzündeki İzleme oturumlarında gösterilmez.
Böyle bir durumun olup olmadığını belirlemek için aşağıdaki adımları uygulayın:
Mesaj İşleyicilerin her birine giriş yapın ve aşağıdaki komutu kullanarak istenen API'nın ilgili düzeltmesinin İleti İşleyici'nin ilgili ortamında dağıtılıp dağıtılmadığını kontrol edin:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Örnek Çıkış:
Yukarıdaki komut, dağıtılan düzeltmelerin listesini verir. Örneğin, düzeltme 12 dağıtıldıysa aşağıdaki çıkışı görürsünüz:
[ "12" ]
Aralıklı HTTP 404 hatalarıyla karşılaşmıyorsanız ilgili düzeltmenin dağıtıldığını büyük olasılıkla görürsünüz.
Sınıflandırma Ağacı'nı okuyun ve aşağıdaki komutu kullanarak API proxy adının mevcut olup olmadığını kontrol edin:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
Her mesaj işleyen için 1. ve 2. adımları tekrarlayın. Mesaj İşleyicilerin herhangi birinin Sınıflandırma Ağacı'nda belirtilen API proxy adı yoksa aşağıda verilen çözümü uygulayın.
Çözüm
Bu sorunu çözmek için lütfen aşağıdaki adımları uygulayın. Yüksek istek yükleri yaşanırken İleti İşleyicilerin yeniden başlatılması nedeniyle oluşabilecek üretim kesintilerini önlemek için gerekli önlemleri aldığınızdan emin olun.
Sınıflandırma Ağacı'nda ilgili API proxy'si eksik olan İleti İşleyici ana makinelerinin her birine giriş yapın ve İleti İşleyici'yi yeniden başlatmak için aşağıdaki komutu kullanın:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Yeniden başlattıktan sonra etkin hale gelene kadar beklemek için aşağıdaki komutu kullanın:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
Mesaj İşleyici hazır olduğunda, aşağıdaki komutu kullanarak API proxy'sinin kullanılabilirliğini doğrulayın:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Örnek Çıkış:
Yukarıdaki komut, dağıtılan düzeltmelerin listesini verir. Örneğin, düzeltme 12 dağıtıldıysa aşağıdaki çıkışı görürsünüz:
[ "12" ]
Aralıklı HTTP 404 hatalarıyla karşılaşmıyorsanız ilgili düzeltmenin dağıtıldığını büyük olasılıkla görürsünüz.
Sınıflandırma Ağacı'nı okuyun ve aşağıdaki komutu kullanarak API proxy'sinin mevcut olduğunu doğrulayın:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
Sorun devam ederse Tanılama Bilgilerinin Toplanması Zorunludur bölümüne gidin.
Teşhis Bilgilerinin Toplanması Gereken
Yukarıdaki talimatları uyguladıktan sonra sorun devam ederse lütfen aşağıdaki teşhis bilgilerini toplayıp Apigee Edge Destek Ekibi ile paylaşın:
Teşhis Bilgisi | Komut |
---|---|
İzleme oturumu komutunun çıktısı | curl -v management-server-host:8080/v1/runtime/organizations/orgName/environments/envName/apis/apiProxyName/revisions/revisionNumber/debugsessions -u user |
Management Server (Yönetim Sunucusu) günlüğü | /opt/apigee/var/log/edge-management-server/logs/system.log |
Mesaj İşleyici günlükleri | /opt/apigee/var/log/edge-message-processor/logs/system.log |
Management Server'dan İleti İşleyici'ye telnet /netcat komutları çıktısı |
telnet MessageProcessor_IP 8082 nc -vz MessageProcessor_IP 8082 |
Mesaj İşleyicilerde netstat komutunun çıkışı | netstat -an > netstat.txt |
Tüm Mesaj İşleyicilerinde belirli API Proxy'sine dağıtılan çıkış listesi düzeltmeleri | curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions |
Tüm mesaj işleyenlerde Sınıflandırma Ağacı çıktısı | curl -i http://localhost:8082/v1/classification/tree |