Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Gejala
Variabel kustom yang dibuat menggunakan kebijakan Statistics Collector tidak terlihat di bagian Dimensi Kustom di Laporan Kustom Analytics di UI Edge Baru.
Pesan Error
Log sistem edge-postgres-server akan mengalami error berikut setelah memulai ulang untuk setiap kombinasi organisasi/lingkungan yang jalurnya 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 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 struktur 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 diaktivasi pada saat 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 penyebab masalahnya. Dalam 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"
Output contoh 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 axgroup. Cara tercepat untuk menyelesaikan masalah ini adalah dengan menghapus informasi server postgres dari satu axgroup dan menetapkan semua cakupan (organisasi, kombinasi lingkungan) ke grup lain. Untuk melakukannya, ikuti langkah-langkah berikut:
- Hapus komponen server postgres dari salah satu dari dua grup analisis menggunakan petunjuk di Menambahkan dan menghapus komponen analisis dalam grup analisis. Jika Anda hanya melihat masalah pada 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
axgroup-001dari contoh di atas adalah grup yang ingin Anda gunakan, Anda harus menggunakan perintah berikut untuk menghapus cakupan 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 API analisis.
- Mulai ulang komponen edge-postgres-server pada 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. - Pastikan apakah dimensi kustom muncul di UI Edge Baru.
Jika masalah berlanjut, buka Must Gather Diagnostic Information.
Harus Mengumpulkan Informasi Diagnostik
Jika masalah 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.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 dari hierarki ZooKeeper yang diperoleh menggunakan perintah berikut:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt