Data tidak muncul di dasbor analisis

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

ini.

Gejala

Dasbor analisis (Performa Proxy, Performa Target, dll.) tidak menampilkan hasil apa pun data di UI Edge. Semua dasbor menampilkan pesan berikut:

No traffic in the selected date range

Pesan error

Masalah ini tidak menghasilkan error yang dapat diamati.

Kemungkinan penyebab

Tabel berikut mencantumkan kemungkinan penyebab masalah ini:

Penyebab Untuk
Tidak Ada Traffic API untuk Lingkungan Organisasi Edge untuk pengguna Private Cloud
Data tersedia di Database Postgres, tetapi tidak ditampilkan di UI Edge untuk pengguna Private Cloud
Data Analytics tidak dikirim ke Database Postgres Edge untuk pengguna Private Cloud
Deployment Analytics yang Salah Edge untuk pengguna Private Cloud
UUID Server Analytics Tidak Berlaku Edge untuk pengguna Private Cloud

Tidak Ada Traffic API untuk Lingkungan Organisasi

Diagnosis

  1. Memeriksa apakah ada traffic untuk Proxy API di lingkungan organisasi tertentu untuk durasi spesifik saat Anda mencoba melihat data analisis menggunakan salah satu metode:
    1. Aktifkan pelacakan untuk setiap API Anda yang saat ini digunakan oleh pengguna dan memeriksa apakah Anda bisa mendapatkan permintaan dalam rekaman aktivitas tersebut.
    2. Melihat log akses NGINX (/opt/apigee/var/log/edge-router/nginx/logs/access.log) dan lihat apakah ada entri baru untuk Proxy API selama durasi tertentu.
    3. Jika Anda mencatat informasi dari {i>Proxy<i} API ke server log seperti Syslog, Splunk, Loggly, dll., maka Anda dapat memeriksa apakah ada entri di server log ini untuk API {i>Proxy<i} untuk durasi tertentu.
  2. Jika tidak ada traffic (tidak ada permintaan API) selama durasi tertentu, maka data analisis tidak tersedia. Anda akan melihat "Tidak ada traffic di rentang tanggal yang dipilih" di analisis dasbor.

Resolusi

  1. Melakukan beberapa panggilan ke satu atau beberapa proxy API di lingkungan organisasi tertentu.
  2. Tunggu beberapa detik, lalu lihat dasbor analisis di tab Jam dan lihat apakah data muncul.
  3. Jika masalah berlanjut, lanjutkan ke Data yang tersedia di Postgres Database, tetapi tidak ditampilkan di UI.

Data tersedia di Database Postgres, tetapi tidak ditampilkan di UI

Gejala

Pertama, tentukan ketersediaan data Analytics terbaru di database Postgres.

Untuk memeriksa apakah data Analytics terbaru tersedia di Master Postgres node:

  1. Masuk ke setiap server Postgres dan jalankan perintah berikut untuk memvalidasi apakah Anda pada node Master Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. Pada node Master Postgres, login ke PostgreSQL:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Periksa apakah tabel ada untuk org-env Anda menggunakan kueri SQL berikut di Postgres {i>database<i}:
    \d analytics."orgname.envname.fact"
    
  4. Periksa apakah data terbaru tersedia di database Postgres menggunakan SQL berikut kueri:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. Jika stempel waktu terbaru sudah sangat lama (atau null), maka ini menunjukkan bahwa data tidak yang tersedia di database Postgres. Kemungkinan penyebab untuk masalah ini adalah karena data tidak didorong dari Server Qpid ke {i>database <i}Postgres. Lanjutkan ke Data Analytics tidak dikirim ke Database Postgres.
  6. Jika data terbaru tersedia di database Postgres pada node Master, ikuti langkah-langkah di bawah ini untuk mendiagnosis mengapa data tidak ditampilkan di UI Edge.

Diagnosis

  1. Aktifkan Developer Tools di browser Chrome dan dapatkan API yang digunakan dari salah satu dasbor analisis menggunakan langkah-langkah di bawah ini:
    1. Pilih tab Jaringan dari Developer Tools.
    2. Mulai Merekam.
    3. Muat ulang dasbor Analytics.
    4. Pada panel sebelah kiri di {i>Developer Tools<i}, pilih baris yang memiliki "apiproxy?_optimize...".
    5. Di panel sebelah kanan Developer Tools, pilih "Header" tab dan perhatikan "URL Permintaan".
  2. Berikut ini contoh output dari Developer Tools:

    Contoh output yang menunjukkan API yang digunakan di dasbor Performa Proxy dari Tab Jaringan dari dasbor Performa Developer Tools untuk Proxy

  3. Jalankan panggilan API pengelolaan secara langsung dan periksa apakah Anda mendapatkan hasilnya. Berikut adalah contoh API untuk tab Hari di dasbor Performa Proxy:
    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. Jika Anda melihat respons berhasil tetapi tanpa data apa pun, hal ini menunjukkan bahwa Server Pengelolaan tidak dapat mengambil data dari server Postgres karena masalah jaringan masalah konektivitas.
  5. Periksa apakah Anda dapat terhubung ke server Postgres dari Server Pengelolaan:
    telnet Postgres_server_IP_address 5432
    
  6. Jika Anda tidak dapat terhubung ke server Postgres, periksa apakah ada firewall pembatasan pada port 5432.
  7. Jika ada pembatasan firewall, maka itu bisa menjadi penyebab Server Pengelolaan tidak dapat menarik data dari server Postgres.

