현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동 정보
증상
통계 수집기 정책을 사용하여 만든 맞춤 변수는 Edge UI에서 애널리틱스 맞춤 보고서의 맞춤 측정기준에 표시되지 않습니다.
오류 메시지
경로가 누락된 각 조직/환경 조합에 대해 다시 시작한 후 Edge-postgres-server 시스템 로그에 다음과 같은 오류가 발생합니다.
KeeperErrorCode = NoNode for /organizations/<ORG>/environments/<ENV>/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations//environments/ /properties, reason: KeeperErrorCode = NoNode for /organizations/ /environments/ /properties
가능한 원인
원인 | 설명 | 해당 문제 해결 지침 |
---|---|---|
조직 및 환경 조합에 대한 Jokeeper 속성 경로가 누락되었습니다. | JoKeeper 경로 /organizations/ 가 누락되면 맞춤 측정기준을 만들 수 없습니다. |
Edge Private Cloud 사용자 |
원인: 조직 및 환경 조합에 대한zooKeeper 속성 경로가 누락되었습니다.
진단
주Keeper 트리의 /organizations/
를 채우는
분석 API 사용 설정을 통해 조직 환경 조합에 애널리틱스가 사용 설정됩니다. 이 API가 실패하면 Edge-postgres-server 구성요소가 맞춤 측정기준을 만들 수 없으며 system.log에 다음 오류가 표시됩니다.
KeeperErrorCode = NoNode for /organizations/example/environments/prod/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations/example/environments/prod/properties, reason: KeeperErrorCode = NoNode for /organizations/digi/environments/sandbox/properties
일반적으로 이 문제는 동일한 postgres-server UUID를 사용하는 애널리틱스 그룹이 2개 이상 존재하면서 조직이 온보딩되었을 때 발생합니다. 분석 그룹 수를 확인하려면 다음 API 호출을 실행합니다.
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
이 API에서 여러 그룹을 반환하는 경우 이로 인해 문제가 발생했을 가능성이 높습니다. 다음 예에서는 하이픈으로만 구분된 두 그룹이 존재함을 알 수 있습니다. axgroup-001 및 axgroup001
[ { "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { } }, { "name" : "axgroup001", "properties" : { }, "scopes" : [ "example~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { }
특히 이 문제는 각 axgroup에 구성된 postgres-server UUID가 동일하면 발생합니다. 이를 확인하는 빠른 방법은 다음을 실행하는 것입니다.
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
다음 샘플 출력은 postgres-server UUID를 빠르게 비교하여 동일한지 확인합니다.
{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]-- "name" : "axgroup001", "properties" : { }, "scopes" : [ "myorg~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "aries-datastore" : [ ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
해상도
동일한 PostgreSQL 서버 집합을 두 개의 axgroup에 할당할 수 없습니다. 가장 빠른 해결 방법은 하나의 axgroup에서 postgres 서버 정보를 삭제하고 모든 범위 (조직, 환경 조합)를 다른 그룹에 할당하는 것입니다. 이렇게 하려면 다음 단계를 따르세요.
- 애널리틱스 그룹에서 분석 구성요소 추가 및 삭제의 안내에 따라 두 axgroup 중 하나에서 postgres 서버 구성요소를 삭제합니다. 비프로덕션 범위에서만 문제가 발생하는 경우 이 연습의 프로덕션 범위가 없는 axgroup을 선택합니다. 그렇지 않은 경우 범위 수가 가장 적은 axgroup을 선택합니다.
- 더 이상 postgres 서버가 없는 axgroup의 모든 범위와 맞춤 측정기준 문제가 표시되는 axgroup의 범위를 삭제합니다. 위 예시의
axgroup-001
를 사용할 그룹이라고 가정하면 다음을 사용하여 myorg 조직 및 prod 환경의 범위를 삭제해야 합니다.curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- 분석 API 사용 설정을 사용하여 애널리틱스를 사용 설정합니다.
- 다음 명령어를 사용하여 postgres 마스터 노드에서 Edge-postgres-server 구성요소를 다시 시작하고, 설치된 모든 Edge-qpid-server 구성요소를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- 위의 오류 메시지 섹션에 제공된 오류가 더 이상 Postgres 서버의 로그 파일
/opt/apigee/var/log/edge-postgres-server/logs/system.log
에서 발생하지 않는지 확인합니다. - 맞춤 측정기준이 Edge UI에 표시되는지 확인합니다.
문제가 지속되면 진단 정보를 수집해야 함으로 이동하세요.
진단 정보 수집 필수
위 안내를 따른 후에도 문제가 지속되면 다음 진단 정보를 수집하세요. 문의하고 Apigee Edge 지원팀에 공유하세요.
- 마지막으로 다시 시작한 시점의 Edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.log
입니다. - 다음 Management API 호출의 출력:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- 다음 명령어를 사용하여 얻은 JoKeeper 트리의 출력:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt