Veriler, analiz kontrol panellerinde gösterilmiyor

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

Belirti

Analiz kontrol panelleri (Proxy Performansı, Hedef Performansı vb.) Edge kullanıcı arayüzünde veri göstermez. Tüm kontrol panellerinde aşağıdaki mesaj gösterilir:

No traffic in the selected date range

Hata mesajları

Bu sorun gözlemlenebilir hatalarla sonuçlanmaz.

Olası nedenler

Aşağıdaki tabloda, bu sorunun olası nedenleri listelenmiştir:

Neden (Hedef müşteri) için
Kuruluş Ortamı İçin API Trafiği Yok Private Cloud kullanıcıları için Edge
Veriler Postgres Veritabanı'nda kullanılabilir ancak kullanıcı arayüzünde görüntülenmiyor Private Cloud kullanıcıları için Edge
Analytics Verileri Postgres Veritabanı'na aktarılmıyor Private Cloud kullanıcıları için Edge
Hatalı Analytics Dağıtımı Private Cloud kullanıcıları için Edge
Eski Analytics Sunucusu UUID'leri Private Cloud kullanıcıları için Edge

Kuruluş Ortamı İçin API Trafiği Yok

Teşhis

  1. Aşağıdaki yöntemlerden birini kullanarak analiz verilerini görüntülemeye çalıştığınız süre boyunca belirli kuruluş ortamında API Proxy'lerinin trafiği olup olmadığını kontrol edin:
    1. Kullanıcılarınız tarafından şu anda kullanılmakta olan API'lerinizden herhangi biri için izlemeyi etkinleştirin ve izde herhangi bir istek alıp alamadığınızı kontrol edin.
    2. NGINX erişim günlüklerini görüntüleyin (/opt/apigee/var/log/edge-router/nginx/logs/access.log) ve belirtilen süre boyunca API Proxy'leri için yeni giriş olup olmadığına bakın.
    3. API Proxy'lerinden Sistem Günlüğü, Splunk, Loggly gibi bir günlük sunucusuna kaydederseniz bu günlük sunucularında belirli bir süre boyunca API Proxy'leri için herhangi bir giriş olup olmadığını kontrol edebilirsiniz.
  2. Belirli bir süre boyunca trafik (API isteği) yoksa analiz verileri kullanılamaz. Analiz kontrol panelinde "Seçilen tarih aralığında trafik yok" mesajını görürsünüz.

Çözünürlük

  1. Belirli bir kuruluş ortamında bir veya daha fazla API proxy'sine çağrı yapın.
  2. Birkaç saniye bekleyin. Ardından Saat sekmesinde Analytics kontrol panellerine göz atın ve verilerin görünüp görünmediğine bakın.
  3. Sorun devam ederse Veriler Postgres Veritabanı'nda mevcut ancak kullanıcı arayüzünde gösterilmiyor bölümüne gidin.

Veriler Postgres Veritabanı'nda mevcut, ancak kullanıcı arayüzünde gösterilmiyor

Belirti

İlk olarak Postgres veritabanında en güncel Analytics verilerinin kullanılabilirliğini belirleyin.

Postgres Master düğümünde en yeni Analytics verilerinin mevcut olup olmadığını kontrol etmek için:

  1. Postgres sunucularının her birine giriş yapın ve Master Postgres düğümünde olup olmadığınızı doğrulamak için aşağıdaki komutu çalıştırın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. Ana Postgres düğümünde PostgreSQL'e giriş yapın:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Postgres veritabanında aşağıdaki SQL sorgusunu kullanarak tablonun kuruluş ortamınız için mevcut olup olmadığını kontrol edin:
    \d analytics."orgname.envname.fact"
    
  4. Aşağıdaki SQL sorgusunu kullanarak Postgres veritabanında en son verilerin mevcut olup olmadığını kontrol edin:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. En son zaman damgası çok eski (veya null) ise bu, verilerin Postgres veritabanında mevcut olmadığını gösterir. Bu sorunun olası nedeni, verilerin Qpid sunucusundan Postgres veritabanına aktarılmamasıdır. Analytics Verileri Postgres Veritabanı'na aktarılmıyor bölümüne gidin.
  6. En son veriler Ana düğümdeki Postgres veritabanında mevcutsa verilerin Edge kullanıcı arayüzünde neden görüntülenmediğini teşhis etmek için aşağıdaki adımları uygulayın.

