İzleme oturumu oluşturulamadı

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Belirti

Kullanıcı, Edge kullanıcı arayüzünde izleme oturumu oluşturamıyor.

Hata Mesajı

Edge kullanıcı arayüzünde aşağıda gösterildiği gibi bir hata mesajı alırsınız:

Error creating trace session for API proxy <api proxy name>, revision <revision number>, environment <environment name>.
Failed to create DebugSession <session number> 

Aşağıda, Edge kullanıcı arayüzünde gözlemlenen örnek bir hata mesajının ekran görüntüsü verilmiştir:

Olası Nedenler

Bu hatanın olası nedenlerinden bazıları aşağıda listelenmiştir:

Neden Açıklama Geçerli Sorun Giderme Talimatları
Ağ bağlantısı sorunu Ağ bağlantısı sorunları veya güvenlik duvarı kuralları nedeniyle Yönetim Sunucusu ve İleti İşleyici arasındaki iletişim hatası. Edge Özel Bulut Kullanıcıları
Ortam İleti İşleyici'ye yüklenmedi İzlemeyi etkinleştirmeye çalıştığınız belirli ortam, bir hata nedeniyle İleti İşleyicilerine yüklenmedi.
Eski İleti İşleyici Girişleri Yönetim Sunucusu, var olmayan (eski) İleti İşleyicilerine başvuruyor.
İleti İşleyiciye Erişilemiyor İleti İşleyici durduruldu veya erişilemez.
Yüksek Kaynak Kullanımı Sorunu İleti İşleyiciler yüksek kaynak (CPU, Bellek veya Yük) kullanımı yaşıyor.
API Proxy'si, bir veya daha fazla Mesaj İşleyiciye dağıtılmadı API Proxy'si, dağıtım sırasında eksik etkinlik bildirimi nedeniyle bir veya daha fazla Mesaj İşleyiciye dağıtılamayabilir.
Edge kullanıcı arayüzü ile ilgili sorun Edge kullanıcı arayüzü, bir hata nedeniyle izleme oturumu oluşturamıyor.

Genel Teşhis Adımları

  1. Bu yönetim API'sini yürütün:

    curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
    
  2. Herhangi bir hata alırsanız bunları not edin. Ağ Bağlantısı Sorunu bölümüne gidin.

  3. Başarılı bir yanıt almanız, izleme oturumunun Management API aracılığıyla oluşturulabileceğini gösterir. Ancak Edge kullanıcı arayüzünde izleme oturumunun kullanıcı arayüzünde oluşturulamaması şeklinde olası bir sorun olabilir. Edge kullanıcı arayüzüyle ilgili sorun bölümüne gidin.

Neden: Ağ Bağlantısı Sorunu

