Log di runtime

Utilizza i log di runtime per diagnosticare i problemi dei pod apigee-runtime. Ogni pod di runtime contiene un processore di messaggi, che è responsabile dell'elaborazione del traffico del proxy API, dell'esecuzione delle norme, del routing delle richieste e altro ancora.

Utilizzo dei log di runtime

I log sono un ottimo modo per risolvere i problemi di installazione. Per maggiori dettagli, consulta Registrazione.

Utilizza il comando logs

Puoi visualizzare i log di sistema di runtime utilizzando il comando kubectl logs. Ad esempio:

kubectl logs -f -n hybrid apigee-runtime-apigee-gcp-prod1-test-blue-hd77q

Visualizzazione dei log sul file system

Puoi trovare i file di log dell'elaboratore dei messaggi nel filesystem del pod apigee-runtime. Per visualizzare i file, apri una shell in un pod apigee-runtime:

kubectl exec -it -n namespace apigee-runtime-pod-name bash

Ad esempio:

kubectl exec -it -n hybrid apigee-runtime-apigee-gcp-prod1-test-blue-cnj5x bash

Una volta aperta la shell del pod, puoi trovare i log del processore di messaggi ibrido in /opt/apigee/var/log/apigee-runtime/config.log.

Informazioni sulla versione del contratto

Nella tabella seguente vengono descritte brevemente le voci di log relative al caricamento del contratto dal piano di gestione:

Voce del log Significato
hybrid-runtime Apigee-Timer-9 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.updateToVersion() : Switched to newer version 750 from version null Il profilo MP è passato a una versione più recente del contratto di configurazione.
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.loadLatestVersionIfAvailable() : Found a newer version 750 Il MP ha caricato l'ultima versione di configurazione del contratto da version.properties.
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.updateToVersion() : Attempting to update to a newer version 750 Il proprietario del canale sta eseguendo l'aggiornamento a una versione più recente del contratto di configurazione.
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.updateToVersion() : Switched to newer version 751 from version 750 L'MP ha caricato la versione più recente della configurazione del contratto da version.properties.

Errori di deployment

I seguenti errori di runtime riguardano i deployment dei proxy:

Voce di log Significato
hybrid-runtime org:hybrid env:prod Apigee-Main-6 ERROR i.a.h.e.i.HermesEngineImpl - HermesEngineImpl.handleHermesException() : Keyspace cache_hybrid_hybrid does not exist Non è stato eseguito il provisioning dello spazio chiavi cache_orgname_hybrid in Cassandra.
hybrid-runtime org:hybrid Apigee-Timer-9 ERROR c.a.s.e.k.HybridEncryptionKeyServiceImpl - HybridEncryptionKeyServiceImpl.getEncryptionKey() : Encryption key does not exist for organization hybrid and type KmsKey Non è stato eseguito il provisioning dello spazio chiavi kms_orgname_hybrid in Cassandra.

Log degli errori di deployment del processore di messaggi

Cerca le seguenti voci di errore del deployment nei log del processore di messaggi:

Voce di log Descrizione
hybrid-runtime org:hybrid env:prod Apigee-Main-6 ERROR i.a.h.e.i.HermesEngineImpl - HermesEngineImpl.handleHermesException() : Keyspace cache_hybrid_hybrid does not exist Spazio chiavi cache_orgname_hybrid is not provisioned in Cassandra.
hybrid-runtime org:hybrid Apigee-Timer-9 ERROR c.a.s.e.k.HybridEncryptionKeyServiceImpl - HybridEncryptionKeyS erviceImpl.getEncryptionKey() : Encryption key does not exist for organization hybrid and type KmsKey Non è stato eseguito il provisioning dello spazio delle chiavi kms_orgname_hybrid in Cassandra.

Codici di errore del processore di messaggi

I codici di errore per il processore di messaggi iniziano con runtime.sync.error-name. Ad esempio:

Voce di log Significato
runtime.sync.ContractLoadFailedMessage: Error loading spec file Motivo: l'errore potrebbe essere causato da uno schema non valido o da un contratto danneggiato. delle specifiche o contratto non valido. Ognuno di questi problemi potrebbe impedire al processore di messaggi di caricare la specifica .

Rimedio: assicurati che il file delle specifiche del contratto sia disponibile e la il file system non è danneggiato oppure lo schema/il contratto è valido.