Utilizza i log di runtime per contribuire a diagnosticare i problemi relativi ai 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 buon modo per risolvere i problemi relativi all'installazione. Per maggiori dettagli, consulta Registrazione.
Utilizzare 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 apigee-runtime
pod. 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 del 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
|
L'MP ha caricato la versione più recente della 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 del 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 di deployment nei log dell'elaborazione dei 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 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 il file spec.
Correzione: assicurati che il file delle specifiche del contratto sia disponibile, che il file system non sia danneggiato o che lo schema/il contratto sia valido. |