Log del sincronizzatore

I log sono un buon modo per risolvere i problemi con Apigee hybrid dell'installazione. Per maggiori dettagli, consulta Logging.

Voci di log del sincronizzatore

La seguente tabella descrive i campi che vedrai nella File di log del programma di sincronizzazione.

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 di 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 del sincronizzatore

Per risolvere un problema con il sincronizzatore, dai un'occhiata ai 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 Il sondaggio upstream è stato avviato per l'organizzazione e l'ambiente e fornito 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 di 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 di 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 cui viene eseguito il polling non è abilitato all'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

Risoluzione dei problemi

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

Impossibile avviare il sincronizzatore

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.

Soluzione:verifica che tutte le proprietà di configurazione vengono compilati con i valori appropriati.

sync.ConfigFileNotFound

Motivo: il sincronizzatore è stato impostato per leggere le 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) 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 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

Correzione: correggi l'impostazione in modo da includere il blocco obbligatorio

sync.ReplicationRootDoesNotExist

Motivo: al sincronizzatore è stato fornito radice di replica inesistente

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

sync.ReadOnlyReplicationRoot

Motivo: al sincronizzatore è stato fornito radice di replica che non dispone di autorizzazioni di scrittura

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

sync.ReplicationRootNotADir

Motivo: al sincronizzatore è stato fornito radice 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

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

sync.InvalidControlPlaneSubscriptionURL

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

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

sync.InvalidControlPlaneUnsubscriptionURL

Motivo: il sincronizzatore è stato fornito con 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: il sincronizzatore ha tentato di creare un per la replica dell'ambiente ma non è stato possibile creare cartella richiesta

Soluzione:assicurati che la radice di replica non presentano un percorso in conflitto con lo stesso nome, sola lettura di un file

sync.DuplicateEnvironmentEntries

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

Correzione: ogni ambiente può essere specificato solo una volta.

sync.DiskExceedsAllowedCapacity

Motivo: il disco di archiviazione fornito ha già raggiunto la capacità di soglia fornita tramite le proprietà di configurazione.

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

sync.OwnershipClaimFailed

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

Correzione: ogni sincronizzatore tenterà prima di verificare di essere l'unico autore del file system. L'errore indica il percorso e il motivo dell'errore. Gestire la radice causa

Errori del sincronizzatore durante il runtime

Durante il runtime possono verificarsi i seguenti errori di Synchronizer.

sync.replicators.PollReturnedError

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

stato 0

Motivo: indica un problema di connettività. 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/dell'ambiente non è trovato sul server

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

status 401

Motivo: molto probabilmente le credenziali fornite no disporre dei privilegi amministrativi dell'organizzazione.

Correzione: assicurati che le credenziali del piano di gestione siano corrette e che l'API contracts sia raggiungibile

stato 403

Motivo: indica l'ambiente sottoposto a polling per i quali non è configurato come ambiente ibrido

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

sync.OwnershipClaimedByOther

Motivo: durante l'operazione è stato trovato il sincronizzatore che alla radice del file è accessibile da parte di un'altra istanza di Sincronizzatore. Ciò può accadere quando un file system è condiviso tra i sincronizzatori.

Soluzione:risolvi il problema principale per verificare che due istanze di sincronizzazione non condividono lo stesso file system. Il Synchronizer si sarebbe contrassegnato come inattivo e si troverebbe in una posizione non recuperabile. Inoltre, l'altro Synchronizer che accede alla stessa directory principale del file riceverà una notifica tramite i file di proprietà.

sync.DiskExceedsAllowedCapacity

Motivo: durante l'operazione, Synchronizer ha rilevato che l'utilizzo del disco ha superato il limite consentito.

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.

Diagnosi degli errori di download del contratto

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 scaricati da Synchronizer dal piano di gestione.

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