Veriler, analiz kontrol panellerinde gösterilmiyor

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Belirti

Analiz kontrol panellerinde (Proxy Performansı, Hedef Performansı vb.) hiç gösterilmiyor verilerini geri yükleyebilirsiniz. Tüm kontrol panellerinde aşağıdaki mesaj gösterilir:

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:
Kuruluş Ortamı için API Trafiği Yok Private Cloud kullanıcıları için Edge
Veriler Postgres Veritabanı'nda mevcut ancak şurada gösterilmiyor: Kullanıcı arayüzü Private Cloud kullanıcıları için Edge
Analytics Verileri Postgres Veritabanına aktarılmıyor Private Cloud kullanıcıları için Edge
Yanlış 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ı için API Trafiği Yok

Teşhis

  1. Belirli kuruluş ortamında API Proxy'leri için trafik olup olmadığını Aşağıdakilerden birini kullanarak analiz verilerini görüntülemeye çalıştığınız belirli süre yöntemleri:
    1. Şu anda kullanıcılarınız tarafından kullanılmakta olan 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üleme (/opt/apigee/var/log/edge-router/nginx/logs/access.log) ve herhangi bir sorun olup olmadığına bakın API Proxy'leri için belirtilen süredeki yeni girişler.
    3. API Proxy'lerindeki bilgileri Syslog, Splunk, Loggly, vs. gibi eski komutlar varsa bu günlük sunucularında API Proxy'leri için herhangi bir giriş olup olmadığını tahmin edebilirsiniz.
  2. Belirli bir süre için trafik (API isteği yok) yoksa Analytics verileri mevcut değil. "Seçilen tarih aralığında trafik yok" mesajını görürsünüz. Analytics'te kontrol paneli

Çözünürlük

  1. Belirli bir kuruluş ortamında bir veya daha fazla API proxy'sine bazı çağrılar yapın.
  2. Birkaç saniye bekleyin, ardından Saat sekmesindeki Analytics kontrol panellerini görüntüleyin ve veriler görünür.
  3. Sorun devam ederse Postgres'te veri mevcut Veritabanı var ancak kullanıcı arayüzünde gösterilmiyor.

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

Belirti

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

En son Analytics verilerinin Postgres Master'da mevcut olup olmadığını kontrol etmek için düğüm:

  1. Postgres sunucularına giriş yapın ve aşağıdaki komutu çalıştırarak ana Postgres düğümünde:
    /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'te aşağıdaki SQL sorgusunu kullanarak tablonun kuruluşunuz için mevcut olup olmadığını kontrol edin veritabanı:
    \d analytics."orgname.envname.fact"
    
    .
  4. Aşağıdaki SQL'i kullanarak Postgres veritabanında en son verilerin mevcut olup olmadığını kontrol edin sorgu:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
    .
  5. En son zaman damgası çok eskiyse (veya boşsa) bu, verilerin çok eski mevcut olması gerekir. Bu sorunun olası nedeni, verilerin Qpid Sunucusu'ndan Postgres veritabanına aktarılmaz. Analytics Verileri Postgres Veritabanına aktarılmıyor'a geçin.
  6. En son veriler Ana düğümdeki Postgres veritabanında mevcutsa verilerin neden Edge kullanıcı arayüzünde görüntülenmediğini teşhis etmek için aşağıdaki adımları uygulayın.

Teşhis

  1. Geliştirici Araçları'nı etkinleştirin ve API'yi kullanarak analiz kontrol panellerinden birinden kullanılan API'yi şu adımları izleyin:
    1. Geliştirici Araçları'ndan Ağ sekmesini seçin.
    2. Kaydı Başlat'ı tıklayın.
    3. Analytics kontrol panelini yeniden yükleyin.
    4. Geliştirici Araçları'nın sol tarafındaki panelde, "apiproxy?_optimize edildi...".
    5. Geliştirici Araçları'nda sağdaki panelde "Başlıklar"ı seçin tıklayın ve "İstek URL'si".
  2. Geliştirici Araçları'ndan alınan örnek çıkışı aşağıda bulabilirsiniz:

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

  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 örnek bir API verilmiştir Proxy Performansı kontrol panelindeki Gün sekmesine yapılan çağrı:
    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. Hiçbir veri içermeyen başarılı bir yanıt görürseniz bu, Yönetim sunucusu, ağ nedeniyle Postgres sunucusundan verileri alamıyor bağlantı sorunları.
  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 herhangi bir güvenlik duvarı olup olmadığını kontrol edin kısıtlamaları için bir değer sunar.
  7. Güvenlik duvarı kısıtlamaları varsa Yönetim Sunucusu'nun nedeni bu olabilir Postgres sunucusundan veriler alamadığını fark ettim.

