Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Gejala
Variabel kustom yang dibuat menggunakan kebijakan Kolektor Statistik tidak terlihat di bagian Dimensi Kustom dalam Laporan Kustom Analytics di UI Edge.
Pesan Error
Log sistem edge-postgres-server akan memiliki error berikut setelah dimulai ulang untuk setiap kombinasi organisasi/lingkungan tempat jalur tidak ada:
KeeperErrorCode = NoNode for /organizations/<ORG>/environments/<ENV>/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations//environments/ /properties, reason: KeeperErrorCode = NoNode for /organizations/ /environments/ /properties
Kemungkinan Penyebab
Penyebab | Deskripsi | Petunjuk Pemecahan Masalah Berlaku Untuk |
---|---|---|
Jalur properti Zookeeper tidak ada untuk kombinasi organisasi dan lingkungan. | Jika jalur ZooKeeper /organizations/ tidak ada, dimensi kustom tidak dapat dibuat. |
Pengguna Edge Private Cloud |
Penyebab: Jalur properti ZooKeeper tidak ada untuk kombinasi organisasi dan lingkungan
Diagnosis
Analytics diaktifkan untuk kombinasi lingkungan organisasi melalui
Enable analytics API, yang mengisi /organizations/
di hierarki ZooKeeper. Jika API ini gagal, komponen server edge-postgres tidak dapat membuat
dimensi kustom, dan error berikut akan muncul dalam system.log-nya:
KeeperErrorCode = NoNode for /organizations/example/environments/prod/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations/example/environments/prod/properties, reason: KeeperErrorCode = NoNode for /organizations/digi/environments/sandbox/properties
Biasanya ini terjadi saat organisasi diaktivasi pada suatu waktu ketika ada lebih dari satu grup analisis yang menggunakan UUID postgres-server yang sama. Untuk memeriksa jumlah grup analisis yang ada, jalankan panggilan API berikut:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
Jika API ini menampilkan beberapa grup, kemungkinan besar itulah yang menyebabkan masalahnya. Pada contoh berikut, perhatikan bahwa ada dua grup, yang hanya dibedakan dengan tanda hubung: axgroup-001 dan axgroup001
[ { "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { } }, { "name" : "axgroup001", "properties" : { }, "scopes" : [ "example~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { }
Secara khusus, masalah ini disebabkan jika UUID postgres-server yang dikonfigurasi untuk setiap axgroup sama. Cara cepat untuk menentukannya adalah dengan menjalankan perintah berikut:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
Contoh output berikut dengan cepat membandingkan UUID postgres-server untuk menentukan bahwa UUID tersebut sama:
{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]-- "name" : "axgroup001", "properties" : { }, "scopes" : [ "myorg~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "aries-datastore" : [ ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
Resolusi
Kumpulan server PostgreSQL yang sama tidak dapat ditetapkan ke dua axgroups. Cara tercepat untuk menyelesaikan masalah ini adalah dengan menghapus informasi server postgres dari satu grup axgroup dan menetapkan semua cakupan (organisasi, kombinasi lingkungan) ke grup lainnya. Untuk melakukannya, ikuti langkah-langkah berikut:
- Hapus komponen server postgres dari salah satu dari dua axgroup menggunakan petunjuk dalam Menambahkan dan menghapus komponen analisis di grup analisis. Jika Anda hanya melihat masalah dengan cakupan non-produksi, pilih axgroup yang TIDAK memiliki cakupan produksi untuk latihan ini. Jika tidak, pilih axgroup dengan jumlah cakupan paling sedikit.
- Hapus semua cakupan dari axgroup yang tidak lagi memiliki server postgres, dan cakupan yang mengalami masalah dimensi kustom dari axgroup-nya. Dengan asumsi bahwa
axgroup-001
dari contoh di atas adalah grup yang ingin digunakan, Anda harus menggunakan perintah berikut untuk menghapus cakupan untuk organisasi myorg, dan lingkungan prod:curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- Aktifkan analisis menggunakan Aktifkan analytics API.
- Mulai ulang komponen edge-postgres-server pada node master postgres, dan semua komponen edge-qpid-server yang mungkin telah diinstal, menggunakan perintah berikut:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Pastikan error yang diberikan di bagian Pesan Error di atas tidak lagi terjadi di file log server Postgres
/opt/apigee/var/log/edge-postgres-server/logs/system.log
. - Konfirmasi apakah dimensi kustom muncul di UI Edge.
Jika masalah berlanjut, buka Harus Mengumpulkan Informasi Diagnostik.
Harus Mengumpulkan Informasi Diagnostik
Jika masalah terus berlanjut bahkan setelah mengikuti petunjuk sebelumnya, kumpulkan informasi diagnostik berikut. Hubungi dan bagikan ke Dukungan Apigee Edge:
- Edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.log
sejak waktu mulai ulang terakhir. - Output panggilan Management API berikut:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- Output pohon ZooKeeper yang diperoleh menggunakan perintah berikut:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt