Birden fazla axgroup yapılandırıldığında Özel Boyutlar görünmüyor

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Belirti

İstatistik Toplayıcı Politikası kullanılarak oluşturulan özel değişken, Edge kullanıcı arayüzündeki Analytics özel raporlarındaki Özel Boyutlar altında görünmüyor.

Hata Mesajı

Yolun eksik olduğu her kuruluş/ortam kombinasyonu için yeniden başlatma işleminden sonra edge-postgres-server sistem günlüğünde aşağıdaki hata gösterilir:

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

Olası nedenler

Neden Açıklama Aşağıdaki Durumlarda Geçerli Sorun Giderme Talimatları
Kuruluş ve ortam kombinasyonu için Zookeeper özellikleri yolu eksik. ZooKeeper yolu /organizations//environments//properties eksik olduğunda özel boyutlar oluşturulamaz. Edge Private Cloud kullanıcıları

Neden: Kuruluş ve ortam kombinasyonu için ZooKeeper özellikleri yolu eksik

Teşhis

Analytics, bir kuruluş-ortam kombinasyonu için Enable analytics API aracılığıyla etkinleştirilir. Bu API, ZooKeeper ağacında /organizations//environments//properties öğesini doldurur. Bu API başarısız olduğunda edge-postgres-server bileşeni özel boyut oluşturamaz ve sistem günlüğünde aşağıdaki hata görünür:

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

Bu durum genellikle bir kuruluş, aynı postgres-server UUID'lerini kullanan birden fazla analiz grubunun bulunduğu bir zamanda kullanıma alındığında ortaya çıkar. Kaç analiz grubu olduğunu kontrol etmek için aşağıdaki API çağrısını çalıştırın:

curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"

Bu API birden fazla grup döndürüyorsa büyük olasılıkla sorunun nedeni budur. Aşağıdaki örnekte, yalnızca kısa çizgiyle ayrılan iki grup olduğunu unutmayın: axgroup-001 ve 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" : {
  }

Sorun, her bir axgroup için yapılandırılan postgres-server UUID'sinin aynı olması durumunda oluşur. Bunu belirlemenin hızlı bir yolu, aşağıdakileri çalıştırmaktır:

curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"

Aşağıdaki örnek çıktı, postgres-server UUID'lerini hızlıca karşılaştırarak aynı olup olmadıklarını belirler:

{  "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" ],

Çözünürlük

Aynı PostgreSQL sunucuları grubu iki axgroup'a atanamaz. Sorunu çözmenin en hızlı yolu, postgres sunucu bilgilerini bir axgroup'tan silmek ve tüm kapsamları (kuruluş, ortam kombinasyonları) diğer gruba atamaktır. Bunun için aşağıdaki adımları uygulayın:

  1. Analytics gruplarına analytics bileşenleri ekleme ve analytics bileşenlerini silme başlıklı makaledeki talimatları kullanarak iki axgroup'tan birinden postgres sunucu bileşenlerini kaldırın. Yalnızca üretim dışı kapsamlarla ilgili sorunlar görüyorsanız bu alıştırma için üretim kapsamı OLMAYAN axgroup'u seçin. Aksi takdirde, en az kapsam sayısına sahip axgroup'u seçin.
  2. Artık postgres sunucusu içermeyen axgroup'tan ve axgroup'tan özel boyut sorunu gördüğünüz axgroup'tan tüm kapsamları kaldırın. Yukarıdaki örnekteki axgroup-001 grubunu kullanmak istediğinizi varsayarsak myorg kuruluşu ve prod ortamı için kapsamı kaldırmak üzere aşağıdakileri kullanmanız gerekir:
    curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
    
  3. Enable analytics API'yi kullanarak analizi etkinleştirin.
  4. Aşağıdaki komutları kullanarak postgres ana düğümündeki edge-postgres-server bileşenini ve yüklemiş olabileceğiniz tüm edge-qpid-server bileşenlerini yeniden başlatın:
     /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    
     /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    
  5. Yukarıdaki Hata Mesajı bölümünde verilen hatanın artık Postgres sunucusunun günlük dosyasında oluşmadığını doğrulayın /opt/apigee/var/log/edge-postgres-server/logs/system.log.
  6. Özel boyutların Edge kullanıcı arayüzünde görünüp görünmediğini onaylayın.

Sorun devam ederse Must Gather Diagnostic Information (Teşhis Bilgileri Toplama) bölümüne gidin.

Toplanması Gereken Teşhis Bilgileri

Önceki talimatları uyguladıktan sonra sorun devam ederse lütfen aşağıdaki teşhis bilgilerini toplayın. Aşağıdaki bilgileri Apigee Edge Destek Ekibi ile iletişime geçerek paylaşın:

  1. En son yeniden başlatma işleminden itibaren edge-postgres-server /opt/apigee/var/log/edge-postgres-server/logs/system.log işlemi.
  2. Aşağıdaki Management API çağrısının çıkışı:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. Aşağıdaki komut kullanılarak elde edilen ZooKeeper ağacının çıkışı:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt