Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Gejala
Variabel kustom yang dibuat menggunakan kebijakan StatisticsCollector tidak terlihat di bagian Dimensi Kustom di 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 tidak mematuhi panduan standar | Pengguna Cloud Pribadi dan Publik Edge |
| Tidak ada traffic di Proxy API yang menerapkan kebijakan StatisticsCollector | Pengguna Cloud Pribadi dan Publik Edge |
| Variabel kustom tidak dikirim ke Server Postgres | Pengguna Cloud Pribadi Edge |
Klik link di tabel untuk melihat kemungkinan resolusi penyebab tersebut.
Variabel Kustom tidak mematuhi panduan standar
Diagnosis
Jika nama variabel kustom yang digunakan dalam kebijakan StatisticsCollector tidak mematuhi panduan standar (lihat Resolusi), nama tersebut tidak akan muncul di Laporan Kustom.
Cuplikan kode di bawah menunjukkan bahwa nama variabel "product id" memiliki spasi, sehingga tidak akan muncul di bagian 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 menyertakan [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, "user" tidak diizinkan. Untuk mengetahui informasi selengkapnya, lihat Kata Kunci SQL.
Jika masalah 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 traffic di proxy API yang menerapkan kebijakan StatisticsCollector, variabel kustom tidak akan muncul di Laporan Kustom.
Resolusi
Buat 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 Server Postgres.
Variabel kustom tidak dikirim ke Server Postgres
Diagnosis
Saat variabel kustom dibuat di proxy API dan panggilan API dilakukan, variabel tersebut pertama-tama akan disimpan dalam memori di Message Processor. Message Processor kemudian mengirimkan informasi tentang variabel baru ke ZooKeeper, yang kemudian mengirimkannya ke server Postgres untuk menambahkannya sebagai kolom di database Postgres.
Terkadang, notifikasi dari ZooKeeper mungkin tidak mencapai server Postgres karena masalah jaringan. Karena error ini, variabel kustom mungkin tidak muncul di Laporan Kustom.
Untuk mengidentifikasi tempat variabel kustom tidak ada:
- Buat pohon ZooKeeper menggunakan perintah berikut:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- Telusuri variabel kustom di output pohon ZooKeeper.
- Jika variabel kustom ada di pohon ZooKeeper, jalankan perintah berikut untuk memeriksa apakah variabel kustom ditambahkan ke database Postgres:
- Di node Postgres, login ke PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Jalankan kueri SQL berikut:
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- Di node Postgres, login ke PostgreSQL:
- Kemungkinan besar Anda akan melihat bahwa kolom variabel kustom tidak ada di tabel fakta, yang merupakan alasan mengapa kolom tersebut tidak muncul di Dimensi Kustom.
Resolusi
Solusi #1: Memulai Ulang Server Postgres
- 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 berlanjut, terapkan Solusi #2.
Solusi #2: Mengaktifkan properti forceonboard
Aktifkan properti forceonboard menggunakan langkah-langkah di bawah:
- Buat file
/opt/apigee/customer/application/postgres-server.propertiesdi mesin server Postgres, jika belum ada. - Tambahkan baris berikut ke file ini:
conf_pg-agent_forceonboard=true
- Pastikan file ini dimiliki oleh Apigee dengan menggunakan perintah berikut:
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- Mulai ulang server Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Jika Anda memiliki lebih dari satu server Postgres, ulangi langkah-langkah di atas di semua server Postgres.
- Batalkan deployment dan deploy proxy API yang menggunakan kebijakan StatisticsCollector policy.
- Jalankan panggilan API.
- Periksa apakah variabel kustom muncul di dimensi kustom di Laporan Kustom.
Jika masalah berlanjut, hubungi Dukungan Apigee Edge.