Teşhis

  1. Yönetim Sunucusu günlüğünü /opt/apigee/var/log/edge-management-server/logs/system.log kontrol edin ve izleme/hata ayıklama oturumu oluşturulurken herhangi bir hata olup olmadığına bakın.

    Yönetim Sunucusu Günlüğünden örnek hata

    2018-02-08 09:08:21,310 org:myorg env:uat  qtp1073741635-1074 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID cedeabd2-e4d1-40bb-8f18-d6afc8835e5b
    org.apache.http.conn.HttpHostConnectException: Connect to 10.84.75.92:8082 [/10.84.75.92] failed: Connection refused
        at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5]
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5]
        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5]
    ...<snipped>
    Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_65]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_65]
    ...<snipped>
    
  2. Yukarıdaki örnek hata, Yönetim Sunucusu 8082 numaralı bağlantı noktasındaki İleti İşleyiciye bağlanmaya çalıştığında "Bağlantı reddedildi" hatalarını aldığımızı gösterir. Bu nedenle, Yönetim Sunucusu izleme oturumunu oluşturamıyor.

  3. Ağ bağlantısıyla ilgili herhangi bir hata veya yukarıdaki örnekte gösterilene benzer bir hata görmüyorsanız İleti İşleyicide ortam yüklenmedi bölümüne geçin.

  4. Ağ bağlantısıyla ilgili hatalar veya yukarıdaki örnekte gösterilene benzer bir hata görürseniz aşağıdaki adımları uygulayın.

  5. Aşağıdaki adımları kullanarak Yönetim Sunucusu ile 8082 numaralı bağlantı noktasındaki İleti İşleyici arasındaki bağlantıyı test edin:

    1. Telnet kullanılabiliyorsa telnet'i kullanın:

      telnet <MessageProcessor_IP> 8082
      
    2. Telnet kullanılamıyorsa bağlantıyı aşağıdaki şekilde kontrol etmek için netcat'i kullanın:

      nc -vz <MessageProcessor_IP> 8082
      
    3. "Bağlantı Reddedildi" veya "Bağlantı zaman aşımına uğradı" yanıtını alırsanız sonraki adıma geçin.

  6. İleti İşleyicilerin her birine, hatayı gösteren ilgili IP adresiyle giriş yapın ve aşağıdaki adımları uygulayın:

    1. Mesaj İşleyici'nin 8082 numaralı bağlantı noktasında dinleme yapıp yapmadığını kontrol edin:

      netstat -an | grep LISTEN | grep 8082
      
    2. Mesaj İşleyici, 8082 numaralı bağlantı noktasından dinliyorsa 7. adıma geçin.

    3. İleti İşleyici, 8082 numaralı bağlantı noktasından dinlemiyorsa şu komutu kullanarak İleti İşleyici'yi yeniden başlatın:

      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
      
    4. İleti İşleyici şu komutu tamamen kullanmaya başlayana kadar bekleyin:

      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
      
    5. Mesaj İşleyicisi hazır olduğunda, Mesaj İşleyicinin 8082 numaralı bağlantı noktasında dinleme yapıp dinlemediğini tekrar kontrol edin.

    6. Mesaj İşleyici, 8082 numaralı bağlantı noktasını dinliyorsa 7. adıma geçin.

  7. İzleme oturumunu artık kullanıcı arayüzünde başlatıp başlatamadığınızı kontrol edin. Sorun artık gözlemlenmiyorsa aşağıdaki adımları atlayın.

  8. İleti İşleyici çalışıyor ve 8082 numaralı bağlantı noktasından dinliyorsa ancak Yönetim Sunucusu gibi diğer sunuculardan bağlanamıyorsanız büyük olasılıkla harici bağlantıları engelleyen bir güvenlik duvarı vardır.

  9. Güvenlik duvarı kurallarını kontrol etmek için uygun komutu kullanın. Örneğin, sisteminizde tanımlı tüm güvenlik duvarı kurallarını listelemek için iptables komutunu çalıştırabilirsiniz:

    iptables -L -n
    
  10. 8082 numaralı bağlantı noktası için ayarlanmış bir güvenlik duvarı kuralı yoksa Yüksek Kaynak Kullanımı Sorunu bölümüne geçin.

  11. 8082 numaralı bağlantı noktasında ayarlanmış herhangi bir güvenlik duvarı kuralı varsa aşağıdaki Çözüm bölümüne gidin.

Çözüm

  1. Harici sunuculardan 8082 numaralı bağlantı noktasında gelen/giden trafiğe izin vermek için ağ yöneticinizle birlikte çalışın.

Sorun devam ederse Tanılama Bilgilerinin Toplanması Zorunludur bölümüne gidin.

Neden: Ortam İleti İşleyici'ye yüklenmedi