Teşhis

  1. Chrome tarayıcınızda Geliştirici Araçları'nı etkinleştirin ve aşağıdaki adımları uygulayarak analiz kontrol panellerinden birinden API'nin kullanılmasını sağlayın:
    1. Geliştirici Araçları'ndan Ağ sekmesini seçin.
    2. Kaydı başlat.
    3. Analytics kontrol panelini yeniden yükleyin.
    4. Geliştirici Araçları'nda soldaki panelde, "apiproxy?_optimized...". ifadesini içeren satırı seçin.
    5. Geliştirici Araçları'nda sağ taraftaki panelde "Başlıklar" sekmesini seçin ve "İstek URL'si"ni not edin.
  2. Aşağıda, Geliştirici Araçları'ndan alınan örnek çıkış verilmiştir:

    Proxy Performansı için Geliştirici Araçları kontrol panelinin Ağ Sekmesindeki Proxy Performansı kontrol panelinde kullanılan API'yi gösteren örnek çıkış

  3. Management API çağrısını doğrudan çalıştırın ve sonuçları alıp almadığınızı kontrol edin. Aşağıda, Proxy Performansı kontrol panelindeki Gün sekmesi için örnek bir API çağrısı gösterilmektedir:
    curl -u username:password
      "http://management_server_IP_address:8080/v1/organizations/
      org_name/environments/env_name/stats/apiproxy?limit=14400&
      select=sum(message_count),sum(is_error),avg(total_response_time),
      avg(target_response_time)&sort=DESC&sortby=sum(message_count),sum(is_error),
      avg(total_response_time),avg(target_response_time)&timeRange=08%2F9%2F2017+
      18:00:00~08%2F10%2F2017+18:00:00&timeUnit=hour&tsAscending=true"
    
  4. Başarılı bir yanıt görüyorsanız ancak hiç veri yoksa bu, Yönetim Sunucusu'nun ağ bağlantısı sorunları nedeniyle Postgres sunucusundan veri getiremediğini gösterir.
  5. Yönetim Sunucusu'ndan Postgres sunucusuna bağlanıp bağlanamadığınızı kontrol edin:
    telnet Postgres_server_IP_address 5432
    
  6. Postgres sunucusuna bağlanamıyorsanız 5432 numaralı bağlantı noktasında herhangi bir güvenlik duvarı kısıtlaması olup olmadığını kontrol edin.
  7. Güvenlik duvarı kısıtlamaları varsa Yönetim Sunucusu'nun verileri Postgres sunucusundan çekememesinin nedeni bu olabilir.

Çözünürlük

  1. Güvenlik duvarı kısıtlamaları varsa Yönetim Sunucusu'nun Postgres sunucusuyla iletişim kurabilmesi için bunları kaldırın.
  2. Güvenlik duvarı kısıtlaması yoksa bu sorun ağdaki bir hatadan kaynaklanıyor olabilir.
  3. Yönetim Sunucusu'nda ağ hatası oluştuysa sunucuyu yeniden başlatmak sorunu çözebilir.
  4. Aşağıdaki komutu kullanarak tüm Yönetim Sunucularını tek tek yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Edge kullanıcı arayüzünde analiz verilerini görüp göremediğinizi kontrol edin.

Verileri hâlâ göremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.

Analytics Verileri Postgres Veritabanı'na aktarılmıyor

Teşhis

Veriler, Postgres Veritabanı'nda kullanılabilen veriler bölümünde belirlendiği üzere Qpid Sunucusu'ndan Postgres Veritabanı'na aktarılmıyorsa ancak kullanıcı arayüzünde gösterilmiyorsa aşağıdaki adımları uygulayın:

  1. Aşağıdaki komutu çalıştırarak Qpid Sunucularının her birinin çalışır durumda olup olmadığını kontrol edin:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Herhangi bir Qpid Sunucusu kapalıysa yeniden başlatın. Tek bir cihazınız varsa 5. adıma geçin.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Bir süre bekleyin ve en son verilerin Postgres veritabanında mevcut olup olmadığını tekrar kontrol edin.
    1. PostgreSQL'e giriş yapın:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. En yeni verilerin mevcut olup olmadığını kontrol etmek için aşağıdaki SQL sorgusunu çalıştırın:
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
      
  4. En son veriler varsa aşağıdaki adımları atlayın ve Çözüm bölümünde son adıma geçin. En son veriler mevcut değilse aşağıdaki adımları uygulayın.
  5. Qpid sunucu sıralarından gelen iletilerin Postgres veritabanına aktarılıp aktarılmadığını kontrol edin.
    1. qpid-stat -q command dosyasını yürütüp msgIn ve msgOut sütunu değerlerini kontrol edin.
    2. msgIn ve msgOut öğelerinin eşit olmadığını gösteren örnek bir çıkış aşağıda verilmiştir. Bu, iletilerin Qpid Sunucusu'ndan Postgres Veritabanı'na aktarılmadığını belirtir.

  6. msgIn ve msgOut sütunlarında uyuşmazlık varsa Qpid Sunucusu günlüklerini /opt/apigee/var/log/edge-qpid-server/system.log kontrol edip herhangi bir hata olup olmadığına bakın.
  7. Aşağıdaki şekilde gösterildiği gibi "Muhtemelen PG hâlâ çalışmıyor" veya "FATAL: maalesef çok fazla istemci var" gibi hata mesajları görebilirsiniz:
    2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be
      retriable - . Error observed while trying to connect to
      jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when
      execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d
      Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d]
    2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection;
      nested exception is org.postgresql.util.PSQLException: FATAL: sorry, too many clients already
    2017-07-28 09:56:53,617 pool-7-thread-1
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be
      retriable - . Error observed while trying to connect to
      jdbc:postgresql://PG_IP_address:5432/apigee
      Initial referenced UUID when execution started in this thread was
      a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used -
      [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d]
    2017-07-28 09:56:53,617 pool-7-thread-1
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection;
      nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create
      PoolableConnectionFactory (FATAL: sorry, too many clients already)
    

