Zmienna niestandardowa jest niewidoczna w raportach niestandardowych Analytics

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Krótki opis problemu

Zmienna niestandardowa utworzona za pomocą metody Aktualna zasada StatisticsCollector niewidoczne w obszarze Wymiary niestandardowe w raportach niestandardowych Analytics w interfejsie Edge.

Komunikaty o błędach

Nie zaobserwowano żadnych błędów.

Możliwe przyczyny

W tabeli poniżej znajdziesz możliwe przyczyny tego problemu:

Przyczyna Dla:
Zmienna niestandardowa jest niezgodna ze standardowymi wytycznymi Użytkownicy Edge Private Cloud i użytkownicy chmury publicznej
Brak ruchu w serwerze proxy interfejsu API implementującym zasadę StatisticsCollector Użytkownicy Edge Private Cloud i użytkownicy chmury publicznej
Zmienna niestandardowa nie została przekazana na serwer Postgres Użytkownicy Edge Private Cloud

Kliknij odpowiedni link w tabeli, aby zobaczyć możliwe rozwiązania problemu.

Zmienna niestandardowa jest niezgodna ze standardowymi wytycznymi

Diagnostyka

Jeśli nazwa zmiennej niestandardowej używana w zasadzie StatisticsCollector nie muszą być zgodne ze standardowymi wytycznymi (patrz Rozwiązanie), nie pojawi się ona w raportach niestandardowych.

Fragment kodu poniżej pokazuje, że nazwa zmiennej „product id” ma pokój, dlatego nie będzie widoczny w wymiarze niestandardowym w raporcie niestandardowym.

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

Rozdzielczość

Nazwy zmiennych niestandardowych używane w zasadzie InsightsCollector w interfejsie API powinien przestrzegać następujących wytycznych:

  • Nazwy mogą obejmować znaki [a–z][0–9] i „_”.
  • Nazwy nie mogą zawierać spacji. Na przykład w powyższym przykładzie kodu nazwa zmiennej należy zmienić na „product_id”.
  • Wielkość liter jest ignorowana.
  • Zarezerwowane słowa kluczowe wymienione w tabeli pod tym linkiem nie są jest dozwolona. Na przykład „użytkownik” jest niedozwolone. Więcej informacji: Słowa kluczowe SQL.

Jeśli problem będzie się powtarzał, przejdź do: Brak ruchu w serwerze proxy interfejsu API implementowanym przez zasadę StatisticsCollector.

Brak ruchu przez serwer proxy interfejsu API implementujący zasadę StatystykCollector

Diagnostyka

Jeśli nie ma ruchu na serwerze proxy interfejsu API, który implementuje StatisticsCollector , zmienna niestandardowa nie będzie widoczna w raportach niestandardowych.

Rozdzielczość

Wykonaj niektóre wywołania serwera proxy interfejsu API, który implementuje StatisticsCollector .

Zaczekaj chwilę i sprawdź, czy zmienne niestandardowe pojawiają się w wymiarach niestandardowych w Raport niestandardowy.

Jeśli problem będzie się powtarzał, przejdź do sekcji Zmienna niestandardowa nie została przekazana do serwer Postgres.

Zmienna niestandardowa nie została przekazana na serwer Postgres

Diagnostyka

Po utworzeniu zmiennej niestandardowej na serwerze proxy interfejsu API i wywołaniach interfejsu API makro jest najpierw przechowywana w pamięci w procesorze wiadomości. Komunikat Następnie procesor wysyła informacje o nowej zmiennej do ZooKeeper, który Z kolei wysyła ją do serwera Postgres, aby dodać ją jako kolumnę w Postgres w bazie danych.

Czasami powiadomienie z ZooKeeper może nie dotrzeć do serwera Postgres z powodu sieci. problemów. Z powodu tego błędu zmienna niestandardowa może nie wyświetlać się w sekcji Raport niestandardowy.

Aby określić, gdzie brakuje zmiennej niestandardowej:

  1. Wygeneruj drzewo ZooKeeper za pomocą następującego polecenia:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. Wyszukaj zmienną niestandardową w danych wyjściowych drzewa ZooKeeper.
  3. Jeśli zmienna niestandardowa istnieje w drzewie ZooKeeper, wykonaj tych poleceń, aby sprawdzić, czy zmienna niestandardowa została dodana do Postgres baza danych:
    1. W węźle Postgres zaloguj się w PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. Uruchom to zapytanie SQL:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. Bardzo prawdopodobne, że w kolumnie zmiennej niestandardowej tabeli faktów, która jest przyczyną jej niewyświetlania w wymiarach niestandardowych.

Rozdzielczość

Rozwiązanie nr 1. Uruchom ponownie serwer Postgres

  1. Ponownie uruchom serwer Postgres, aby wymusić odczyt wszystkich informacji związanych z Statystyki z Zookeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    Jeśli problem będzie się powtarzał, zastosuj rozwiązanie nr 2.

Rozwiązanie 2. Włącz wymuszanie dodawania usługi

Włącz właściwość forceonboard, wykonując te czynności:

  1. Utwórz plik /opt/apigee/customer/application/postgres-server.properties serwer Postgres, jeśli jeszcze nie istnieje.
  2. Dodaj do tego pliku ten wiersz:
    conf_pg-agent_forceonboard=true
  3. Sprawdź, czy ten plik należy do Apigee, korzystając z tego polecenia:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Ponownie uruchom serwer Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. Jeśli masz więcej niż jeden serwer Postgres, powtórz powyższe kroki na wszystkich Serwery Postgres.
  6. Wycofaj wdrożenie i wdróż serwer proxy interfejsu API korzystający ze StatystykCollector .
  7. uruchamiać wywołania interfejsu API;
  8. Sprawdź, czy zmienne niestandardowe pojawiają się w wymiarach niestandardowych w sekcji „Niestandardowe” Zgłoś.

Jeśli problem będzie nadal występował, skontaktuj się z zespołem pomocy Apigee Edge.