Teşhis

  1. /opt/apigee/var/log/edge-management-server/logs/system.log Management Server günlüklerini kontrol edin ve iz/hata ayıklama oturumu oluşturulurken herhangi bir hata olup olmadığına bakın.
  2. İzleme/hata ayıklama oturumu oluştururken, aşağıda gösterildiği gibi "MP'lerden geçerli yanıt yok" gibi bir hata mesajı görebilirsiniz:

    2018-01-30 08:28:09,721 org:mynonprod env:uat  qtp2007599722-712162 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : no valid responses from MP(s), throwing error
    2018-01-30 08:28:09,723 org:mynonprod env:uat  qtp2007599722-712162 ERROR REST - CustomJAXRSInvoker.performInvocation() : CustomJAXRSInvoker.performInvocation : Method com.apigee.distribution.DebugSessionAPI.createDebugSession threw an exception.
    2018-01-30 08:28:09,724 org:mynonprod env:uat  qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Error occurred : Failed to create DebugSession 1517297564678
    2018-01-30 08:28:09,724 org:mynonprod env:uat  qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Returning error response : ErrorResponse{errorCode = distribution.CreateDebugSessionFailed, errorMessage = Failed to create DebugSession 1517297564678}
    

    Bu hata, İleti İşleyicilerinin herhangi bir nedenle Yönetim Sunucusu'na yanıt vermediğini gösterir.

  3. Yukarıdaki örnekte gösterilene benzer bir hata görmüyorsanız Eski İleti İşleyici Girişleri'ne gidin.

  4. Yukarıdaki örnekte gösterilene benzer bir hata görürseniz aşağıdaki adımları uygulayın.

  5. Bu hatanın en olası nedenlerinden biri, izleme oturumunu oluşturmaya çalıştığınız ortamın İleti İşleyicilerine yüklenmemesidir.

  6. İleti İşleyicilerin her birine giriş yapın ve aşağıdaki komutu kullanarak izleme oturumunu oluşturmaya çalıştığınız belirli ortamın İleti İşleyici'ye yüklenip yüklenmediğini kontrol edin:

    curl -s http://localhost:8082/v1/runtime/organizations/<org-name>/environments
    

    Örnek Çıkış:

    Yukarıdaki komutun sonucunda İleti İşleyici'ye yüklenen, belirli bir kuruluşa ait ortamların listesini görürsünüz. Örneğin, Mesaj İşleyici'ye preprod ve test ortamları yüklendiyse çıkışı şu şekilde görürsünüz:

    [ "preprod", "test" ]

  7. İzleme oturumu oluşturmaya çalıştığınız "dev" gibi belirli bir ortam, yukarıdaki komutta listeleniyorsa Eski İleti İşleyici Girişleri'ne geçin.

  8. "dev" gibi belirli bir ortam yukarıdaki komutun parçası olarak listelenmiyorsa İleti İşleyicilerindeki /opt/apigee/var/log/edge-message-processor/logs/system.log ve /opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log öğelerinde Ortamların yüklenmesi sırasında hata olup olmadığını kontrol edin.

  9. İleti İşleyici'de bir ortamın yüklenemediğine yol açabilecek birçok farklı hata olabilir. Çözüm, oluşan hataya bağlıdır.

Çözünürlük

Ortam, birçok nedenden dolayı İleti İşleyici'ye yüklenmeyebilir. Bu bölümde, bu sorunun olası birkaç nedeni açıklanmakta ve sorunun nasıl çözüleceği açıklanmaktadır.

  1. İleti İşleyici günlüğünde aşağıdaki hatalardan birini görüyorsanız bunun nedeni, belirtilen ortamda belirtilen anahtar deposuna/güvenilir depoya eklenmiş sertifikalar/anahtarlarda bulunan bir sorundur.

    Hata 1: java.security.KeyStoreException: Kendi sertifikasının üzerine yazılamaz

    2018-01-30 12:04:38,248 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator 
    com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mycert in key store : mytruststore in environment : test
    at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] 
    at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] 
    at com.apigee.entities.AbstractConfigurator.propagateEvent(AbstractConfigurator.java:85) ~[config-entities-1.0.0.jar:na] 
    at com.apigee.messaging.runtime.Environment.handleUpdate(Environment.java:238) [message-processor-1.0.0.jar:na] 
    … 
    Caused by: java.security.KeyStoreException: Cannot overwrite own certificate 
    at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:355) ~[sunjce_provider.jar:1.8.0_151] 
    at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_151] 
    at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na]
    ... 20 common frames omitted
    2018-01-30 12:04:38,250 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
    

    Hata 2: java.security.KeyStoreException: Gizli anahtarın üzerine yazılamaz

    2017-11-01 03:28:47,560 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator 
    com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mstore in key store : myTruststore in environment : dev 
    at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] 
    at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] 
    ... 
    Caused by: java.security.KeyStoreException: Cannot overwrite secret key 
    at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:354) ~[sunjce_provider.jar:1.8.0_144] 
    at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_144] 
    at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] 
    ... 20 common frames omitted 
    
    2017-11-01 03:28:47,562 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert 
    
  2. Aşağıdaki management API çağrısını kullanarak önceki adımda gösterilen hata mesajında belirtilen anahtar deposu/güven deposu ayrıntılarını alın:

    curl -v "http://<management-IPaddress>:8080/v1/organizations/<org-name>/environments/<env-name>/keystores/myTruststore" -u <user>
    

    Örnek çıkış:

    { 
    "certs": [ 
    "mycert", 
    "mycert-new" 
    ], 
    "keys": [ 
    "mycert" 
    ], 
    "name": "myTruststore" 
    }
    
  3. Örnek çıkış, iki sertifika ve bir anahtarın güven deposundaki myTruststore olduğunu göstermektedir. Truststore genellikle anahtar içermez. Kullanılabilir durumdaysa tek bir sertifika ve tek bir anahtar olması daha iyidir.

  4. Aşağıdaki API'yi kullanarak iki sertifikanın ayrıntılarını öğrenin:

    curl -s http://<management-IPaddress>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/keystores/<keystore-name>/certs/<cert-name>
    
  5. Her bir sertifikanın son kullanma tarihini kontrol edin ve süresi dolmuş/eski sertifikayı belirleyin.

  6. Süresi dolmuş veya istenmeyen sertifikayı "myTruststore" güven deposundan silin.

