Variabile personalizzata non visibile ai report personalizzati di Analytics

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Sintomo

La variabile personalizzata creata utilizzando Il criterio StatisticsCollector è non visibile sotto Dimensioni personalizzate nei report personalizzati di Analytics nell'interfaccia utente Edge.

Messaggi di errore

Non vengono rilevati errori.

Possibili cause

Nella tabella seguente sono elencate le possibili cause di questo problema:

Causa Per
Una variabile personalizzata non rispetta le linee guida standard Utenti Edge di cloud privato e pubblico
Nessun traffico sul proxy API che implementa il criterio StatisticsCollector Utenti Edge di cloud privato e pubblico
Non è stato eseguito il push della variabile personalizzata sul server Postgres Utenti Edge Private Cloud

Fai clic su un link nella tabella per visualizzare le possibili soluzioni alla causa.

Variabile personalizzata non conforme alle linee guida standard

Diagnosi

Se il nome della variabile personalizzata utilizzato nel criterio StatisticsCollector non rispettare le linee guida standard (consulta risoluzione), non comparirà nei report personalizzati.

Lo snippet di codice riportato di seguito indica che la variabile nome "product id" contiene uno spazio, in modo che non venga visualizzato nella dimensione personalizzata del report personalizzato.

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

Risoluzione

Nomi delle variabili personalizzate utilizzati nel criterio StatisticsCollector all'interno dell'API deve rispettare le seguenti linee guida:

  • I nomi possono includere [a-z][0-9] e "_".
  • I nomi non possono includere spazi. Nell'esempio di codice mostrato in precedenza, il nome della variabile deve essere modificato in "product_id".
  • Le maiuscole/minuscole vengono ignorate.
  • Le parole chiave riservate elencate nella tabella al seguente link non sono consentito. Ad esempio, "utente" non è consentito. Per ulteriori informazioni, vedi Parole chiave SQL.

Se il problema persiste, procedi con Nessun traffico sul proxy API che implementa il criterio StatisticsCollector.

Nessun traffico sul proxy API che implementa il criterio StatisticsCollector

Diagnosi

Se non c'è traffico sul proxy API che implementa StatisticsCollector , la variabile personalizzata non verrà visualizzata nei report personalizzati.

Risoluzione

Effettuare alcune chiamate al proxy API che implementa StatisticsCollector .

Attendi un po' di tempo e verifica se le variabili personalizzate vengono visualizzate nelle dimensioni personalizzate in Report personalizzato.

Se il problema persiste, passa alla sezione Variabile personalizzata non inviata a Server Postgres.

Variabile personalizzata non inviata al server Postgres

Diagnosi

Quando si crea una variabile personalizzata nel proxy API e vengono effettuate chiamate API, viene archiviata in memoria nel processore di messaggi. Il messaggio Il processore invia quindi le informazioni sulla nuova variabile a ZooKeeper, che la invia al server Postgres per aggiungerla come colonna per configurare un database.

A volte, la notifica di ZooKeeper potrebbe non raggiungere il server Postgres a causa della rete che le applicazioni presentino problemi di prestazioni. A causa di questo errore, la variabile personalizzata potrebbe non essere visualizzata nel Report personalizzato.

Per identificare dove manca la variabile personalizzata:

  1. Genera la struttura di ZooKeeper utilizzando il seguente comando:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. Cerca la variabile personalizzata nell'output ad albero di ZooKeeper.
  3. Se la variabile personalizzata è presente nella struttura di ZooKeeper, esegui la seguenti comandi per verificare se la variabile personalizzata viene aggiunta a Postgres database:
    1. Nel nodo Postgres, accedi a PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. Esegui questa query SQL:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. Molto probabilmente vedrai che la colonna della variabile personalizzata non è presente nella la tabella delle informazioni, che è il motivo per cui non viene visualizzata nelle dimensioni personalizzate.

Risoluzione

Soluzione 1: riavvia il server Postgres

  1. Riavvia il server Postgres per forzarne la lettura di tutte le informazioni pertinenti a Analisi di Zookeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    Se il problema persiste, applica la soluzione 2.

Soluzione 2: attiva la forzatura della proprietà

Attiva la proprietà forceonboard seguendo questa procedura:

  1. Crea file /opt/apigee/customer/application/postgres-server.properties in data dalla macchina server Postgres, se non esiste già.
  2. Aggiungi la seguente riga a questo file:
    conf_pg-agent_forceonboard=true
  3. Assicurati che questo file sia di proprietà di Apigee utilizzando il seguente comando:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Riavvia il server Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. Se hai più di un server Postgres, ripeti i passaggi precedenti su tutte le Server Postgres.
  6. Annulla il deployment ed esegui il deployment del proxy API che utilizza StatisticsCollector .
  7. Eseguire le chiamate API.
  8. Verificare se le variabili personalizzate vengono visualizzate nelle dimensioni personalizzate in Personalizzata Segnala.

Se il problema persiste, contatta l'assistenza Apigee Edge.