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/
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/ öğ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:
- 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.
- 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-001grubunu 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'
- Enable analytics API'yi kullanarak analizi etkinleştirin.
- 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
- 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. - Ö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:
- En son yeniden başlatma işleminden itibaren edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.logişlemi. - Aşağıdaki Management API çağrısının çıkışı:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- 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