Sorun devam ederse veya yukarıdaki 1. adımda belirtilenlerden başka bir hata görürseniz Teşhis Bilgileri Toplanması Gereken bölümüne gidin.

Neden: Eski İleti İşleyici Girişleri VEYA İleti İşleyicilere Ulaşılamıyor

Teşhis

  1. Edge kullanıcı arayüzü uzun sürüyorsa ve izleme oturumunu oluşturamıyorsa olası nedenlerden bazıları şunlardır:
    1. Yönetim Sunucusu mevcut olmayan (eski) İleti İşleyicilerine işaret ediyor olabilir
    2. Mesaj İşleyiciler durduruldu veya erişilemez hale geldi
    3. Mesaj İşleyicileri yüksek bellek/CPU kullanımıyla karşılaşıyor
  2. /opt/apigee/var/log/edge-management-server/logs/system.log Management Server günlüklerini kontrol edin ve iz/hata ayıklama oturumu oluşturulurken herhangi bir hata olup olmadığına bakın.
  3. İzleme/hata ayıklama oturumu oluşturulurken "<UUID> sunucusu çalışmıyor veya erişilebilir değil" gibi bir hata mesajı görebilirsiniz. Örnekler:

    2017-12-27 07:42:38,975 org:cocacola env:prod qtp2007599722-222063 INFO DISTRIBUTION - DebugSessionAPI.createDebugSession() : server 458b5910-2646-441c-a6e2-428b6d84e021 is either not up or reachable, skipping the server
    

    Bu işlemin ardından, aşağıda gösterildiği gibi bir süre sonra "Bağlantı zaman aşımına uğradı" hatası daha gösterilebilir:

    2017-12-27 07:44:46.000 UTC org:cocacola env:prod qtp2007599722-222063 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID {}, skipping it458b5910-2646-441c-a6e2-428b6d84e021 org.apache.http.conn.HttpHostConnectException: Connect to 192.168.101.7:8080 [/192.168.101.7] failed: Connection timed out (Connection timed out) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) ~[httpclient-4.3.5.jar:4.3.5] 
    …<snipped>
    Caused by: java.net.ConnectException: Connection timed out (Connection timed out) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_144] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_144]
    …<snipped>
    
  4. Bu iki hata belirli İleti İşleyiciler'den kaynaklanabilir:

    1. Eski (artık mevcut değil)
    2. Herhangi bir nedenle ulaşılabilir olmak/ulaşmak
  5. Lütfen karşılaşılan senaryoya bağlı olarak uygun çözümü uygulayın.

Çözünürlük

