런타임 로그를 사용하여 apigee-runtime
포드의 문제를 진단하는 데 도움을 줍니다. 각 런타임 포드에는 API 프록시 트래픽 처리, 정책 실행, 라우팅 요청 등을 담당하는 메시지 프로세서가 포함되어 있습니다.
런타임 로그 사용
로그는 설치 문제 해결에 좋은 방법입니다. 자세한 내용은 로깅을 참조하세요.
로그 명령어 사용
kubectl logs
명령어를 사용하여 런타임 시스템 로그를 볼 수 있습니다. 예를 들면 다음과 같습니다.
kubectl logs -f -n hybrid apigee-runtime-apigee-gcp-prod1-test-blue-hd77q
파일 시스템에서 로그 보기
메시지 프로세서 로그 파일은 apigee-runtime
포드의 파일 시스템에서 찾을 수 있습니다. 파일을 보려면 apigee-runtime
포드에서 셸을 엽니다.
kubectl exec -it -n namespace apigee-runtime-pod-name bash
예를 들면 다음과 같습니다.
kubectl exec -it -n hybrid apigee-runtime-apigee-gcp-prod1-test-blue-cnj5x bash
포드 셸을 열면 /opt/apigee/var/log/apigee-runtime/config.log
에서 하이브리드 메시지 프로세서 로그를 찾을 수 있습니다.
계약 버전 정보
다음 표에서는 관리 영역에서 계약을 로드하는 것과 관련된 로그 항목을 간략하게 설명합니다.
로그 항목 | 의미 |
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
|
키스페이스 cache_orgname_hybrid 는 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
|
키스페이스 kms_orgname_hybrid 는 Cassandra에 프로비저닝되지 않습니다.
|
메시지 프로세서 배포 오류 로그
메시지 프로세서 로그에서 다음 배포 오류 항목을 확인합니다.
로그 항목 | 설명 |
---|---|
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 |
키스페이스 kms_orgname_hybrid 는 Cassandra에 프로비저닝되지 않습니다.
|
메시지 프로세서 오류 코드
메시지 프로세서의 오류 코드는 runtime.sync.error-name
로 시작합니다.
예를 들면 다음과 같습니다.
로그 항목 | 의미 |
runtime.sync.ContractLoadFailedMessage: Error loading spec file
|
이유: 잘못된 스키마, 손상된 계약 사양 파일 또는 잘못된 계약으로 인해 오류가 발생할 수 있습니다. 이러한 문제로 인해 메시지 프로세서가 사양 파일을 로드하지 못할 수 있습니다.
Remedy: 계약 사양 파일을 사용할 수 있는지, 파일 시스템이 손상되지 않았는지, 스키마/계약이 유효한지 확인합니다. |