Özelleştirilebilen değişken, Analytics özel raporlarına görünür değil

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

Belirti

StatisticsCollector 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 mesajları

Hata gözlemlenmiyor.

Olası nedenler

Aşağıdaki tabloda bu sorunun olası nedenleri listelenmiştir:

Neden Şunun için:
Özelleştirilebilen değişkenin standart yönergelere uymaması Edge Private ve Public Cloud kullanıcıları
StatisticsCollector politikasını uygulayan API Proxy'de trafik yok Edge Private ve Public Cloud kullanıcıları
Özelleştirilebilen değişken, Postgres sunucusuna aktarılmıyor Edge Private Cloud kullanıcıları

Bu nedene yönelik olası çözümleri görmek için tablodaki bir bağlantıyı tıklayın.

Özelleştirilebilen değişkenin standart yönergelere uymaması

Teşhis

StatisticsCollector politikasında kullanılan özel değişken adı standart yönergelere uymuyorsa ( Çözüm bölümüne bakın) Özel Raporlar'da görünmez.

Aşağıdaki kod snippet'inde "product id" değişken adında boşluk olduğu gösteriliyor. Bu nedenle, özel rapordaki özel boyut altında görünmeyecek.

  <StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
      <Statistic name="productID" ref="product id" type="string">999999</Statistic>
    </Statistics>
  </StatisticsCollector>

Çözünürlük

API proxy'sindeki StatisticsCollector politikasında kullanılan özel değişken adları aşağıdaki yönergelere uymalıdır:

  • Adlar [a-z][0-9] ve '_' içerebilir.
  • Adlar boşluk içeremez. Örneğin, yukarıda gösterilen kod örneğinde değişken adı "product_id" olarak değiştirilmelidir.
  • Büyük/küçük harf durumu dikkate alınmaz.
  • Aşağıdaki bağlantıdaki tabloda listelenen ayrılmış anahtar kelimelere izin verilmez. Örneğin, "user" (kullanıcı) kelimesine izin verilmez. Daha fazla bilgi için SQL Anahtar Kelimeleri bölümüne bakın.

Sorun devam ederse İstatistikToplayıcı politikasını uygulayan API proxy'sinde trafik yok bölümüne gidin.

StatisticsCollector politikasını uygulayan API proxy'sinde trafik yok

Teşhis

StatisticsCollector politikasını uygulayan API proxy'sinde trafik yoksa özel değişken, özel raporlarda görünmez.

Çözünürlük

StatisticsCollector politikasını uygulayan API proxy'sine bazı çağrılar yapın.

Bir süre bekleyin ve özel değişkenlerin, Özel Rapordaki özel boyutlarda görünüp görünmediğini kontrol edin.

Sorun devam ederse Özel değişken Postgres sunucusuna aktarılmıyor bölümüne gidin.

Özelleştirilebilen değişken, Postgres sunucusuna aktarılmıyor

Teşhis

API proxy'sinde özel bir değişken oluşturulup API çağrıları yapıldığında değişken önce Mesaj İşleyici'de bellekte depolanır. Message Processor daha sonra yeni değişkenle ilgili bilgileri ZooKeeper'a gönderir. ZooKeeper da bu bilgileri Postgres veritabanına sütun olarak eklemek üzere Postgres sunucusuna gönderir.

Zaman zaman, ağ sorunları nedeniyle ZooKeeper'dan gelen bildirim Postgres sunucusuna ulaşamayabilir. Bu hata nedeniyle, özelleştirilebilen değişken Özel Raporda görünmeyebilir.

Özel değişkenin nerede eksik olduğunu belirlemek için:

  1. Aşağıdaki komutu kullanarak ZooKeeper ağacını oluşturun:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. ZooKeeper ağacı çıkışında özel değişkeni arayın.
  3. Özelleştirilebilen değişken ZooKeeper ağacında varsa özelleştirilebilen değişkenin Postgres veritabanına eklenip eklenmediğini kontrol etmek için aşağıdaki komutları çalıştırın:
    1. Postgres düğümünde PostgreSQL'e giriş yapın:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. Aşağıdaki SQL sorgusunu çalıştırın:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. Özel değişken sütununun, özel boyutlarda görünmemesinin nedeni olan olgu tablosunda eksik olduğunu görmeniz çok olasıdır.

Çözünürlük

1. çözüm: Postgres sunucusunu yeniden başlatın

  1. Postgres sunucusunu yeniden başlatarak Zookeeper'dan Analytics ile ilgili tüm bilgileri okumaya zorlayın:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    Sorun devam ederse 2. çözümü uygulayın.

2. çözüm: Mülk için zorunlu katılımı etkinleştirin

Aşağıdaki adımları uygulayarak forceonboard özelliğini etkinleştirin:

  1. Henüz yoksa Postgres sunucu makinesinde /opt/apigee/customer/application/postgres-server.properties dosyası oluşturun.
  2. Bu dosyaya aşağıdaki satırı ekleyin:
    conf_pg-agent_forceonboard=true
  3. Aşağıdaki komutu kullanarak bu dosyanın Apigee'ye ait olduğundan emin olun:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Postgres sunucusunu yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. Birden fazla Postgres sunucunuz varsa yukarıdaki adımları tüm Postgres sunucularında tekrarlayın.
  6. StatisticsCollector politikasını kullanan API proxy'nizi dağıtımdan kaldırın ve dağıtın.
  7. API çağrılarını çalıştırın.
  8. Özelleştirilebilen değişkenlerin, Özel Rapordaki özel boyutlarda görünüp görünmediğini kontrol edin.

Sorun devam ederse Apigee Edge Destek Ekibi ile iletişime geçin.