I log sono un ottimo modo per risolvere i problemi con l'installazione ibrida di Apigee. Per maggiori dettagli, consulta la sezione Logging.
Voci di log degli elementi di sincronizzazione
Nella tabella seguente vengono descritti i campi visualizzati nei file di log di Syncr.
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=Replica/un'azione di download |
context-id: |
La versione del contratto laddove 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 Synchronizer
Se devi risolvere un problema con lo strumento di sincronizzazione, esamina i file di log. La seguente tabella può aiutarti a risolvere i problemi relativi agli errori eventualmente presenti nei log di Synchronizer. Consulta anche la sezione 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 un 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 il tempo necessario 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 è 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 è stato 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 quale si esegue il sondaggio 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 |
Errore
I log sono un ottimo metodo per risolvere i problemi di installazione. Per maggiori dettagli, consulta la sezione Logging.
Impossibile avviare il programma di sincronizzazione
Di seguito sono riportati alcuni errori e la relativa correzione. Ciascuno di questi messaggi 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: viene visualizzato questo messaggio di errore quando le proprietà di configurazione di Synchronizer non sono state fornite correttamente.
Rimedio: 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 Synchronizer
sync.IncorrectSettings
Motivo: nella configurazione di Synchronizer mancano una o più proprietà di configurazione obbligatorie o valori non compresi 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 gli errori di impostazione vengano rilevati anche prima dell'avvio del servizio.
La tabella seguente elenca alcuni possibili errori sbSettings:
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 nel campo di 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 quanto 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 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 dell'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 dell'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 in modo da includere il blocco richiesto
sync.ReplicationRootNotNotExist
Motivo: il programma di sincronizzazione ha fornito una radice di replica che non esiste
Rimedio: assicurati che la cartella principale fornita esista e sia scrivibile.
sync.ReadOnlyReplicationRoot
Motivo: il programma di sincronizzazione ha fornito una radice di replica che non dispone di autorizzazioni di scrittura
Rimedio: assicurati che la cartella principale fornita esista e sia scrivibile.
sync.ReplicationRootNotADir
Motivo: il programma di sincronizzazione ha fornito una radice di replica, che potrebbe essere un file
Rimedio: assicurati che la cartella principale fornita esista e sia scrivibile.
sync.InvalidControlPlaneURL
Motivo: al programma Synchronizer è stato fornito un URL di configurazione vuoto
Rimedio: assicurati che la cartella principale fornita esista e sia scrivibile.
sync.InvalidControlPlaneSubscriptionURL
Motivo: al programma di sincronizzazione è stato fornito 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 i segnali dal piano di controllo.
sync.InvalidControlPlaneUnsubscriptionURL
Motivo: il programma di sincronizzazione ha fornito un URL di configurazione errato, incompleto o vuoto per l'eliminazione dell'abbonamento.
Rimedio: correggi l'URL in un URL di configurazione valido per l'eliminazione dell'abbonamento Pub/Sub in modo da gestire i segnali dal piano di controllo.
sync.CanCreateEnvironmentCartella
Motivo: il programma di sincronizzazione ha tentato di creare una cartella per la replica dell'ambiente qa, ma non è stato possibile creare la cartella richiesta.
Rimedio: assicurati che la radice della replica non abbia un percorso in conflitto con lo stesso nome o di sola lettura
sync.duplicateEnvironmentEntries
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 in dotazione ha già raggiunto la soglia minima specificata tramite le proprietà di configurazione.
Rimedio: assicurati che lo spazio su disco sia sufficiente o verifica se le impostazioni di archiviazione possono essere modificate per consentire spazio su disco aggiuntivo.
sync.PropertyClaimFailed
Motivo: il sincronizzatore ha tentato di rivendicare la proprietà nella cartella dell'ambiente, ma non è riuscito.
Rimedio: ogni sincronizzatore cercherà prima di assicurarsi che sia un unico autore nel file system. L'errore indica il percorso e il motivo dell'errore. Risolvi la causa principale
Errori di sincronizzazione durante il runtime
Durante il tempo di esecuzione possono verificarsi i seguenti errori di sincronizzazione.
sync.replicators.PollReturnedError
Il messaggio associato includerà lo stato upstream. Di seguito sono riportati gli stati di errore
stato 0
Motivo: indica un problema di connettività. Il piano di gestione non è stato raggiungibile
Rimedio: assicurati che i dettagli del piano di gestione siano corretti e l'API contrattuale sia raggiungibile
stato 404
Motivo: è molto probabile che il nome dell'organizzazione/dell'ambiente non sia presente sul server.
Rimedio: assicurati che i dettagli del piano di gestione siano corretti e l'API contrattuale sia raggiungibile
stato 401
Motivo: molto probabilmente le credenziali fornite non dispongono dei privilegi di amministratore dell'organizzazione.
Rimedio: assicurati che le credenziali del piano di gestione siano corrette e che l'API Agreements sia raggiungibile.
stato 403
Motivo: indica che l'ambiente in cui si esegue il sondaggio non è configurato come ambiente ibrido
Rimedio: assicurati che l'organizzazione abbia il flag richiesto "features.hybrid.enabled=true"
sync.PropertyClaimedByOther
Motivo: durante l'operazione, il programma di sincronizzazione ha rilevato che la radice del file è accessibile da un'altra istanza del programma di sincronizzazione. Questo può accadere quando un file system viene condiviso tra Sincronizzazione.
Rimedio: risolvi il problema principale per assicurarti che non ci siano due istanze del programma di sincronizzazione che condividono lo stesso file system. Il programma di sincronizzazione dovrebbe contrassegnarsi come "impossibile". Assicurati anche che l'altro programma di sincronizzazione, che accede alla stessa radice del file, riceva una notifica al riguardo tramite i propri file di proprietà
sync.DiskExceedsAllowedCapacity
Motivo: durante l'operazione è stato verificato che l'occupazione del disco ha superato il limite consentito.
Rimedio: a questo punto il programma di sincronizzazione interromperà i download e provare a eseguire un'operazione di pulizia dei file obsoleti. Tuttavia, questa può diventare una condizione ricorrente e l'unico modo per recuperare completamente è assicurare che il sincronizzatore disponga di memoria su disco sufficiente per funzionare.
Diagnosticare gli errori di download del contratto
Se viene visualizzato il messaggio "upstream contratto del sondaggio", 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 scaricati da Synchronizer dal piano di gestione.
curl https://apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username