Veriler, analiz kontrol panellerinde gösterilmiyor

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

Belirti

Analiz kontrol panellerinde (Proxy Performansı, Hedef Performansı vb.) Yeni Edge kullanıcı arayüzünde herhangi bir veri gösterilmiyor. 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 Edge for Private Cloud kullanıcıları
Postgres veritabanında kullanılabilen veriler, ancak Yeni Edge kullanıcı arayüzünde gösterilmiyor Ö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ı Edge for Private Cloud kullanıcıları
Eski Analytics Sunucusu UUID'leri Edge for Private Cloud kullanıcıları

Kuruluş-Ortam iç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 bir kuruluş ortamındaki API proxy'leri için trafik olup olmadığını kontrol edin:
    1. Kullanıcılarınız tarafından kullanılmakta olan API'lerinizden herhangi biri için izlemeyi etkinleştirin ve izlemede 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 bir süre için API proxy'lerine ait yeni girişler olup olmadığını kontrol edin.
    3. API proxy'lerinden gelen bilgileri Syslog, Splunk, Loggly gibi bir günlük sunucusuna kaydediyorsanız bu günlük sunucularında belirli bir süre boyunca API proxy'leri için giriş olup olmadığını kontrol edebilirsiniz.
  2. Belirli bir süre boyunca trafik (API isteği) yoksa analiz verileri de mevcut olmaz. 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 ve 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 Veriler Postgres veritabanında mevcut ancak yeni Edge kullanıcı arayüzünde gösterilmiyor bölümüne gidin.

PostgreSQL veritabanında bulunan veriler, yeni Edge 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 ana düğümünde mevcut 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 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 eskiyse (veya boşsa) bu, Postgres veritabanında veri 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 neden Yeni Edge kullanıcı arayüzünde 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. Aşağıda, geliştirici araçlarından alınan örnek bir çıkış verilmiştir:

    Proxy Performance Dashboard için Geliştirici Araçları'nın Ağ sekmesinden Proxy Performance Dashboard'da 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. Proxy Performance Dashboard'daki Gün sekmesi için örnek bir API çağrısı aşağıda verilmiştir:
    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 veri yoksa bu, Yönetim Sunucusu'nun ağ bağlantısı sorunları nedeniyle Postgres sunucusundan veri alamadığı anlamına gelir.
  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 Yönetim Sunucusu'nun Postgres sunucusundan veri ç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 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. Yeni 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 veritabanında mevcut ancak yeni Edge 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ışır durumda olup olmadığını kontrol edin:
    /opt/apigee/apigee-service/bin edge-qpid-server status
  2. Çalışmayan Qpid sunucusu varsa yeniden başlatın. Aksi takdirde 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 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 güncel 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 mevcutsa aşağıdaki adımları atlayın ve Çözüm bölümündeki son adıma geçin. En son veriler mevcut değilse aşağıdaki adımları uygulayın.
  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'un eşit olmadığını gösteren örnek bir çıkış verilmiştir. Bu, mesajların Qpid sunucusundan Postgres veritabanına aktarılmadığını 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 edin ve hata olup olmadığına bakın.
  7. Aşağıdaki resimde gösterildiği gibi "Probably PG is still down" veya "FATAL: sorry, too many clients already" 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 sunucusunun çok fazla SQL sorgusu çalıştırması veya CPU'nun yüksek olması ve bu nedenle Qpid sunucusuna yanıt verememesi durumunda ortaya çıkabilir.

Çö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 işlemi, önceki tüm SQL sorgularının durdurulmasını sağlar ve Postgres veritabanına yeni bağlantılara izin verir.
  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ı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 analiz sunucuları düzgün şekilde bağlanmış demektir. Eski Analytics Sunucusu UUID'leri bölümüne gidin.
    2. Qpid/Postgres sunucularının durumu "BİLİNMİYOR" veya "BAŞARISIZ" olarak gösteriliyorsa bu, ilgili sunucuyla ilgili bir sorun olduğunu gösterir.

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

      Bu durum, analizlerin ilk katılımı sırasında bir hata oluşursa yaşanabilir. Bu hata, yönetim sunucularından gelen mesajların Postgres sunucularına ulaşmasını engeller.

Çözünürlük

Bu sorun genellikle "FAILURE" veya "UNKNOWN" durumunu gösteren sunucular yeniden başlatılarak çözülebilir.

  1. Analiz kablo bağlantısı durumu "BAŞARISIZ" veya "BİLİNMİYOR" olan sunucuların her birini aşağıdaki komutu kullanarak 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 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österilmektedir. Bu nedenle, hem ana hem de yardımcı 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 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. Çıktıdaki aşağıdaki bilgilerin doğru olduğundan emin olun:
    1. "scopes" öğ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 sunucu 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.