Data tidak muncul di dasbor analisis

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

Gejala

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

No traffic in the selected date range

Pesan error

Masalah ini tidak mengakibatkan 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. Periksa apakah ada traffic untuk Proxy API di lingkungan organisasi tertentu selama durasi tertentu saat Anda mencoba melihat data analisis menggunakan salah satu metode berikut:
    1. Aktifkan trace untuk setiap API yang sedang digunakan oleh pengguna Anda dan periksa apakah Anda bisa mendapatkan permintaan dalam trace.
    2. Lihat 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 Proxy API ke server log seperti Syslog, Splunk, Loggly, dll., Anda dapat memeriksa apakah ada entri di server log ini untuk Proxy API selama durasi tertentu.
  2. Jika tidak ada traffic (tidak ada permintaan API) selama durasi tertentu, data analisis tidak akan tersedia. Anda akan melihat "Tidak ada traffic dalam rentang tanggal yang dipilih" di dasbor Analytics.

Resolusi

  1. Lakukan 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 tersedia di Database Postgres, 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 node Master Postgres:

  1. Login ke setiap server Postgres dan jalankan perintah berikut untuk memvalidasi apakah Anda berada di 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 tersebut ada untuk org-env menggunakan kueri SQL berikut dalam database Postgres:
    \d analytics."orgname.envname.fact"
    
  4. Periksa apakah data terbaru tersedia di database Postgres menggunakan kueri SQL berikut:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. Jika stempel waktu terbaru sudah sangat lama (atau null), hal ini menunjukkan bahwa data tidak tersedia di database Postgres. Kemungkinan penyebab masalah ini adalah data tidak didorong dari Server Qpid ke database 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 penyebab data tidak ditampilkan di UI Edge.

Diagnosis

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

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

  3. Jalankan panggilan API pengelolaan secara langsung dan periksa apakah Anda mendapatkan hasilnya. Berikut adalah contoh panggilan API untuk tab Hari di dasbor Proxy Performance:
    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 yang berhasil tetapi tanpa data apa pun, berarti Server Pengelolaan tidak dapat mengambil data dari server Postgres karena masalah konektivitas jaringan.
  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 pembatasan firewall pada port 5432.
  7. Jika ada batasan firewall, hal tersebut dapat menyebabkan Server Pengelolaan tidak dapat mengambil data dari server Postgres.

Resolusi

  1. Jika ada pembatasan firewall, hapus batasan tersebut agar Server Pengelolaan dapat berkomunikasi dengan server Postgres.
  2. Jika tidak ada pembatasan firewall, masalah ini mungkin disebabkan oleh gangguan jaringan.
  3. Jika ada gangguan jaringan pada Server Pengelolaan, memulai ulang server mungkin dapat memperbaiki masalah tersebut.
  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 belum 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 di Data tersedia di Database Postgres, tetapi tidak muncul di UI, lakukan langkah-langkah berikut:

  1. Periksa apakah setiap Server Qpid sudah aktif dan berjalan dengan menjalankan perintah di bawah ini:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Jika salah satu Server Qpid tidak aktif, mulai ulang server tersebut. Jika tidak, 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-langkah berikut dan lanjutkan ke langkah terakhir di bagian Resolusi. Jika data terbaru tidak tersedia, lanjutkan dengan langkah-langkah berikut.
  5. Periksa apakah pesan dari antrean server Qpid didorong ke database Postgres.
    1. Jalankan qpid-stat -q command dan periksa nilai kolom msgIn dan msgOut.
    2. Berikut contoh output yang menunjukkan bahwa msgIn dan msgOut tidak sama. Hal ini menunjukkan bahwa pesan tidak dikirim dari Qpid Server ke Database Postgres.

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

Hal ini dapat terjadi jika Server Postgres menjalankan terlalu banyak kueri SQL atau CPU terlalu tinggi sehingga tidak dapat merespons Qpid Server.

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. Proses mulai ulang ini memastikan bahwa semua kueri SQL sebelumnya dihentikan dan akan mengizinkan koneksi baru ke database Postgres.
  3. Muat ulang dasbor Analytics dan periksa apakah data Analytics ditampilkan.

Jika masalah berlanjut, hubungi Dukungan Apigee Edge.

Deployment Analytics 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 "SUKSES", artinya server analisis telah terhubung dengan benar. Lanjutkan ke UUID Server Analytics yang Sudah Tidak Berlaku.
    2. Jika status server Qpid/Postgres ditampilkan sebagai "UNKNOWN" atau "FAILURE", ini menunjukkan masalah pada server yang sesuai.

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

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

Resolusi

Masalah ini biasanya dapat diatasi dengan memulai ulang server yang menampilkan pesan "FAILURE" atau "UNKNOWN".

  1. Mulai ulang setiap server yang status jaringan kabel analisisnya menunjukkan "FAILURE" atau "UNKNOWN" menggunakan perintah berikut:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. Contoh:
    1. Jika Anda melihat masalah di 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 node Server Postgres Master dan Slave:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. Pada contoh di atas, pesan "UNKNOWN" ditampilkan untuk server Postgres, sehingga Anda harus memulai ulang server Postgres Master dan Slave:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

UUID Server Analytics Kedaluwarsa

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 {i>org-env<i} yang tercantum dalam elemen "scopes".
    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 pada setiap node server Qpid:
        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 server Postgres dan/atau Qpid salah, mungkin Server Pengelolaan merujuk pada UUID yang sudah tidak berlaku.

Resolusi

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