Log di runtime

Utilizza i log di runtime per contribuire a diagnosticare i problemi relativi ai pod apigee-runtime. Ciascuna il pod runtime contiene un processore di messaggi, responsabile dell'elaborazione del traffico proxy API, esecuzione di criteri, routing delle richieste e altro ancora.

Utilizzo dei log di runtime

I log sono un buon modo per risolvere i problemi relativi all'installazione. Consulta: Logging per maggiori dettagli.

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 del processore di messaggi nel pod apigee-runtime come file system. 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 dell'elaborazione dei messaggi ibrida in /opt/apigee/var/log/apigee-runtime/config.log.

Informazioni sulla versione del contratto

La tabella seguente descrive brevemente le voci di log relative al caricamento del contratto dal piano di gestione:

Voce di log Significato
hybrid-runtime Apigee-Timer-9 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.updateToVersion() : Switched to newer version 750 from version null Il proprietario del canale è 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 delle 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, da un file di specifiche del contratto danneggiato o da un 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.