Variabel khusus tidak terlihat oleh laporan kustom Analytics

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

ini.

Gejala

Variabel khusus yang dibuat menggunakan Kebijakan StatisticsCollector adalah tidak terlihat di bagian Custom Dimensions dalam Analytics Custom Reports di UI Edge.

Pesan error

Tidak ada error yang diamati.

Kemungkinan penyebab

Tabel berikut mencantumkan kemungkinan penyebab masalah ini:

Penyebab Untuk
Variabel Kustom tidak mematuhi pedoman standar Pengguna Edge Private Cloud dan Public Cloud
Tidak ada traffic di Proxy API yang menerapkan kebijakan StatisticsCollector Pengguna Edge Private Cloud dan Public Cloud
Variabel kustom tidak dikirim ke Server Postgres Pengguna Edge Private Cloud

Klik tautan dalam tabel untuk melihat kemungkinan penyelesaian masalah tersebut.

Variabel Khusus tidak mematuhi panduan standar

Diagnosis

Jika nama variabel khusus yang digunakan di kebijakan StatisticsCollector tidak mematuhi pedoman standar (lihat Resolusi), maka masalah tersebut tidak akan muncul di Laporan Kustom.

Cuplikan kode di bawah ini menunjukkan bahwa nama variabel "product id" memiliki spasi, sehingga tidak akan muncul di bagian Dimensi Kustom dalam Laporan Kustom.

  <StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
      <Statistic name="productID" ref="product id" type="string">999999</Statistic>
    </Statistics>
  </StatisticsCollector>

Resolusi

Nama variabel khusus yang digunakan dalam kebijakan StatisticsCollector dalam API proxy harus mematuhi pedoman berikut:

  • Nama dapat mencakup [a-z][0-9] dan '_'.
  • Nama tidak boleh menyertakan spasi. Misalnya, dalam contoh kode yang ditampilkan di atas, nama variabel harus diubah menjadi "product_id".
  • Huruf besar atau kecil tidak dibedakan.
  • Kata kunci yang dicadangkan yang tercantum dalam tabel di link berikut tidak diizinkan. Misalnya, "pengguna" tidak diizinkan. Untuk informasi selengkapnya, lihat Kata Kunci SQL.

Jika masalah masih berlanjut, lanjutkan ke Tidak ada traffic di Proxy API yang menerapkan kebijakan StatisticsCollector.

Tidak ada traffic di Proxy API yang menerapkan kebijakan StatisticsCollector

Diagnosis

Jika tidak ada lalu lintas di proxy API yang menerapkan StatisticsCollector variabel kustom tidak akan muncul dalam Laporan Kustom.

Resolusi

Melakukan beberapa panggilan ke proxy API yang mengimplementasikan StatisticsCollector lebih lanjut.

Tunggu beberapa saat dan periksa apakah variabel kustom muncul dalam dimensi kustom di Laporan Kustom.

Jika masalah berlanjut, lanjutkan ke Variabel Kustom tidak dikirim ke Server Postgres.

Variabel kustom tidak dikirim ke Server Postgres

Diagnosis

Saat variabel khusus dibuat di proxy API dan panggilan API dilakukan, variabel pertama kali disimpan dalam memori di Pemroses Pesan. Pesan Pemroses kemudian mengirim informasi tentang variabel baru itu ke ZooKeeper, kemudian mengirimkannya ke server Postgres untuk menambahkannya sebagai kolom di Postgres di skrip untuk menyiapkan database.

Terkadang, notifikasi dari ZooKeeper mungkin tidak mencapai server Postgres karena koneksi jaringan masalah performa. Karena kesalahan ini, variabel khusus mungkin tidak muncul di Laporan Kustom.

Untuk mengidentifikasi tempat variabel kustom tidak ada:

  1. Buat pohon ZooKeeper menggunakan perintah berikut:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. Telusuri variabel kustom di output hierarki ZooKeeper.
  3. Jika variabel kustom ada di hierarki ZooKeeper, jalankan perintah berikut untuk memeriksa apakah variabel kustom ditambahkan ke Postgres {i>database<i}:
    1. Pada node Postgres, login ke PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. Jalankan kueri SQL berikut:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. Anda kemungkinan besar akan melihat bahwa kolom variabel kustom hilang di tabel fakta yang merupakan alasan agar tabel tersebut tidak muncul di Dimensi Kustom.

Resolusi

Solusi #1: Memulai ulang Server Postgres

  1. Mulai ulang Server Postgres untuk memaksanya membaca semua informasi yang relevan dengan Analisis dari Zookeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    Jika masalah berlanjut, terapkan Solusi #2.

Solusi #2: Aktifkan forceonboard properti

Aktifkan properti forceonboard menggunakan langkah-langkah di bawah:

  1. Buat file /opt/apigee/customer/application/postgres-server.properties di komputer server {i>Postgres<i}, jika belum ada.
  2. Tambahkan baris berikut ke file ini:
    conf_pg-agent_forceonboard=true
  3. Pastikan file ini dimiliki oleh Apigee dengan menggunakan perintah berikut:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Mulai ulang server Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. Jika Anda memiliki lebih dari satu server Postgres, ulangi langkah-langkah di atas pada semua Server postgres.
  6. Batalkan deployment dan deploy proxy API Anda yang menggunakan StatisticsCollector lebih lanjut.
  7. Jalankan panggilan API.
  8. Periksa apakah variabel kustom muncul di dimensi kustom di Kustom Laporkan.

Jika masalah berlanjut, hubungi Dukungan Apigee Edge.