Log del sincronizzatore

I log sono un ottimo modo per risolvere i problemi relativi all'installazione ibrida di Apigee. Per maggiori dettagli, consulta Registrazione.

Puoi visualizzare i log delle sincronizzazioni Apigee utilizzando il comando kubectl logs. Ad esempio:
kubectl logs -n apigee apigee-synchronizer-apigee-example-test

Voci di log del sincronizzatore

La tabella seguente descrive i campi visualizzati nei file di log di Synchronizer.

Campo Indica
org: Nome dell'organizzazione
env: Nome ambiente
target: Percorso dell'entità rappresentata dalla voce di log
action: Azione SYNC=Azione di sincronizzazione upstream

REPLICATE=Azione di replica/download

context-id: La versione del contratto, ove 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 del sincronizzatore

Se devi risolvere un problema con il sincronizzatore, esamina i file di log. La tabella seguente può aiutarti risolvere gli errori che possono essere visualizzati nei log del Sincronizzatore. 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 upstream 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 era 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 il polling non è abilitato per ambienti ibridi
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

Risoluzione dei problemi

I log sono un buon modo per risolvere i problemi relativi all'installazione. Per maggiori dettagli, consulta Registrazione.

Impossibile avviare il programma di sincronizzazione

Di seguito sono riportati alcuni errori e la relativa correzione. Ogni messaggio di errore inizia con un ErrorCode di tipo sync.xxxxx. Di seguito sono riportati i possibili codici di errore

sync.NullOrEmptyConfig

Messaggio: configurazione nulla o vuota fornita tramite com.apigee.sync.config

Motivo: questo messaggio di errore viene visualizzato quando le proprietà di configurazione di Synchronizer non sono state fornite correttamente.

Correzione: assicurati che tutte le proprietà di configurazione siano completate con valori appropriati.

sync.ConfigFileNotFound

Motivo: il sincronizzatore è stato impostato per leggere le sue proprietà di configurazione da un file, ma non è stato possibile caricare il file

Soluzione:assicurati che il file sia disponibile e accessibile durante l'avvio del sincronizzatore

sync.IncorrectSettings

Motivo: nella configurazione di Synchronizer mancano una o più proprietà di configurazione obbligatorie o i relativi valori non rientrano nell'intervallo previsto. L'errore deve avere ulteriori dettagli sulla proprietà esatta che causa il problema. Questi errori sono integrati nel parser per garantire che, e gli errori di impostazione vengono rilevati anche prima dell'avvio del servizio.

La seguente tabella elenca alcuni possibili errori IncorrectSettings:

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 il limite consentito
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/controlPlane/connectionTimeout numeric instance is lower than the required minimum (minimum: 10, found: 1) Valore fornito al campo connectionTimeout in controlPlane la sezione è inferiore a quella consentita
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 L'array environments 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 environmentName
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 polling inferiore al limite consentito di 60

Rimedio:correggi l'impostazione in modo da includere i valori richiesti. blocca

sync.ReplicationRootDoesNotExist

Motivo: al sincronizzatore è stato fornito un elemento radice di replica che non esiste

Soluzione:assicurati che la cartella principale fornita esiste ed è scrivibile

sync.ReadOnlyReplicationRoot

Motivo: a Synchronizer è stato fornito un directory principale di replica che non dispone delle autorizzazioni di scrittura

Correzione: assicurati che la cartella principale fornita esista e sia scrivibile

sync.ReplicationRootNotADir

Motivo: a Synchronizer è stato fornito un directory principale di replica che potrebbe essere un file

Soluzione:assicurati che la cartella principale fornita esiste ed è scrivibile

sync.InvalidControlPlaneURL

Motivo: a Synchronizer è stato fornito un URL di configurazione vuoto

Correzione: assicurati che la cartella principale fornita esista e sia scrivibile

sync.InvalidControlPlaneSubscriptionURL

Motivo: il sincronizzatore è stato fornito con un URL di configurazione errato, incompleto o vuoto per la creazione dell'abbonamento.

Soluzione:correggi l'URL inserendo un URL di configurazione valido per Creazione di abbonamenti Pub/Sub per gestire gli indicatori dal piano di controllo.

sync.InvalidControlPlaneUnsubscriptionURL

