I log sono un ottimo metodo per risolvere i problemi di installazione ibrida di Apigee. Per informazioni dettagliate, consulta la sezione Logging.
Voci del log Sync
La seguente tabella descrive i campi che vedrai nei file di log di Sync.
Campo | Indica |
---|---|
org: |
Nome dell'organizzazione |
env: |
Nome ambiente |
target: |
Percorso dell'entità a cui rappresenta la voce di log |
action: |
Azione SYNC=Azione di sincronizzazione upstream
REPLICATE=Azione/replica download |
context-id: |
La versione del contratto, se applicabile |
Ad esempio:
2019-02-05 00:00:59,098 org:hybrid env:test target: action:SYNC context-id: mode: Apigee-Timer-5 INFO CONFIG-CHANGE - SyncContext.syncUpStream() : Upstream sync started with https://apigee.googleapis.com
Informazioni sui log di Sincronizzatore
Se devi risolvere un problema con il sincronizzazione, esamina i file di log. La seguente tabella potrebbe aiutarti a risolvere i problemi che potresti riscontrare nei log di sincronizzazione. Vedi anche Logging.
Voce di log | Che cosa significa |
---|---|
org:test env:dev target: action:SYNC context-id: mode:
Apigee-Timer-0 INFO CONFIG-CHANGE - SyncContext.syncUpStream() :
Upstream sync
started with http://localhost:8080 |
È stato avviato il sondaggio a monte per l'organizzazione e l'ambiente e è stato fornito l'URL del piano di gestione |
2019-01-21 16:58:02,275 org:test env:qa target:
action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract poll returned 200 |
Il contratto è stato ricevuto |
2019-01-21 16:58:02,536 org:test env:dev target:
action:SYNC context-id: mode: Apigee-Timer-0 INFO CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Received a new
contract version 20190121.090851.339 |
È stata ricevuta una versione del contratto |
2019-01-21 17:58:56,530 org:test env:qa
target:/organizations/test/environments/qa action:REPLICATE
context-id:20190121.090859.699 mode: Apigee-Timer-1 INFO
CONFIG-CHANGE - ConfigReplicator.startReplication() :
Replication
started |
Indica l'inizio della replica. I campi MDC indicano i dettagli su ciò che viene replicato |
2019-01-21 17:58:56,654 org:test env:qa
target:/organizations/test/environments/qa/resourcefiles/js/JavaScriptCallout.js
action:REPLICATE context-id:20190121.090859.699 mode:
Apigee-Timer-1 INFO CONFIG-CHANGE -
ConfigReplicator.startReplication() : Replication
complete |
Indica che la replica è stata completata. I campi MDC indicano i dettagli su ciò che viene replicato |
2019-01-21 17:58:56,654 org:test env:qa
target:/organizations/test/environments/qa action:REPLICATE
context-id:20190121.090859.699 mode: Apigee-Timer-1
ERROR
CONFIG-CHANGE - ConfigReplicator.startReplication() : Replication
failed |
Indica un errore di replica |
2019-01-21 17:59:00,246 org:test env:qa target:
action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE -
SyncContext.syncUpStream() : Upstream sync finished in 4
seconds |
Indica la fine di un ciclo di sincronizzazione e fornisce anche il tempo impiegato per la sincronizzazione |
2019-01-21 18:00:00,249 org:test env:dev target:
action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned 304 |
Indica che non era disponibile un contratto più recente |
2019-01-21 18:21:39,128 org:test env:qa target:
action:SYNC context-id: mode: Apigee-Timer-1 ERROR CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned error 0 |
Indica che il piano di gestione non è raggiungibile |
2019-01-21 18:21:39,128 org:test env:qa target:
action:SYNC context-id: mode: Apigee-Timer-1 ERROR CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned error 404 |
Indica che il piano di gestione ha restituito una risposta 404 per il contratto |
2019-01-21 18:22:39,217 org:test1 env:dev target:
action:SYNC context-id: mode: Apigee-Timer-2 ERROR CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned error 403 |
Indica che l'ambiente per cui si esegue il sondaggio non è abilitato per l'ibrido |
2019-01-21 18:22:39,217 org:test1 env:dev target:
action:SYNC context-id: mode: Apigee-Timer-2 ERROR CONFIG-CHANGE -
ManagementServerBasedReplicationContext.getContract() :
Upstream contract
poll returned error 401 |
Le credenziali fornite presentano alcuni problemi |
Errore durante la risoluzione dei problemi
I log sono un ottimo modo per risolvere i problemi di installazione. Per informazioni dettagliate, consulta la sezione Logging.
Impossibile avviare la sincronizzazione
Di seguito sono riportati alcuni errori e la relativa risoluzione. Ciascuno di questi messaggi di errore inizia con un codice di errore di tipo sync.xxxxx. Di seguito sono riportati i codici di errore possibili
sync.NullOrEmptyConfig
Messaggio: Configurazione nulla o vuota fornita tramite com.Apigee.sync.config
Motivo: viene visualizzato questo messaggio di errore quando le proprietà di configurazione di Syncer non sono state fornite correttamente.
Metodo: assicurati che tutte le proprietà di configurazione siano completate con i valori appropriati.
sync.ConfigFileNotFound
Motivo: il programma di sincronizzazione è stato impostato per leggere le proprietà di configurazione da un file, ma non è stato possibile caricare il file
Rimedio: assicurati che il file sia disponibile e accessibile durante l'avvio di Sincronizzatore
sincronizzazione.Impostazioni errate
Motivo: una o più proprietà di configurazione obbligatorie non sono presenti nella configurazione di sincronizzazione o hanno valori che non rientrano nell'intervallo previsto. L'errore dovrebbe contenere ulteriori dettagli sulla proprietà esatta che causa il problema. Questi errori sono integrati nell'analizzatore sintattico per garantire che l'impostazione degli errori venga rilevata anche prima dell'avvio del servizio.
Nella tabella seguente sono elencati alcuni possibili errori sbagliati:
Errore | Qual è il problema |
---|---|
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/retries numeric
instance is greater than the required maximum (maximum: 3, found:
20) |
Il valore fornito al campo nuovi tentativi nella sezione ControlPlane ha superato la soglia consentita |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/connectionTimeout
numeric instance is lower than the required minimum (minimum: 10,
found: 1) |
Il valore fornito al campo connectionTimeout nella sezione ControlPlane è inferiore a quello consentito |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane object has
missing required properties
([\"contractProvider\"]) |
Nella sezione ControlPlane manca il campo obbligatorio contractProvider |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/controlPlane/contractProvider
string \"http://\\uapi.apigee.com\" is not a valid
URI |
L'URI del fornitore del contratto non è valido |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments array is too
short: must have at least 1 elements but instance has 0
elements |
La matrice degli ambienti deve avere almeno un ambiente |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0 object has
missing required properties
([\"environmentName\"]) |
Nell'ambiente all'indice 0 manca il campo obbligatorio relativi all'ambiente |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0 object has
missing required properties
([\"organizationName\"]) |
Nell'ambiente all'indice 0 manca il campo obbligatorio organizationName |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0/pollInterval
numeric instance is lower than the required minimum (minimum: 60,
found: 6) |
L'ambiente all'indice 0 ha un intervallo di sondaggi inferiore al limite consentito di 60 |
Rimedio: correggi l'impostazione per includere il blocco richiesto
sync.ReplicationRootNotNotExist
Motivo: il sincronizzatore è stato fornito con una radice di replica che non esiste
Rimedio: assicurati che la cartella principale fornita esista e sia scrivibile
sync.ReadOnlyReplicationRoot
Motivo: il sincronizzatore è stato fornito con una radice di replica che non dispone delle autorizzazioni di scrittura.
Rimedio: assicurati che la cartella principale fornita esista e sia scrivibile
sync.ReplicationRootNotADir
Motivo: il sincronizzatore è stato fornito con una radice di replica che potrebbe essere un file
Rimedio: assicurati che la cartella principale fornita esista e sia scrivibile
sync.InvalidControlPlaneURL
Motivo: il programma di sincronizzazione è stato fornito con un URL di configurazione vuoto.
Rimedio: assicurati che la cartella principale fornita esista e sia scrivibile
sync.InvalidControlPlaneSubscriptionURL
Motivo: il programma di sincronizzazione è stato fornito con un URL di configurazione errato, incompleto o vuoto per la creazione dell'abbonamento.
Rimedio: correggi l'URL in un URL di configurazione valido per la creazione di una sottoscrizione Pub/Sub per gestire gli indicatori dal piano di controllo.
sync.InvalidControlPlaneUnsubscriptionURL
Motivo: il programma di sincronizzazione è stato fornito con un URL di configurazione errato, incompleto o vuoto per l'eliminazione dell'abbonamento.
Soluzione: correggi l'URL in un URL di configurazione valido per l'eliminazione della sottoscrizione Pub/Sub per gestire gli indicatori dal piano di controllo.
sync.DisallowCreateEnvironmentFolder
Motivo: lo strumento di sincronizzazione ha cercato di creare una cartella per la replica dell'ambiente qa, ma non è possibile creare la cartella richiesta
Rimedio: assicurati che la radice della replica non abbia un percorso in conflitto con lo stesso nome, ovvero di sola lettura di un file
sync.DuplicaEnvironmentEntries
Motivo: lo stesso ambiente è stato aggiunto più volte nella configurazione.
Rimedio: ogni ambiente può essere specificato solo una volta.
sync.DiskExceedsAllowedCapacity
Motivo: il disco di archiviazione fornito ha già una capacità di soglia fornita tramite le proprietà di configurazione.
Soluzione: assicurati che lo spazio su disco sia sufficiente o verifica se è possibile modificare le impostazioni di archiviazione per liberare spazio su disco.
sincronizzazione.RivendicazioneNon riuscita
Motivo:il programma di sincronizzazione ha tentato di rivendicare la proprietà della cartella di ambiente ma l'operazione non è riuscita
Soluzione: ogni sincronizzazione tenterà innanzitutto di verificare che si tratti di un singolo autore del file system. L'errore indica il percorso e il motivo dell'errore. Risolvi la causa principale
Errori di sincronizzazione durante l'esecuzione
Durante il runtime possono verificarsi i seguenti errori di sincronizzazione.
sync.replicators.PollReturnedError
Il messaggio associato includerà lo stato a monte. Di seguito sono riportati gli stati degli errori
stato 0
Motivo: indica un problema di connettività. Il piano di gestione non è raggiungibile
Metodo: assicurati che i dettagli del piano di gestione siano corretti e che l'API contrattuale sia raggiungibile
Stato 404
Motivo: molto probabilmente il nome dell'organizzazione o dell'ambiente non è presente sul server.
Metodo: assicurati che i dettagli del piano di gestione siano corretti e che l'API contrattuale sia raggiungibile
stato 401
Motivo: è molto probabile che le credenziali fornite non dispongano dei privilegi di amministratore dell'organizzazione.
Rimedio: assicurati che le credenziali del piano di gestione siano corrette e che l'API contrattuale sia raggiungibile
stato 403
Motivo: indica che l'ambiente in cui si è svolto il sondaggio non è configurato come ambiente ibrido
Metodo: assicurati che l'organizzazione utilizzi il flag richiesto "features.hybrid.enabled=true"
sync.OwnershipClaimedByOther
Motivo: durante l'operazione, Sincronizzatore ha rilevato che la radice del file è accessibile a un'altra istanza di Sincronizzatore. Questo può verificarsi quando un file system viene condiviso tra i sincronizzati.
Soluzione: risolvi il problema principale per assicurarti che non siano presenti due istanze di sincronizzazione che condividono lo stesso file system. Il programma di sincronizzazione avrebbe segnato la propria posizione e avrebbe raggiunto una posizione non recuperabile qui. Assicurati inoltre che l'altro sincronizzatore che accede alla stessa radice del file riceva una notifica in merito tramite i suoi file di proprietà
sync.DiskExceedsAllowedCapacity
Motivo: durante l'operazione Sincronizzatore si è reso conto che il numero di occupazioni del disco ha superato il limite consentito.
Rimedio: a questo punto, la funzione di sincronizzazione interromperà qualsiasi download e proverà a eseguire un'operazione di pulizia dei file inattivi. Tuttavia, questa condizione potrebbe diventare una condizione ricorrente e l'unico modo per ripristinarla completamente è assicurarsi che il programma di sincronizzazione abbia una memoria sufficiente per funzionare.
Diagnosticare gli errori di download del contratto
Se vedi il messaggio "upstream abbonati al contratto", in un messaggio di errore, prova a chiamare l'API contrattuale e controlla i dettagli, dove il nome utente è il tuo nome utente Apigee (il tuo indirizzo email). Il contratto rappresenta l'intera raccolta di dati che il programma di sincronizzazione scarica dal piano di gestione.
curl https://apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username