Use the runtime logs to help diagnose problems with the apigee-runtime pods. Each
runtime pod contains a message processor, which is responsible for processing API proxy traffic,
executing policies, routing requests, and more.
Using runtime logs
Logs are a good way to troubleshoot problems with your installation. See
Logging for details.
Use the logs command
You can view runtime system logs using the kubectl logs command. For example:
Once you have the pod shell open, you can find hybrid message processor logs under
/opt/apigee/var/log/apigee-runtime/config.log.
Contract version information
The following table briefly describes log entries related to loading the contract from the management plane:
Log Entry
Meaning
hybrid-runtime Apigee-Timer-9 INFO RUNTIME-SYNC-SERVICE -
RuntimeSyncServiceImpl.updateToVersion() : Switched to newer version
750 from version null
The MP changed to a newer version of the configuration contract.
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE -
RuntimeSyncServiceImpl.loadLatestVersionIfAvailable() : Found a newer
version 750
The MP loaded the latest contract configuration version from version.properties.
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE -
RuntimeSyncServiceImpl.updateToVersion() : Attempting to update to a newer version 750
The MP is updating to a newer version of the configuration contract.
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE -
RuntimeSyncServiceImpl.updateToVersion() : Switched to newer version 751 from version 750
The MP loaded the latest contract configuration version from version.properties.
Deployment errors
The following runtime errors relate to proxy deployments:
Log Entry
Meaning
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
Keyspace cache_orgname_hybrid is not provisioned 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
Keyspace kms_orgname_hybrid is not provisioned in Cassandra.
Message processor deployment error logs
Look for the following deployment error entries in the message processor logs:
Log entry
Description
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
Keyspace 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
Keyspace kms_orgname_hybrid is not provisioned in Cassandra.
Message processor error codes
Error codes for the message processor start with runtime.sync.error-name.
For example:
Reason: The error could be caused by an invalid schema, corrupted contract
specification file, or
invalid contract. Any of these issues could prevent the message processor from loading the spec
file.
Remedy: Make sure either the contract specification file is available, the
file system is not corrupted, or the schema/contract is valid.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eThis documentation is for version 1.3 of Apigee hybrid, which is end-of-life and requires an upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eRuntime logs are essential for diagnosing issues with \u003ccode\u003eapigee-runtime\u003c/code\u003e pods, which contain message processors handling API traffic, policy execution, and request routing.\u003c/p\u003e\n"],["\u003cp\u003eYou can access runtime system logs using the \u003ccode\u003ekubectl logs\u003c/code\u003e command, such as \u003ccode\u003ekubectl logs -f -n hybrid apigee-runtime-apigee-gcp-prod1-test-blue-hd77q\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eMessage processor logs are also accessible on the \u003ccode\u003eapigee-runtime\u003c/code\u003e pod's filesystem under \u003ccode\u003e/opt/apigee/var/log/apigee-runtime/config.log\u003c/code\u003e after using \u003ccode\u003ekubectl exec -it -n namespace apigee-runtime-pod-name bash\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSpecific log entries provide information on contract version updates, deployment errors related to missing keyspaces in Cassandra, and error codes like \u003ccode\u003eruntime.sync.ContractLoadFailedMessage\u003c/code\u003e that indicate issues with loading spec files.\u003c/p\u003e\n"]]],[],null,["# Runtime logs\n\n| You are currently viewing version 1.3 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\nUse the runtime logs to help diagnose problems with the `apigee-runtime` pods. Each\nruntime pod contains a message processor, which is responsible for processing API proxy traffic,\nexecuting policies, routing requests, and more.\n\nUsing runtime logs\n------------------\n\n\nLogs are a good way to troubleshoot problems with your installation. See\n[Logging](/apigee/docs/hybrid/v1.3/logging) for details.\n\n### Use the logs command\n\n\nYou can view runtime system logs using the `kubectl logs` command. For example: \n\n```\nkubectl logs -f -n hybrid apigee-runtime-apigee-gcp-prod1-test-blue-hd77q\n```\n\n### Viewing logs on the filesystem\n\n\u003cbr /\u003e\n\n\nYou can find the message processor log files on the `apigee-runtime` pod's\nfilesystem. To view the files, open a shell in an `apigee-runtime` pod: \n\n```\nkubectl exec -it -n namespace apigee-runtime-pod-name bash\n```\n\nFor example: \n\n```\nkubectl exec -it -n hybrid apigee-runtime-apigee-gcp-prod1-test-blue-cnj5x bash\n```\n\nOnce you have the pod shell open, you can find hybrid message processor logs under\n\n`/opt/apigee/var/log/apigee-runtime/config.log`.\n\n### Contract version information\n\n\nThe following table briefly describes log entries related to loading the contract from the management plane:\n\n### Deployment errors\n\n\nThe following runtime errors relate to proxy deployments:\n\n### Message processor deployment error logs\n\nLook for the following deployment error entries in the message processor logs:\n\nMessage processor error codes\n-----------------------------\n\n\nError codes for the message processor start with `runtime.sync.`\u003cvar translate=\"no\"\u003eerror-name\u003c/var\u003e.\nFor example:"]]