Motivo: a Synchronizer è stato fornito un URL di configurazione errato, incompleto o vuoto per l'eliminazione dell'abbonamento.

Correzione: correggi l'URL in modo che sia un URL di configurazione valido per l'eliminazione dell'abbonamento Pub/Sub per gestire gli indicatori dal piano di controllo.

sync.CannotCreateEnvironmentFolder

Motivo: lo strumento di sincronizzazione ha provato a creare una cartella per la replica dell'ambiente di QA, ma non è riuscito a creare la cartella richiesta

Correzione: assicurati che la radice della replica non abbia un percorso in conflitto con lo stesso nome che sia di sola lettura di un file

sync.DuplicateEnvironmentEntries

Motivo: nello stesso ambiente sono stati aggiunti più elementi volte nella configurazione.

Rimedio: ogni ambiente può essere specificato solo una volta sola.

sync.DiskExceedsAllowedCapacity

Motivo: il disco di archiviazione fornito si trova già nella posizione soglia fornita tramite le proprietà di configurazione.

Soluzione:assicurati che lo spazio su disco o controlla se le impostazioni di archiviazione possono essere modificate per consentire spazio.

sync.OwnershipClaimFailed

Motivo: lo strumento di sincronizzazione ha provato a rivendicare la proprietà della cartella dell'ambiente, ma non ci è riuscito

Rimedio: ogni sincronizzatore proverà prima a verifica che sia l'unico autore del file system. Errore indica il percorso e il motivo dell'errore. Risolvi la causa di fondo

Errori del sincronizzatore durante il runtime

Durante il runtime possono verificarsi i seguenti errori del sincronizzatore.

sync.replicators.PollReturnedError

Il messaggio associato includerà lo stato upstream. Di seguito sono riportati gli stati di errore

status 0

Motivo: indica un problema di connettività. La il piano di gestione non era raggiungibile

Soluzione:assicurati che i dettagli del piano di gestione siano corretti e che l'API Contratti raggiungibile

stato 404

Motivo: molto probabilmente il nome dell'organizzazione o dell'ambiente non è trovato sul server

Correzione: assicurati che i dettagli del piano di gestione siano corretti e che l'API contracts sia raggiungibile

stato 401

Motivo: molto probabilmente le credenziali fornite non dispongono dei privilegi di amministratore dell'organizzazione.

Soluzione:assicurati che il piano di gestione le credenziali siano corrette e l'APIcontracts raggiungibile

status 403

Motivo: indica che l'ambiente per cui viene eseguito il polling non è configurato come ambiente ibrido

Correzione: assicurati che l'organizzazione abbia il flag obbligatorio "features.hybrid.enabled=true"

sync.OwnershipClaimedByOther

Motivo: durante l'operazione, Synchronizer ha rilevato che è in corso l'accesso alla radice del file da parte di un'altra istanza di Synchronizer. Ciò può accadere quando un file system è condiviso tra i sincronizzatori.

Correzione: risolvi il problema alla radice per assicurarti che nessuna delle due istanze di Synchronizer condivida lo stesso file system. Il Synchronizer si sarebbe contrassegnato come inattivo e si troverebbe in una posizione non recuperabile. Si assicura anche che l'altro Il sincronizzatore che accede alla stessa radice del file riceve una notifica tramite i file di proprietà.

sync.DiskExceedsAllowedCapacity

Motivo: durante l'operazione, Sincronizzatore notato che l'occupazione del disco ha superato il limite consentito limite.

Rimedio: a questo punto il sincronizzatore viene interrotto eventuali download e prova un'operazione di pulizia dei file inattivi. Tuttavia, questa situazione potrebbe diventare ricorrente e l'unico modo per recuperare completamente è assicurarsi che Synchronizer disponga di memoria di disco sufficiente per funzionare.

Diagnostica i problemi di download dei contratti

Se visualizzi "sondaggio sul contratto upstream" in un messaggio di errore, prova la chiamata all'API contratto e controllare i dettagli, dove Username il tuo nome utente Apigee (il tuo indirizzo email). Il contratto rappresenta l'intera raccolta di dati da cui il sincronizzatore scarica il piano di gestione.

curl https://apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username