Dimensi Kustom tidak muncul saat beberapa grup sumbu telah dikonfigurasi

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//environments//properties 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//environments//properties 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:

  1. 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.
  2. 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'
    
  3. Aktifkan analisis menggunakan Aktifkan analytics API.
  4. 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
    
  5. 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.
  6. 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:

  1. Edge-postgres-server /opt/apigee/var/log/edge-postgres-server/logs/system.log sejak waktu mulai ulang terakhir.
  2. Output panggilan Management API berikut:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. Output pohon ZooKeeper yang diperoleh menggunakan perintah berikut:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt