运行时日志

使用运行时日志有助于诊断 apigee-runtime Pod 的问题。每个运行时 pod 都包含一个消息处理器,可用于处理 API 代理流量、执行政策、路由请求等。

使用运行时日志

日志是排查安装问题的很好方法。如需了解详情,请参阅日志记录

使用 logs 命令

您可以使用 kubectl logs 命令查看运行时系统日志。例如:

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

在文件系统上查看日志

您可以在 apigee-runtime Pod 的文件系统中找到消息处理器日志文件。如需查看文件,请在 apigee-runtime Pod 中打开 shell:

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

例如:

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

打开 Pod shell 后,您可以在 /opt/apigee/var/log/apigee-runtime/config.log 下找到 Hybrid 消息处理器日志。

合同版本信息

下表简要说明了与从管理平面加载合同相关的日志条目:

日志条目 含义
hybrid-runtime Apigee-Timer-9 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.updateToVersion() : Switched to newer version 750 from version null MP 更改为配置合同的较新版本。
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.loadLatestVersionIfAvailable() : Found a newer version 750 MP 从 version.properties 加载了最新的合同配置版本。
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.updateToVersion() : Attempting to update to a newer version 750 MP 将更新到合同的较新版本。
hybrid-runtime Apigee-Timer-6 INFO RUNTIME-SYNC-SERVICE - RuntimeSyncServiceImpl.updateToVersion() : Switched to newer version 751 from version 750 MP 从 version.properties 加载了最新的合同配置版本。

部署错误

以下运行时错误与代理部署相关:

日志条目 含义
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 Cassandra 中没有预配键空间 cache_orgname_hybrid
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 Cassandra 中没有预配键空间 kms_orgname_hybrid

消息处理器部署错误日志

在消息处理器日志中查找以下部署错误条目:

日志条目 说明
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 键空间 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 Cassandra 中没有预配键空间 kms_orgname_hybrid

消息处理器错误代码

消息处理器的错误代码以 runtime.sync.error-name 开头。例如:

日志条目 含义
runtime.sync.ContractLoadFailedMessage: Error loading spec file 原因:该错误可能是由无效的架构、损坏的合同规范文件或无效的合同引起的。所述问题都会阻止消息处理器加载规范文件。

补救措施:确保合同规范文件可用、文件系统未损坏,或者架构/合同有效。