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, Edge kullanıcı arayüzündeki Analytics Özel Raporları'nda bulunan Özel Boyutlar altında görünmez.
Hata Mesajı
End-postgres-server sistem günlüğü, yolun eksik olduğu her kuruluş/ortam kombinasyonu için yeniden başlatma sonrasında aşağıdaki hatayı gösterir:
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 | Şunun İçin Geçerli Sorun Giderme Talimatları: |
---|---|---|
Kuruluş ve ortam kombinasyonu için hayvanat bahçesi sahibi mülkleri yolu eksik. | ZooKeeper yolu /organizations/ eksik olduğunda özel boyutlar oluşturulamaz. |
Edge Özel Bulut Kullanıcıları |
Neden: Kuruluş ve ortam kombinasyonu için ZooKeeper mülkleri yolu eksik
Teşhis
Analytics, kuruluş-ortam kombinasyonu için ZooKeeper ağacındaki /organizations/
öğesini dolduran
Analytics API'yi etkinleştirin aracılığıyla etkinleştirilir. Bu API başarısız olduğunda Edge-postgres-server bileşeni özel boyutlar oluşturamaz ve system.log'da 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, aynı postgres sunucusu UUID'lerini kullanan birden fazla analiz grubunun mevcut olduğu bir dönemde bir kuruluş ilk katılıma başladığında ortaya çıkar. Kaç tane 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ürse 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" : { }
Sorun özellikle, her eksen grubu için yapılandırılan postgres sunucusu UUID'sinin aynı olmasından kaynaklanır. Bunu belirlemenin hızlı bir yolu, aşağıdaki yöntemi ç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 çıkış, aynı olduklarını belirlemek için postgres sunucusu UUID'lerini hızla karşılaştırır:
{ "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 sunucu kümesi, iki ax grubuna atanamaz. Çözümün en hızlı yolu, postgres sunucu bilgilerini bir eksen grubundan 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ında analiz bileşenleri ekleme ve silme başlıklı makaledeki talimatları uygulayarak iki eksen grubunun 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 eksen grubunu seçin. Aksi takdirde, en az kapsama sahip eksen grubunu seçin.
- Artık herhangi bir postgre sunucusu olmayan ve özel boyut sorununu kendi ax grubundan gördüğünüz tüm kapsamları axgroup'tan kaldırın. Yukarıdaki örnekte yer alan
axgroup-001
örneğinin kullanmak istediğiniz grup olduğunu varsayarsak myorg kuruluşu ve prod ortamının kapsamını kaldırmak için 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'
- Analytics API'yi etkinleştir seçeneğini kullanarak analizleri etkinleştirin.
- Postgres ana düğümündeki Edge-postgres-server bileşenini ve yüklemiş olabileceğiniz tüm Edge-qpid-server bileşenlerini, aşağıdaki komutları kullanarak 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 (
/opt/apigee/var/log/edge-postgres-server/logs/system.log
) oluşmadığını doğrulayın. - Özel boyutların Edge kullanıcı arayüzünde görünüp görünmediğini kontrol edin.
Sorun devam ederse Tanılama Bilgilerinin Toplanması Zorunludur bölümüne gidin.
Teşhis Bilgileri Toplanmalı
Ö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çin ve bu bilgileri paylaşın:
- En son yeniden başlatma zamanından itibaren
/opt/apigee/var/log/edge-postgres-server/logs/system.log
uç-postgres-sunucusu. - Aşağıdaki Management API çağrısının çıktısı:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- ZooKeeper ağacının çıktısı aşağıdaki komut kullanılarak elde edilir:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt