Veriler, analiz kontrol panellerinde gösterilmiyor

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

Belirti

Analytics kontrol panellerinde (Proxy Performansı, Hedef Performansı vb.) Edge kullanıcı arayüzünde herhangi bir veri gösterilmiyor. Tüm kontrol panellerinde aşağıdaki mesaj gösteriliyor:

No traffic in the selected date range

Hata mesajları

Bu sorun, gözlemlenebilir hatalara neden olmaz.

Olası nedenler

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

Neden Şunun için:
No API Traffic for Organization-Environment (Kuruluş-Ortam için API trafiği yok) Özel bulut kullanıcıları için Edge
Postgres veritabanında bulunan verilerin kullanıcı arayüzünde gösterilmemesi Özel bulut kullanıcıları için Edge
Analytics verileri Postgres veritabanına aktarılmıyor Özel bulut kullanıcıları için Edge
Yanlış Analytics dağıtımı Özel bulut kullanıcıları için Edge
Eski Analytics sunucusu UUID'leri Özel bulut kullanıcıları için Edge

Kuruluş-Ortam için API trafiği yok

Teşhis

  1. Analiz verilerini görüntülemeye çalıştığınız belirli süre boyunca, aşağıdaki yöntemlerden birini kullanarak belirli kuruluş ortamındaki API proxy'leri için trafik olup olmadığını kontrol edin:
    1. Kullanıcılarınız tarafından şu anda kullanılan API'leriniz için izlemeyi etkinleştirin ve izlemede 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 belirli süre boyunca API proxy'leri için yeni giriş olup olmadığını kontrol edin.
    3. API proxy'lerinden gelen bilgileri Syslog, Splunk, Loggly gibi bir günlük sunucusuna kaydediyorsanız belirli bir süre boyunca API proxy'leriyle ilgili bu günlük sunucularında herhangi bir giriş olup olmadığını kontrol edebilirsiniz.
  2. Belirli bir süre boyunca trafik yoksa (API isteği yoksa) analiz verileri kullanılamaz. Analytics kontrol panelinde "Seçilen tarih aralığında trafik yok" mesajını görürsünüz.

Çözünürlük

  1. Belirli kuruluş ortamındaki bir veya daha fazla API proxy'sine bazı çağrılar yapın.
  2. Birkaç saniye bekleyin, ardından Saat sekmesindeki analiz kontrol panellerini görüntüleyerek verilerin görünüp görünmediğini kontrol edin.
  3. Sorun devam ederse PostgreSQL veritabanında bulunan ancak kullanıcı arayüzünde gösterilmeyen veriler bölümüne gidin.

Postgres veritabanında bulunan veriler kullanıcı arayüzünde gösterilmiyor

Belirti

Öncelikle Postgres veritabanında en son Analytics verilerinin kullanılabilirliğini belirleyin.

En son Analytics verilerinin Postgres Master düğümünde kullanılabilir olup olmadığını kontrol etmek için:

  1. Postgres sunucularının her birine giriş yapın ve ana 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 PostgreSQL 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 kuruluş ortamınız için tablonun mevcut olup olmadığını kontrol edin:
    \d analytics."orgname.envname.fact"
  4. Aşağıdaki SQL sorgusunu kullanarak Postgres veritabanında en son verilerin olup olmadığını kontrol edin:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
  5. En son zaman damgası çok eskiyse (veya boşsa) bu, verilerin Postgres veritabanında bulunmadığı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österilmediğ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 kullanılan API'yi analiz kontrol panellerinden birinden alın:
    1. Geliştirici Araçları'ndan Ağ sekmesini seçin.
    2. Kaydı başlatın.
    3. Analytics kontrol panelini yeniden yükleyin.
    4. Geliştirici Araçları'ndaki sol panelde, "apiproxy?_optimized..." ifadesini içeren satırı seçin.
    5. Geliştirici Araçları'ndaki sağ panelde "Başlıklar" sekmesini seçin ve "İstek URL'si"ni not edin.
  2. Geliştirici Araçları'ndan alınan örnek çıkışı aşağıda görebilirsiniz:

    Proxy Performansı kontrol paneli için Geliştirici Araçları'nın Ağ sekmesinden Proxy Performansı kontrol panelinde kullanılan API'yi gösteren örnek çıktı

  3. Yönetim API'si çağrısını doğrudan çalıştırın ve sonuçları alıp almadığınızı kontrol edin. Proxy Performansı kontrol panelindeki Gün sekmesi için örnek bir API çağrısını aşağıda bulabilirsiniz:
    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 alıyor ancak veri göremiyorsanız bu durum, Yönetim Sunucusu'nun ağ bağlantısı sorunları nedeniyle Postgres sunucusundan verileri getiremediğini gösterir.
  5. Yönetim sunucusundan 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 güvenlik duvarı kısıtlaması olup olmadığını kontrol edin.
  7. Güvenlik duvarı kısıtlamaları varsa bu durum, Yönetim Sunucusu'nun Postgres sunucusundan verileri çekememesine neden olabilir.

