Variabel khusus tidak terlihat oleh laporan kustom Analytics

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

Gejala

Variabel kustom yang dibuat menggunakan kebijakan Statscollector tidak akan terlihat di bagian Dimensi Kustom dalam Laporan Kustom Analytics di UI Edge.

Pesan error

Tidak ada error yang diamati.

Kemungkinan penyebab

Tabel berikut mencantumkan kemungkinan penyebab masalah ini:

Penyebab Untuk
Variabel Kustom yang tidak mematuhi panduan standar Pengguna Cloud Pribadi dan Publik Edge
Tidak ada traffic di Proxy API yang menerapkan kebijakan Statistics Collector Pengguna Cloud Pribadi dan Publik Edge
Variabel kustom tidak dikirim ke Server Postgres Pengguna Edge Private Cloud

Klik link dalam tabel untuk melihat kemungkinan resolusi terkait penyebab masalah tersebut.

Variabel Khusus yang tidak mematuhi panduan standar

Diagnosis

Jika nama variabel kustom yang digunakan dalam kebijakan Statisticscollector tidak mematuhi panduan standar (lihat Resolusi), nama variabel tersebut tidak akan muncul di Laporan Kustom.

Cuplikan kode di bawah ini menunjukkan bahwa nama variabel "ID produk" memiliki spasi, sehingga tidak akan muncul pada Dimensi Kustom di Laporan Kustom.

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

Resolusi

Nama variabel kustom yang digunakan dalam kebijakan Statisticscollector dalam proxy API harus mematuhi panduan 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 pada link berikut tidak diizinkan. Misalnya, "pengguna" tidak diizinkan. Untuk mengetahui informasi selengkapnya, lihat Kata Kunci SQL.

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

Tidak ada traffic di Proxy API yang menerapkan kebijakan Statisticscollector

Diagnosis

Jika tidak ada traffic di proxy API yang menerapkan kebijakan Statisticscollector, variabel kustom tidak akan muncul di Laporan Kustom.

Resolusi

Lakukan beberapa panggilan ke proxy API yang menerapkan kebijakan Statisticscollector.

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

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

Variabel kustom tidak dikirim ke Server Postgres

Diagnosis

Saat variabel khusus dibuat di proxy API dan panggilan API dilakukan, variabel tersebut akan disimpan di memori terlebih dahulu di Pemroses Pesan. Kemudian, Message Processor akan mengirimkan informasi tentang variabel baru tersebut ke ZooKeeper, yang kemudian mengirimkannya ke server Postgres untuk menambahkannya sebagai kolom dalam database Postgres.

Terkadang, notifikasi dari ZooKeeper mungkin tidak menjangkau server Postgres karena masalah jaringan. Karena error ini, variabel kustom mungkin tidak muncul di Laporan Kustom.

Untuk mengidentifikasi tempat variabel kustom tidak ada:

  1. Buat hierarki ZooKeeper menggunakan perintah berikut:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. Telusuri variabel kustom dalam output hierarki ZooKeeper.
  3. Jika variabel kustom ada dalam hierarki ZooKeeper, jalankan perintah berikut untuk memeriksa apakah variabel kustom ditambahkan ke database Postgres:
    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. Sangat mungkin Anda akan melihat bahwa kolom variabel kustom akan hilang dari tabel fakta, yang menjadi alasan kolom ini tidak muncul dalam Dimensi Kustom.

Resolusi

Solusi #1: Mulai ulang Server Postgres

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

    Jika masalah masih 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 mesin server Postgres, jika belum ada.
  2. Tambahkan baris berikut ke file ini:
    conf_pg-agent_forceonboard=true
  3. Pastikan file ini dimiliki oleh Apigee 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 kebijakan Statisticscollector.
  7. Menjalankan panggilan API.
  8. Periksa apakah variabel kustom muncul dalam dimensi kustom di Laporan Kustom.

Jika masalah berlanjut, hubungi Dukungan Apigee Edge.