Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Belirti
İstatistik Toplayıcı Politikası kullanılarak oluşturulan özelleştirilebilen değişken, Yeni Edge kullanıcı arayüzündeki Analytics Özel Raporları'nda Ö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 | Sorun Giderme Talimatlarının Geçerli Olduğu Durumlar |
|---|---|---|
| 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,
Enable analytics API aracılığıyla bir kuruluş-ortam kombinasyonu için etkinleştirilir. Bu API, ZooKeeper ağacındaki /organizations/ değerini doldurur. Bu API başarısız olduğunda edge-postgres-server bileşeni özel boyutlar oluşturamaz ve system.log dosyasında 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 sorunun nedeni büyük olasılıkla budur. Aşağıdaki örnekte, yalnızca kısa çizgiyle ayrılan iki grup olduğuna dikkat edin: 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" : {
}Özellikle, her axgroup için yapılandırılan postgres-server UUID'si aynıysa bu sorun ortaya çıkar. Bunu belirlemenin hızlı bir yolu, aşağıdaki komutu ç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 analiz bileşenleri ekleme ve silme bölümündeki talimatları kullanarak postgres sunucu bileşenlerini iki axgroup'tan birinden kaldırın. Yalnızca üretim dışı kapsamlarda sorun 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 olmayan axgroup'tan ve özel boyut sorununu 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 belirtilen hatanın Postgres sunucusunun günlük dosyasında artık görünmediğini doğrulayın
/opt/apigee/var/log/edge-postgres-server/logs/system.log. - Özel boyutların yeni Edge kullanıcı arayüzünde gösterilip gösterilmediğini kontrol edin.
Sorun devam ederse Toplanması Gereken Teşhis Bilgileri başlıklı makaleyi inceleyin.
Teşhis Bilgileri Toplanmalıdır
Önceki talimatları uygulamanıza rağmen sorun devam ederse lütfen aşağıdaki teşhis bilgilerini toplayın. Apigee Edge Destek Ekibi ile iletişime geçip aşağıdakileri paylaşın:
- En son yeniden başlatma zamanından itibaren edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.log. - 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