다음은 API 허브 커넥터 통합과 관련된 일반적인 문제와 문제 해결 단계입니다.
API 메타데이터가 API 허브에 표시되지 않음
- 초기 동기화 시간: 초기 동기화가 시작되고 API 데이터가 API 허브에 표시되는 데 몇 시간이 걸릴 수 있습니다. 몇 시간 정도 기다리는 것이 좋습니다.
- 플러그인 인스턴스 상태: API 허브의 플러그인 인스턴스가 삭제되거나 변경되지 않았는지 확인합니다.
- 게이트웨이 ID: Apigee Edge for Private Cloud API 허브 커넥터 설정에 올바른 게이트웨이 ID가 올바르게 구성되어 있는지 확인합니다.
- 로그 확인: Edge for Private Cloud API 허브 커넥터 서비스 로그
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
에 기록된 오류가 있는지 확인합니다.
프록시가 배포되었으나 API 허브의 정보가 정확하지 않음
- 전파 지연: 배포된 프록시 정보가 전파되어 API 허브에 반영되는 데 몇 분 정도 걸릴 수 있습니다.
- 로그 확인: 업로드된 프록시에 관한 자세한 내용은 Edge for Private Cloud API 허브 커넥터 로그를 검토하세요. 이를 통해 동기화를 위해 프록시 업데이트가 성공적으로 처리되었는지 확인할 수 있습니다.
API 허브 커넥터를 변경하지 않았는데 사용자 조직의 동기화가 중지됨
- 플러그인 인스턴스 상태 (API 허브 측면): API 허브의 연결된 플러그인 인스턴스가 프로비저닝 해제되었는지, 삭제되었는지, 변경되었는지 확인합니다. API 허브 측의 변경사항은 API 허브 커넥터의 동기화에 직접적인 영향을 미칠 수 있습니다.
- 로그 확인: Edge for Private Cloud API 허브 커넥터 로그에서 동기화 프로세스의 중단을 나타낼 수 있는 오류, 경고 또는 문제가 있는지 검토합니다. 여기에는 API 허브의 연결 문제 또는 인증 문제가 포함될 수 있습니다.
상태 API 사용 (선택한 조직에 권장):
상태 API는 선택하고 활발하게 동기화하는 조직을 직접 확인할 수 있는 방법을 제공합니다.
로그 기반 문제 해결
API 허브 커넥터 로그는 어디에 저장되나요?
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
사용 설정된 조직에 대한 정보를 확인하려면 어떻게 해야 하나요?
현재 사용 설정되어 동기화되고 있는 조직을 확인하려면 상태 API를 활용하고 시스템 로그를 검사하면 됩니다.
- 작업: 상태 API 엔드포인트를 호출합니다.
- 예상 출력: 선택한 조직이 API 응답 내의
apiSyncStatus
및analyticsSyncStatus
섹션에 나열됩니다. 메타데이터 동기화가 사용 설정된 조직은apiSyncStatus
에 표시되고 런타임 동기화가 사용 설정된 조직은analyticsSyncStatus
에 표시됩니다.{ "apiSyncStatus": [ { "organization": "foo", "phase": "Preparing", // ColdTransfer => Preparing "components": [ "proxy": { "lastUpdated": "2025-04-16T00:56:45Z", "progress": { "totalItems": 100, // total proxies known to uapim connector "pendingItems": 90, // pending proxies to upload "completedItems": 6, // completed proxies to upload "failedItems": 4 // proxies failed to upload } }, "environment": { //environment upload status "lastUpdated": "2025-04-16T00:56:45Z", "progress": { "totalItems": 5, // total number of environments "pendingItems": 1, // pending environments to process "completedItems": 3, // completed environment processing "failedItems": 1 // failed environment processing } }] }, { "organization": "bar", "phase": "Processing", // "Streaming" -> "Processing" "components": [ "proxy": { "lastUpdated": "2025-04-16T00:56:45Z", "progress": { "totalItems": 110, // total proxies known to uapim connector "pendingItems": 16, // pending proxies to upload "completedItems": 3, // completed proxies to upload "failedItems": 1 // proxies failed to upload } }, "environment": { "lastUpdated": "2025-04-16T00:56:45Z", "progress": { "totalItems": 5, // total number of environments "pendingItems": 3, // pending environments to process "completedItems": 1, // completed environment processing "failedItems": 1 // failed environment processing } }] }, { "organization": "test", "phase": "Queued", // "Yet to start" -> "Queued" "lastUpdated": "2025-04-16T00:56:45Z" } ], "analyticsSyncStatus": [ { "organization": "test", "environment": "dev", "failedItems": 2, "lastUpdated": "2025-04-16T00:56:45Z" }, { "organization": "test", "environment": "prod", "failedItems": 4, "lastUpdated": "2025-04-16T00:56:45Z" } ] }
- 시스템 로그 검사: 더 세부적인 보기를 확인하고 개별 조직의 동기화 설정을 확인하려면 특정 항목의 시스템 로그를 검사하면 됩니다.
- 로그 확인:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- 검색 명령어:
grep
또는 유사한 로그 검색 도구를 사용하여 다음 로그 행을 찾습니다.- 조직 메타데이터-조직의 메타데이터 동기화:
grep "Setup metadata sync for organization: metadata-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- 로그 스니펫 예:
2025-07-10 08:47:09,901 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupMetadataSync() : Setup metadata sync for organization: metadata-org
- 조직의 메타데이터 동기화 설정:이라는 텍스트와 조직 이름이 표시되는지 확인합니다.
- 조직 runtime-org의 런타임 데이터 동기화:
grep "Setup runtime data sync for organization: runtime-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- 로그 스니펫 예:
2025-07-10 08:47:09,902 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupRuntimeSyncData() : Setup runtime data sync for organization: runtime-org
- 조직의 런타임 데이터 동기화 설정:이라는 텍스트와 조직 이름이 표시되는지 확인합니다.
- 조직 메타데이터-조직의 메타데이터 동기화:
- 로그 확인:
로그에서 사용 설정에 실패한 모든 (org,env) 정보를 가져오려면 어떻게 해야 하나요?
사용 설정에 실패한 조직에 관한 정보를 확인하려면 시스템 로그에서 특정 오류 항목을 검사하면 됩니다.
- 로그 확인:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- 검색 명령어:
grep
또는 유사한 로그 검색 도구를 사용하여 메타데이터 동기화 상태 업데이트 중에 오류를 나타내는 로그 행을 찾습니다.- 조직/환경 실패-조직/실패-환경의 메타데이터 동기화 상태 업데이트가 실패한 경우:
grep "Error while updating metadata sync status for org: failed-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- 로그 스니펫 예:
2025-07-15 10:30:15,123 main ERROR c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.updateMetadataSyncStatus() : Error while updating metadata sync status for org: failed-org
Error while updating metadata sync status for org/env:
텍스트와 조직 및 환경 (예: failed-org/failed-env)을 찾습니다.
- 조직/환경 실패-조직/실패-환경의 메타데이터 동기화 상태 업데이트가 실패한 경우:
로그에서 조직의 이전 상태 변경사항 요약을 확인하려면 어떻게 해야 하나요?
(조직, 환경) 동기화 전송 상태가 업데이트된 시점을 요약하려면 시스템 로그에서 특정 항목을 검사하면 됩니다.
- 로그 확인:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- 검색 명령어
grep
또는 유사한 로그 검색 도구를 사용하여 조직 및 환경의 전송 상태 업데이트를 나타내는 로그 행을 찾습니다.- 전송 상태 업데이트:
grep "Transfer status is updated for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- 로그 스니펫 예:
2025-07-15 18:35:01,789 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.updateTransferStatus() : Transfer status is updated for org: org1 to BULK_TRANSFER 2025-07-10 08:47:11,364 main INFO c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.updateEnvironmentStatus() : Transfer status is updated for org: org1 to STREAMING
- '조직/환경의 전송 상태가 업데이트됨'이라는 정확한 텍스트와 특정 조직 및 환경 (예: org1/prod) 및 상태를 찾습니다.
- 전송 상태 업데이트:
개별 프록시의 프로토 데이터 수집 및 업로드와 관련된 로그 항목을 확인하려면 특정 로그 행을 검색하면 됩니다.
- 로그 파일 위치:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- 검색 명령어:
grep
또는 유사한 로그 검색 도구를 사용하여 특정 조직 및 프록시에 대해 수집된 프로토 데이터의 업로드를 나타내는 로그 행을 찾습니다.- 성공 시나리오: 프록시 프로토가 API 허브에 업로드됩니다. 이 경우 'uploaded collect proto for org: {}, proxy: {},' 텍스트를 검색합니다.
grep "uploaded collect proto for org: your-org-name, proxy: your-proxy-name, with messageId:" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
-org-name
을 실제 조직 이름으로, your-proxy-name을 관심 있는 실제 프록시 이름으로 바꿉니다. 로그 스니펫 예:2025-07-10 08:47:11,362 main DEBUG c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.generateCollectProto() : uploaded collect proto for org: org1, proxy: proxy1, with messageId: message_ids: "15569268426032329"
'uploaded collect proto for org: '라는 텍스트 뒤에 조직 이름이 나오고 ', proxy: ' 뒤에 프록시 이름이 나옵니다.
- 실패 시나리오: 프록시 프로토콜이 API 허브에 업로드되지 않았습니다. 이 경우 'Failed to publish collect proto for org: {}, proxy: {},'라는 텍스트를 검색하세요.
grep "Failed to publish collect proto for org: your-org-name, proxy: your-proxy-name, " /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
your-org-name을 실제 조직 이름으로 바꾸고 your-proxy-name을 관심 있는 실제 프록시 이름으로 바꿉니다.
로그 스니펫 예:2025-07-10 08:47:11,362 main DEBUG c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.generateCollectProto() : Failed to publish collect proto for org: org1, proxy: proxy1
'failed to publish collect proto for org: '라는 텍스트와 조직 이름, ', proxy: '라는 텍스트와 프록시 이름을 찾습니다.
- 성공 시나리오: 프록시 프로토가 API 허브에 업로드됩니다. 이 경우 'uploaded collect proto for org: {}, proxy: {},' 텍스트를 검색합니다.
런타임/분석
녹화 파일을 NFS에 게시할 수 없음
원인: NFS 사용률이 75%를 초과합니다.
확인: grep "Diskspace usage is at more than 75% of the allocated MaxDiskSpace at" /opt/apigee/var/log/edge-message-processor/logs/system.log
원인: API 허브 커넥터 런타임 동기화가 사용 설정되지 않았거나 잘못 구성됨
/opt/apigee/customer/application/message-processor.properties:
에서 다음을 확인하세요.
conf_message-processor-communication_uapim.enabled.environments=
올바른 조직과 환경이 나열되어 있는지 확인합니다.
conf_message-processor-communication_uapim.runtime.data.path=
올바른 NFS 경로를 가리키는지 확인합니다.
데이터가 NFS에 성공적으로 게시되었는지 확인하는 방법
레코드는 특정 NFS 경로(예: '/the/nfs/staging')에 저장됩니다.
이 디렉터리의 콘텐츠에서 새로 생성된 파일을 직접 확인할 수 있습니다. 파일이 있으면 NFS에 게시가 성공했음을 나타냅니다.
처리 없이 데이터 파일이 삭제됨
원인: 파일 이름에 유효한 조직/환경 정보가 포함되지 않았습니다.
확인할 로그:
grep "Skipped and Deleted file" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
조직 구성이 누락되어 파일이 삭제됨
원인: 조직별 구성을 찾을 수 없습니다.
확인할 로그:
grep "Deleted file .* due to missing org config" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
잘못된 환경으로 인해 파일이 삭제됨
원인: 파일 이름에서 파싱된 환경이 조직 구성에 없습니다.
확인할 로그:
grep "Deleted file .* due to invalid env" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
Pub/Sub에 파일을 업로드할 수 없음
원인: 게시자를 만들 수 없습니다 (예: 서비스 계정 또는 주제가 잘못 구성됨).
확인할 로그:
grep "Failed to create publisher for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
부분 업로드 - 일부 레코드 실패
원인: 파일의 일부 레코드가 게시되지 않았습니다.
확인할 로그:
grep "was not completely published" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
파일이 완전히 처리되어 삭제됨
확인할 로그:
grep "File .* completely published to topic" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log