使用运行时日志有助于诊断 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
|
原因:该错误可能是由无效的架构、损坏的合同规范文件或无效的合同引起的。所述问题都会阻止消息处理器加载规范文件。 补救措施:确保合同规范文件可用、文件系统未损坏,或者架构/合同有效。 |