1. Senaryo : Mesaj İşleyiciler eski (mevcut değil)

  1. Aşağıdaki yönetim API'sini kullanarak İleti İşleyicilerin listesini alın:

    curl -u <sysadmin> "http://<management-server-host>:8080/v1/servers?pod=<podName>&regions=<regionName>"
    
  2. Yönetim Sunucusu günlüklerindeki hata mesajında (yukarıdaki Teşhis bölümünde bulunan 3. adım) bahsedilen İleti İşleyicilerinin UUID'lerine karşılık gelen IP adresini veya ana makine adını not edin. Aşağıdaki yöntemlerden birini kullanarak bunların geçerli İleti İşleyiciler olup olmadığını doğrulayın:

    1. En son Private Cloud topolojisi kurulumu şeması
    2. En son Uç Sunucu IP adresi - Ana Makine Adı eşleme tablosu

    Bunların geçerli İleti İşleyicileri olduğunu tespit ederseniz 2. Senaryo : İleti İşleyenlere ulaşılamıyor bölümüne geçin.

  3. Aşağıdaki yönetim API'lerini kullanarak eski (mevcut olmayan) ileti işleyenleri silin:

    1. Kuruluş ortamlarındaki İleti İşleyici'nin kaydını silin:

      curl -X POST http://<management-server-host>:8080/v1/o/<orgName>/e/<envName>/servers -d "uuid={uuid}&region=<regionName>&pod=<podName}&action=remove" 
      
    2. Sunucu türünün kaydını silin:

      curl http://<management-server-host>:8080/v1/servers -X POST -d "type={message-processor}&region=<regionName>&pod=<podName>&uuid=<uuid>&action=remove"
      
    3. Sunucuyu silin:

      curl http://<management-ip>:8080/v1/servers/<uuid> -X DELETE
      
  4. Kuruluşunuzdaki diğer ortamlarda aynı sorunu yaşıyorsanız 3. adımı tekrarlayın.

2. Senaryo: Mesaj İşleyenlere ulaşılamıyor

  1. Yönetim Sunucusu günlüklerindeki hata mesajında gözlemlenen UUID'lere göre IP adreslerini/Ana makine adlarını belirleyerek her İleti İşleyiciye giriş yapın.
  2. İleti İşleyici'yi yeniden başlatın:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
    

İzleme oturumu oluşturup oluşturamadığınızı tekrar kontrol edin. Sorun devam ederse Teşhis Bilgilerinin Toplanması Zorunlu bölümüne gidin.

Neden: Yüksek Kaynak Kullanımı Sorunu

Teşhis

  1. Mesaj İşleyicilerin her birine giriş yapın ve herhangi bir kaynağın(CPU, Bellek veya Yükleme) yüksek oranda kullanılıp kullanılmadığını kontrol edin. İleti İşleyici işleminin kaynak kullanımı bilgilerini almak için Unix tabanlı işletim sistemlerinde top komutunu kullanabilirsiniz:

    top
    
  2. İleti İşleyicileri yüksek kaynak kullanımı yaşmıyorsa Teşhis Bilgilerinin Toplanması Zorunlu bölümüne geçin.

  3. İleti İşleyicileri yüksek CPU veya bellek kullanımı yaşıyorsa bu durum İleti İşleyicinin Yönetim Sunucusu'na zamanında yanıt vermemesine neden olabilir. Bu durum, izleme oturumu oluşturmanıza engel olur.

    1. Herhangi bir İleti İşleyici yüksek CPU kullanımı yaşıyorsa aşağıdaki komutu kullanarak her 30 saniyede bir üç iş parçacığı dökümü oluşturun:

      sudo <JAVA_HOME>/bin/jstack -l <pid> > <filename>
      
    2. Herhangi bir mesaj işlemcinin bellek kullanımı yüksekse aşağıdaki komutu kullanarak bir yığın dökümü oluşturun:

      sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=<filename> <pid>
      
      
    3. Çözüme Taşı'yı tıklayın.

Çözünürlük

  1. Aşağıdaki komutu kullanarak İleti İşleyici'yi yeniden başlatın. Bu işlem, CPU ve bellek kullanımını azaltır:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  2. API çağrılarını izleyin ve sorunun devam edip etmediğini onaylayın.

  3. Apigee Edge Destek Ekibi ile iletişime geçerek iş parçacığı dökümlerini, yığın dökümünü ve Mesaj İşlemci günlüklerini (/opt/apigee/var/log/edge-message-processor/logs/system.log)) sağlayarak yüksek CPU/bellek kullanımının nedenini araştırabilmelerine yardımcı olun.

