Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Sintomo
La variabile personalizzata creata utilizzando il criterio StatisticsCollector non è visibile in Dimensioni personalizzate nei report personalizzati di Analytics nell'interfaccia utente Edge.
Messaggi di errore
Non sono stati rilevati errori.
Possibili cause
Nella tabella seguente sono elencate le possibili cause di questo problema:
Causa | Per |
---|---|
Variabile personalizzata non conforme alle linee guida standard | Utenti di cloud privato e pubblico Edge |
Nessun traffico sul proxy API che implementa il criterio StatisticsCollector | Utenti di cloud privato e pubblico Edge |
La variabile personalizzata non è stata inviata al server Postgres | Utenti del cloud privato perimetrale |
Fai clic su un link nella tabella per visualizzare le possibili soluzioni a tale causa.
Variabile personalizzata non conforme alle linee guida standard
Diagnostica
Se il nome della variabile personalizzata utilizzato nel criterio StatisticsCollector non rispetta le linee guida standard (vedi Risoluzione), non verrà visualizzato nei report personalizzati.
Lo snippet di codice riportato di seguito indica che il nome della variabile "ID prodotto" contiene uno spazio, pertanto non verrà visualizzato nella Dimensione personalizzata del report personalizzato.
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product id" type="string">999999</Statistic> </Statistics> </StatisticsCollector>
Risoluzione
I nomi delle variabili personalizzate utilizzati nel criterio StatisticsCollector all'interno del proxy API devono rispettare le seguenti linee guida:
- I nomi possono includere [a-z][0-9] e "_".
- I nomi non possono includere spazi. Ad esempio, nell'esempio di codice mostrato sopra, il nome della variabile deve essere modificato in "product_id".
- Maiuscole/minuscole vengono ignorate.
- Non sono consentite le parole chiave riservate elencate nella tabella al link riportato di seguito. Ad esempio, il termine "utente" non è consentito. Per maggiori informazioni, consulta Parole chiave SQL.
Se il problema persiste, passa a Nessun traffico sul proxy API che implementa il criterio StatisticsCollector.
Nessun traffico sul proxy API che implementa il criterio StatisticsCollector
Diagnostica
Se sul proxy API non è presente traffico che implementa il criterio StatisticsCollector, la variabile personalizzata non verrà visualizzata nei report personalizzati.
Risoluzione
Effettua alcune chiamate al proxy API che implementa il criterio StatisticsCollector.
Attendi un po' di tempo e verifica se le variabili personalizzate vengono visualizzate nelle dimensioni personalizzate del report personalizzato.
Se il problema persiste, passa a La variabile personalizzata non è stata inviata al server Postgres.
La variabile personalizzata non è stata inviata al server Postgres
Diagnostica
Quando viene creata una variabile personalizzata nel proxy API e vengono effettuate chiamate API, la variabile viene prima archiviata in memoria sul processore di messaggi. Il processore di messaggi invia quindi le informazioni sulla nuova variabile a ZooKeeper, che a sua volta le invia al server Postgres per aggiungerla come colonna nel database Postgres.
A volte, la notifica di ZooKeeper potrebbe non raggiungere il server Postgres a causa di problemi di rete. A causa di questo errore, la variabile personalizzata potrebbe non essere visualizzata nel report personalizzato.
Per identificare la posizione in cui manca la variabile personalizzata:
- Genera la struttura ad albero di ZooKeeper utilizzando il seguente comando:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- Cerca la variabile personalizzata nell'output ad albero di ZooKeeper.
- Se la variabile personalizzata esiste nell'albero di ZooKeeper, esegui i comandi seguenti per verificare se è stata aggiunta al database Postgres:
- Sul nodo Postgres, accedi a PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- Esegui la seguente query SQL:
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- Sul nodo Postgres, accedi a PostgreSQL:
- Molto probabilmente noterai che la colonna della variabile personalizzata non sarà presente nella tabella dei fatti, motivo per cui non viene visualizzata nelle dimensioni personalizzate.
Risoluzione
Soluzione 1: riavvia il server Postgres
- Riavvia il server Postgres per forzarlo a leggere tutte le informazioni pertinenti ad Analytics da Zookeeper:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Se il problema persiste, applica la soluzione n. 2.
Soluzione 2: attiva il forceonboard della proprietà
Attiva la proprietà forceonboard seguendo questi passaggi:
- Crea il file
/opt/apigee/customer/application/postgres-server.properties
sulla macchina server Postgres, se non esiste già. - Aggiungi la seguente riga a questo file:
conf_pg-agent_forceonboard=true
- Assicurati che questo file sia di proprietà di Apigee utilizzando il seguente comando:
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- Riavvia il server Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Se disponi di più server Postgres, ripeti i passaggi precedenti su tutti i server Postgres.
- Annulla il deployment del proxy API che utilizza il criterio StatisticsCollector ed eseguine il deployment.
- Eseguire le chiamate API.
- Verifica se le variabili personalizzate vengono visualizzate nelle dimensioni personalizzate del report personalizzato.
Se il problema persiste, contatta l'assistenza Apigee Edge.