Çözünürlük

  1. Güvenlik duvarı kısıtlamaları varsa Yönetim Sunucusu'nun çalışabilmesi için bunları kaldırın. iletişim kurmalarını sağlar.
  2. Güvenlik duvarı kısıtlaması yoksa bu sorun ağ arızasından kaynaklanıyor olabilir.
  3. Yönetim Sunucusu'nda herhangi bir ağ hatası olduysa 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örmüyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.

Analytics Verileri Postgres Veritabanına aktarılmıyor

Teşhis

Veriler, Postgres Database'de kullanılabilen ancak kullanıcı arayüzünde gösterilmeyen veriler bölümünde belirtildiği şekilde Qpid Server'dan Postgres Veritabanı'na aktarılmazsa şu adımları uygulayın:

  1. Aşağıdaki komutu çalıştırarak Qpid Server'ın her birinin çalışır durumda olup olmadığını kontrol edin:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
    .
  2. Kapalı olan herhangi bir Qpid Sunucusu varsa onu yeniden başlatın. Yoksa 5. adıma geçin.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Bir süre bekleyin ve Postgres veritabanında en son verilerin 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 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 kullanılabilir durumdaysa aşağıdaki adımları atlayıp Çözüm bölümü. En son veriler mevcut değilse aşağıdaki adımlarla devam edin adım.
  5. Qpid sunucusu sıralarından gelen iletilerin Postgres veritabanına aktarılıp aktarılmadığını kontrol edin.
    1. qpid-stat -q command komutunu yürütüp msgIn ve msgOut sütun değerleri.
    2. Aşağıda, msgIn ve msgOut öğelerinin eşit olmadığını gösteren örnek bir çıkış verilmiştir. Bu, İletilerin Qpid Sunucusu'ndan Postgres Veritabanına aktarılmadığını gösterir.

  6. msgIn ve msgOut sütunlarında uyuşmazlık varsa Qpid Sunucu, /opt/apigee/var/log/edge-qpid-server/system.log günlüğünü ve mevcut olup olmadığını kontrol edin emin olun.
  7. "Muhtemelen PG hâlâ kapalı" veya gibi hata mesajları görebilirsiniz. "FATAL: Maalesef, çok fazla müşteri zaten" aşağıda gösterildiği gibi:
    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 Server çok fazla SQL sorgusu çalıştırıyorsa veya CPU yüksek ve bu nedenle Qpid Sunucusuna yanıt veremiyor.

Çö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, önceki tüm SQL sorgularının durdurulmasını ve yeni ve Postgres veritabanına yönelik bağlantılar ekleyebilirsiniz.
  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 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ı 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 durum, düzgün kablolandığından emin olun. Eski"ye git Analytics Sunucusu UUID'leri.
    2. Qpid/Postgres sunucularının durumu "UNKNOWN" olarak gösteriliyorsa veya "FAILURE" (başarısız), ilgili sunucuyla ilgili bir sorun olduğunu gösterir.

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

      Bu durum, analizlerin ilk katılımı sırasında bir hata oluşması durumunda gerçekleşebilir. Bu hata Yönetim Sunucuları'ndan gelen iletilerin Postgres sunucularına ulaşmasını engeller.

Çözünürlük

Bu sorun genellikle "FAILURE" (HATA) hatasının gösterildiği sunucuları yeniden başlatarak çözülebilir. veya "BİLİNMİYOR".

  1. Analiz kablo bağlantısı durumu "FAILURE" (HATA) olan sunucuların her birini yeniden başlatın veya "UNKNOWN" kullanabilirsiniz:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
    .
  2. Örnek:
    1. Bu sorunu Qpid Sunucularında görürseniz 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 Master hem de Slave sunucuyu yeniden başlatın. Postgres Sunucusu düğümleri:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
      .
  3. Yukarıdaki örnekte "UNKNOWN" Postgres sunucuları için mesajı gösterilir; bu nedenle hem Master hem de Slave Postgres sunucularını yeniden başlatmak için:
    /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 bir çı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ıştaki şu bilgilerin doğru olduğundan emin olun:
    1. "kapsamlar"da listelenen kuruluş-ortam adları öğesine dokunun.
    2. Postgres sunucularının ve Qpid sunucularının UUID'leri.
      • Postgres Server UUID'lerini almak için Postgres sunucusu düğümleri:
        curl 0:8084/v1/servers/self/uuid
        
        .
      • Her bir Qpid cihazında aşağıdaki komutu çalıştırarak Qpid Server UUID'lerini alın sunucu düğümleri:
        curl 0:8083/v1/servers/self/uuid
        
        .
  3. Tüm bilgiler doğruysa Analytics Verileri ancak Postgres Veritabanı'na gönderilmiyor.
  4. Postgres ve/veya Qpid sunucularının UUID'leri yanlışsa Yönetim sunucuları eski UUID'leri işaret etmektedir.

Çö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.