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
    | 
    Il partner di media 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
    | 
    Il partner di media 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.  |