Resolusi

  1. Jika ada pembatasan {i>firewall<i}, hapuslah sehingga Server Pengelolaan dapat berkomunikasi dengan server Postgres.
  2. Jika tidak ada pembatasan firewall, masalah ini mungkin disebabkan oleh glitch jaringan.
  3. Jika ada gangguan jaringan pada Server Pengelolaan, memulai ulang server dapat memperbaiki masalah performa.
  4. Mulai ulang semua Server Pengelolaan satu per satu menggunakan perintah di bawah:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Periksa apakah Anda dapat melihat data analisis di UI Edge.

Jika Anda masih tidak melihat data, hubungi Dukungan Apigee Edge.

Data Analytics tidak dikirim ke Database Postgres

Diagnosis

Jika data tidak dikirim dari Server Qpid ke Database Postgres seperti yang ditentukan dalam Data tersedia di Database Postgres, tetapi tidak muncul di UI, lakukan langkah-langkah berikut:

  1. Periksa apakah setiap Server Qpid aktif dan berjalan dengan menjalankan perintah di bawah ini:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Jika ada Server Qpid yang nonaktif, mulai ulang server tersebut. Jika belum, lanjutkan ke langkah #5.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. Tunggu beberapa saat, lalu periksa kembali apakah data terbaru tersedia di database Postgres.
    1. Login ke PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. Jalankan kueri SQL di bawah ini untuk memeriksa apakah data terbaru tersedia:
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
      
  4. Jika data terbaru tersedia, lewati langkah berikut dan lanjutkan ke langkah terakhir Bagian Resolusi. Jika data terbaru tidak tersedia, lanjutkan dengan langkah-langkah berikut langkah.
  5. Periksa apakah pesan dari antrean server Qpid didorong ke database Postgres.
    1. Jalankan qpid-stat -q command dan periksa msgIn dan nilai kolom msgOut.
    2. Berikut ini contoh output yang menunjukkan bahwa msgIn dan msgOut tidak sama. Hal ini menunjukkan bahwa pesan tidak didorong dari Server Qpid ke {i>Database Postgres<i}.

  6. Jika ada ketidakcocokan dalam kolom msgIn dan msgOut, periksa Qpid Server mencatat /opt/apigee/var/log/edge-qpid-server/system.log dan melihat apakah ada jika terjadi error.
  7. Anda mungkin melihat pesan error seperti "Mungkin PG masih turun" atau "FATAL: maaf, sudah terlalu banyak klien" seperti yang ditunjukkan dalam gambar di bawah ini:
    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)
    

Ini bisa terjadi jika Server Postgres menjalankan terlalu banyak kueri SQL atau CPU yang berjalan tinggi sehingga tidak dapat merespons Server Qpid.

Resolusi

  1. Mulai ulang Server Postgres dan PostgreSQL seperti yang ditunjukkan di bawah ini:
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. {i>restart<i} ini memastikan bahwa semua kueri SQL sebelumnya dihentikan dan harus mengizinkan koneksi ke database Postgres.
  3. Muat ulang dasbor Analytics dan periksa apakah data Analytics ditampilkan.

Jika masalah berlanjut, hubungi Dukungan Apigee Edge.

Deployment Analytics yang Salah

Diagnosis

  1. Dapatkan status deployment analisis menggunakan panggilan API berikut:
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
    
  2. Periksa status server Qpid dan Postgres dari hasil panggilan API.
    1. Jika status server Qpid dan Postgres ditampilkan sebagai "SUCCESS", maka hal ini menunjukkan server analitik terhubung dengan benar. Lanjutkan ke Tidak berlaku UUID Server Analytics.
    2. Jika status server Qpid/Postgres ditampilkan sebagai "UNKNOWN" atau "GAGAL", maka menunjukkan masalah dengan server yang sesuai.

      Misalnya, skenario berikut menunjukkan status server Postgres sebagai "UNKNOWN":

      Hal ini dapat terjadi jika terjadi kegagalan selama orientasi analisis. Kegagalan ini mencegah pesan dari Server Pengelolaan mencapai server Postgres.

Resolusi

Masalah ini biasanya dapat diatasi dengan memulai ulang server yang menunjukkan "KEGAGALAN" atau "UNKNOWN".

  1. Mulai ulang setiap server yang status jaringan kabel analisisnya menunjukkan "KEGAGALAN" atau "UNKNOWN" menggunakan perintah berikut:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Contoh:
    1. Jika Anda melihat masalah pada Server Qpid, mulai ulang Server Qpid:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Jika Anda melihat masalah pada Server Postgres, mulai ulang Master dan Slave Node Server Postgres:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. Pada contoh di atas, kolom "UNKNOWN" ditampilkan untuk server Postgres, jadi Anda perlu untuk memulai ulang server Postgres Master dan Slave:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

UUID Server Analytics Tidak Berlaku

Diagnosis

  1. Dapatkan konfigurasi analisis menggunakan panggilan API berikut:
    curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
    

    Berikut adalah contoh output dari API di atas:

    [ {
      "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. Pastikan informasi berikut dalam output sudah benar:
    1. nama org-env yang tercantum dalam "cakupan" .
    2. UUID server Postgres dan server Qpid.
      • Dapatkan UUID Server Postgres dengan menjalankan perintah berikut pada setiap Node server postgres:
        curl 0:8084/v1/servers/self/uuid
        
      • Dapatkan UUID Server Qpid dengan menjalankan perintah berikut di setiap Qpid {i>server node<i}:
        curl 0:8083/v1/servers/self/uuid
        
  3. Jika semua informasi sudah benar, lanjutkan ke Data Analytics tidak dikirim ke Database Postgres.
  4. Jika UUID {i>Postgres<i} dan/atau server Qpid salah, maka ada kemungkinan Server Manajemen mengacu pada UUID yang sudah tidak berlaku.

Resolusi

Untuk menghapus UUID yang sudah tidak berlaku dan menambahkan UUID server yang benar, hubungi Dukungan Apigee Edge.