Neden: API Proxy'si bir veya daha fazla Mesaj İşleyiciye dağıtılmadı

Nadiren bir API Proxy'si, bir veya daha fazla Mesaj İşleyiciye dağıtılamaz. Bunun nedeni çoğunlukla ilgili API Proxy'sinin dağıtımı sırasında Yönetim Sunucusu'ndan İleti İşleyiciye gönderilen etkinlik bildirimlerinin eksik olmasıdır. Bu durumda da, Edge kullanıcı arayüzünde izleme oturumunu oluşturamazsınız.

Teşhis

  1. Mesaj İşleyicilerin her birine giriş yapın ve aşağıdaki komutu kullanarak API Proxy'sinin ilgili düzeltmesinin dağıtılıp dağıtılmadığını kontrol edin:

    curl -v localhost:8082/v1/runtime/organizations/<orgname>/environments/<envname>/apis/<apiname>/revisions
    

    Örnek Çıkış:

    Yukarıdaki komutun sonucu olarak düzeltmelerin listesini görürsünüz. Örneğin, düzeltme 12 dağıtıldıysa çıkışı şu şekilde görürsünüz:

    [ "12" ]

  2. API Proxy'sinin belirli düzeltmesi yukarıdaki 1. adımda bahsedilen komutun sonucu olarak görünmüyorsa aşağıdaki Çözüm bölümünde açıklandığı şekilde ilgili Mesaj İşleyiciyi yeniden başlatın.

  3. Tüm mesaj işleyenler için 1'den 2'ye kadar olan adımları tekrarlayın.

  4. API Proxy'sinin belirli bir düzeltmesi tüm Mesaj İşleyicilerine dağıtılmışsa sorunun nedeni bu değildir. Teşhis Bilgilerinin Toplanması Zorunlu bölümüne taşıyın.

Çözünürlük

  1. API Proxy'sinin ilgili düzeltmesinin dağıtılmadığı belirli Mesaj İşleyicileri yeniden başlatın:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
    

Neden: Edge kullanıcı arayüzüyle ilgili sorun

Teşhis

  1. Edge kullanıcı arayüzü günlüklerini (/opt/apigee/var/log/edge-ui/application.log ve /opt/apigee/var/log/edge-ui/edge-ui.log) kontrol edip herhangi bir hata olup olmadığına bakın.
  2. Apigee Edge Destek Ekibi ile iletişime geçin ve daha fazla inceleme için bu dosyaları paylaşın.

Teşhis Bilgilerinin Toplanması Gereken

Yukarıdaki talimatları uygulamanıza rağmen sorun devam ederse lütfen aşağıdaki teşhis bilgilerini toplayın. Apigee Edge Destek Ekibi ile iletişime geçin ve bu bilgileri paylaşın:

  1. Komut çıktısı:

    curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
    
  2. Yönetim Sunucusu günlüğü

    /opt/apigee/var/log/edge-management-server/logs/system.log.
    
  3. Mesaj İşleyici günlükleri

    /opt/apigee/var/log/edge-message-processor/logs/system.log.
    
  4. Yönetim Sunucusu'ndan İleti İşleyiciye telnet/nc komutlarının çıkışı:

    telnet <MessageProcessor_IP> 8082
    nc -vz <MessageProcessor_IP> 8082
    
  5. Mesaj İşleyicilerde aşağıdaki netstat komutunun çıkışı:

    netstat -an > netstat.txt
    
  6. Sorunun Edge kullanıcı arayüzüyle ilgili olduğu tespit edildiyse Edge kullanıcı arayüzü günlüklerini (/opt/apigee/var/log/edge-ui/application.log ve /opt/apigee/var/log/edge-ui/edge-ui.log.) sağlayın.

  7. Bu Başucu Kitabı'nın hangi bölümlerinin denendiğiyle ilgili ayrıntılar ve bu sorunun çözümünü hızlandırmamıza yardımcı olacak diğer görüşler.