Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Gejala
Variabel kustom yang dibuat menggunakan kebijakan Pengumpul Statistik tidak terlihat di bagian Dimensi Kustom di Laporan Kustom Analytics di UI Edge.
Pesan Error
Log sistem edge-postgres-server akan menampilkan error berikut setelah memulai ulang untuk setiap kombinasi organisasi/lingkungan yang tidak memiliki jalur:
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 yang 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 organisasi-lingkungan melalui
Enable analytics API, yang mengisi /organizations/
di pohon ZooKeeper. Jika API ini gagal, komponen edge-postgres-server tidak dapat membuat dimensi kustom, dan error berikut akan muncul di 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, hal ini terjadi saat organisasi diaktifkan pada saat ada lebih dari satu grup analytics yang menggunakan UUID postgres-server yang sama. Untuk memeriksa jumlah grup analytics 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 hal ini adalah penyebab masalah. Pada contoh berikut, perhatikan bahwa ada dua grup, yang dibedakan hanya 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"
Output contoh berikut dengan cepat membandingkan UUID postgres-server untuk menentukan apakah keduanya 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 axgroup. Cara tercepat untuk menyelesaikan masalah ini adalah dengan menghapus informasi server postgres dari satu axgroup dan menetapkan semua cakupan (kombinasi organisasi, lingkungan) ke grup lainnya. Untuk melakukannya, ikuti langkah-langkah berikut:
- Hapus komponen server postgres dari salah satu dari dua axgroup menggunakan petunjuk di Menambahkan dan menghapus komponen analytics di grup analytics. 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 menyebabkan masalah dimensi kustom dari axgroup-nya. Dengan asumsi
axgroup-001dari contoh di atas adalah grup yang ingin Anda gunakan, 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 analytics menggunakan Enable analytics API.
- Mulai ulang komponen edge-postgres-server di node master postgres, dan semua
komponen edge-qpid-server yang mungkin telah Anda instal, 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 Mengumpulkan Informasi Diagnostik.
Mengumpulkan Informasi Diagnostik
Jika masalah berlanjut meskipun setelah mengikuti petunjuk sebelumnya, harap kumpulkan informasi diagnostik berikut. Hubungi dan bagikan informasi tersebut ke Dukungan Apigee Edge:
- edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.logdari waktu mulai ulang terakhir. - Output dari 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