Çözünürlük

  1. Güvenlik duvarı kısıtlamaları varsa bunları kaldırın. Böylece Yönetim Sunucusu, Postgres sunucusuyla iletişim kurabilir.
  2. Güvenlik duvarı kısıtlaması yoksa bu sorun ağdaki bir aksaklıktan kaynaklanıyor olabilir.
  3. Yönetim sunucusunda ağla ilgili bir aksaklık olduysa sunucuyu yeniden başlatmak sorunu düzeltebilir.
  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örebildiğinizi kontrol edin.

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

Analytics verileri Postgres veritabanına aktarılmıyor

Teşhis

Veriler, Veriler Postgres veritabanında mevcut ancak kullanıcı arayüzünde gösterilmiyor bölümünde belirtildiği gibi Qpid sunucusundan Postgres veritabanına aktarılmıyorsa aşağıdaki adımları uygulayın:

  1. Aşağıdaki komutu çalıştırarak her bir Qpid sunucusunun çalışıp çalışmadığını kontrol edin:
    /opt/apigee/apigee-service/bin edge-qpid-server status
  2. Herhangi bir Qpid sunucusu kapalıysa yeniden başlatın. Yoksa 5. adıma geçin.
    /opt/apigee/apigee-service/bin edge-qpid-server restart
  3. Bir süre bekleyin ve ardından en son verilerin Postgres veritabanında 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 son verilerin kullanılabilir 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 mevcutsa aşağıdaki adımları atlayıp Çözüm bölümündeki son adıma geçin. En son veriler kullanılamıyorsa aşağıdaki adımlarla devam edin.
  5. Qpid sunucu kuyruklarındaki iletilerin Postgres veritabanına gönderilip gönderilmediğini kontrol edin.
    1. qpid-stat -q command komutunu çalıştırın ve msgIn ile msgOut sütun değerlerini kontrol edin.
    2. Aşağıda, msgIn ve msgOut değerlerinin eşit olmadığını gösteren örnek bir çıkış verilmiştir. Bu, iletilerin Qpid sunucusundan Postgres veritabanına gönderilmediğini gösterir.

  6. msgIn ve msgOut sütunlarında uyuşmazlık varsa Qpid sunucu günlüklerini /opt/apigee/var/log/edge-qpid-server/system.log kontrol ederek hata olup olmadığını görün.
  7. Aşağıdaki şekilde gösterildiği gibi "Probably PG is still down" (Muhtemelen PG hâlâ kapalı) veya "FATAL: sorry, too many clients already" (FATAL: Üzgünüz, ç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)

Bu durum, Postgres sunucusu çok fazla SQL sorgusu çalıştırıyorsa veya CPU yüksek çalışıyorsa ve bu nedenle Qpid sunucusuna yanıt veremiyorsa meydana gelebilir.

Çözünürlük

  1. Postgres sunucusunu 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, önceki tüm SQL sorgularının durdurulmasını sağlar ve Postgres veritabanına yeni bağlantıların kurulmasına olanak tanır.
  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.

Yanlış Analytics Dağıtımı

Teşhis

  1. Aşağıdaki API çağrısını kullanarak Analytics 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österiliyorsa bu, analiz sunucularının doğru şekilde bağlandığını gösterir. Eski Analytics sunucusu UUID'leri'ne gidin.
    2. Qpid/Postgres sunucularının durumu "UNKNOWN" (BİLİNMİYOR) veya "FAILURE" (BAŞARISIZ) olarak gösteriliyorsa ilgili sunucuda bir sorun olduğu anlamına gelir.

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

      Bu durum, Analytics'e ilk katılım sırasında bir hata oluşursa ortaya çıkabilir. Bu hata, Yönetim Sunucularından gelen mesajların Postgres sunucularına ulaşmasını engeller.

Çözünürlük

Bu sorun genellikle "FAILURE" (BAŞARISIZ) veya "UNKNOWN" (BİLİNMİYOR) durumunu gösteren sunucuların yeniden başlatılmasıyla çözülebilir.

  1. Aşağıdaki komutu kullanarak, analiz kablolama durumu "FAILURE" (BAŞARISIZ) veya "UNKNOWN" (BİLİNMİYOR) olarak belirtilen sunucuların her birini 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 ikincil Postgres sunucu 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österiliyor. 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 örnek çıkışı aşağıda bulabilirsiniz:

    [ {
      "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ıştaki aşağıdaki bilgilerin doğru olduğundan emin olun:
    1. "Kapsamlar" öğesinde listelenen org-env adları.
    2. Postgres sunucularının ve Qpid sunucularının UUID'leri.
      • Postgres sunucu düğümlerinin her birinde aşağıdaki komutu çalıştırarak Postgres sunucusu UUID'lerini alın:
        curl 0:8084/v1/servers/self/uuid
      • Qpid sunucu düğümlerinin her birinde aşağıdaki komutu çalıştırarak Qpid sunucu 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 geçin.
  4. Postgres ve/veya Qpid sunucularının UUID'leri yanlışsa yönetim sunucuları eski UUID'lere başvuruyor 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.