Postgres sunucusu çok fazla SQL sorgusu çalıştırıyorsa veya CPU yüksek çalıştığı için Qpid Server'a yanıt veremiyorsa bu durum meydana gelebilir.

Çözünürlük

  1. Postgres Server ve PostgreSQL'i aşağıda gösterildiği gibi yeniden başlatın:
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. Bu yeniden başlatma işlemi, önceki tüm SQL sorgularının durdurulmasını ve Postgres veritabanına yeni bağlantılar kurulmasını sağlar.
  3. Analytics kontrol panellerini yeniden yükleyin ve Analytics verilerinin gösterilip gösterilmediğini kontrol edin.

Sorun devam ederse Apigee Edge Destek Ekibi ile iletişime geçin.

Hatalı Analytics Dağıtımı

Teşhis

  1. Aşağıdaki API çağrısını kullanarak analiz dağıtım durumunu alın:
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
    
  2. API çağrısının sonuçlarından Qpid ve Postgres sunucularının durumunu kontrol edin.
    1. Qpid ve Postgres sunucularının durumu "BAŞARILI" olarak görünüyorsa bu, analiz sunucularının düzgün bir şekilde bağlandığını gösterir. Eski Analytics Sunucusu UUID'leri bölümüne gidin.
    2. Qpid/Postgres sunucularının durumu "UNKNOWN" veya "FAILURE" olarak gösteriliyorsa ilgili sunucuyla ilgili bir sorun olduğu anlamına gelir.

      Örneğin, aşağıdaki senaryoda Postgres sunucularının durumu "BİLİNMİYOR" olarak gösterilmektedir:

      Analizlerin ilk katılımı sırasında bir hata oluşursa bu durum yaşanabilir. Bu hata, Yönetim Sunucularından gelen iletilerin Postgres sunucularına ulaşmasını engeller.

Çözünürlük

Bu sorun genellikle "FAILURE" veya "UNKNOWN" mesajının gösterildiği sunucuları yeniden başlatarak çözülebilir.

  1. Aşağıdaki komutu kullanarak analiz kablo bağlantısı durumu "FAILURE" veya "UNKNOWN" olarak görünen sunucuları yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Örneğin:
    1. Sorunu Qpid Sunucularında görüyorsanız Qpid Sunucularını yeniden başlatın:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Sorunu Postgres Sunucularında görüyorsanız hem Ana hem de Yardımcı Postgres Sunucusu düğümlerini yeniden başlatın:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. Yukarıdaki örnekte Postgres sunucuları için "UNKNOWN" mesajı gösterilmektedir. Bu nedenle hem Master hem de Slave Postgres sunucularını yeniden başlatmanız gerekir:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

Eski Analytics Sunucusu UUID'leri

Teşhis

  1. Aşağıdaki API çağrısını kullanarak analiz yapılandırmasını alın:
    curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
    

    Yukarıdaki API'den alınan bir örnek çıkışı aşağıda görebilirsiniz:

    [ {
      "name" : "axgroup001",
      "properties" : {
        "consumer-type" : "ax"
      },
      "scopes" : [ "myorg~prod", "myorg~test" ],
      "uuids" : {
        "aries-datastore" : [ ],
        "postgres-server" : [ "6777...2db14" ],
        "dw-server" : [ ],
        "qpid-server" : [ "774e...fb23", "29f3...8c11" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "774e...8c11" ],
        "datastores" : [ "6777...db14" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    } ]
    
  2. Çıkışta aşağıdaki bilgilerin doğru olduğundan emin olun:
    1. org-env adlarını içermelidir.
    2. Postgres sunucularının ve Qpid sunucularının UUID'leri.
      • Aşağıdaki komutu Postgres sunucu düğümlerinin her birinde çalıştırarak Postgres sunucusu UUID'lerini alın:
        curl 0:8084/v1/servers/self/uuid
        
      • Aşağıdaki komutu Qpid sunucu düğümlerinin her birinde çalıştırarak Qpid Sunucusu UUID'lerini alın:
        curl 0:8083/v1/servers/self/uuid
        
  3. Tüm bilgiler doğruysa Analytics Verileri Postgres Veritabanı'na aktarılmıyor bölümüne gidin.
  4. Postgres ve/veya Qpid sunucularının UUID'leri yanlışsa Yönetim Sunucuları eski UUID'lere işaret ediyor olabilir.

Çözünürlük

Eski UUID'leri kaldırmak ve sunucuların doğru UUID'lerini eklemek için Apigee Edge Destek Ekibi ile iletişime geçin.