여러 개의 축이 구성된 경우 맞춤 측정기준이 표시되지 않습니다.

<ph type="x-smartling-placeholder"></ph> 현재 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

가능한 원인

원인 설명 해당 문제 해결 지침
조직 및 환경 조합에 대한 주키퍼 속성 경로가 누락되었습니다. 주키퍼 경로가 /organizations//environments//properties인 경우 맞춤 측정기준을 만들 수 없습니다. Edge 프라이빗 클라우드 사용자

원인: 조직 및 환경 조합에 대한 ZaKeeper 속성 경로가 없습니다.

진단

다음을 통해 조직-환경 조합에 대해 애널리틱스를 사용 설정 <ph type="x-smartling-placeholder"></ph> Analytics API를 사용 설정하여 /organizations//environments//properties를 채웁니다. 있습니다. 이 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를 사용하는 애널리틱스 그룹이 존재합니다. 얼마나 많은 애널리틱스가 있는지 그룹이 있으면 다음 API 호출을 실행하세요.

curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"

이 API가 여러 그룹을 반환하는 경우 문제의 원인일 가능성이 높습니다. 다음 예에서는 하이픈으로만 구분된 두 그룹이 있습니다. axgroup-001axgroup001

[ {
  "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" : {
  }

구체적으로 이 문제는 각각에 구성된 postgres-server UUID가 axgroup은 동일합니다. 이를 확인하는 빠른 방법은 다음을 실행하는 것입니다.

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 서버 정보를 삭제하는 것입니다. 모든 범위 (조직, 환경 조합)를 다른 그룹에 할당합니다. 이렇게 하려면 다음 단계를 따르세요.

  1. 안내에 따라 두 axgroup 중 하나에서 postgres 서버 구성요소를 삭제합니다. <ph type="x-smartling-placeholder"></ph> 분석 그룹에서 애널리틱스 구성요소 추가 및 삭제 비프로덕션 범위에서만 문제가 발생하는 경우 이 연습의 프로덕션 범위가 없습니다. 그렇지 않은 경우 최소 개수의 범위를 지정합니다
  2. 더 이상 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'
    
  3. 다음을 사용하여 애널리틱스를 사용 설정합니다. <ph type="x-smartling-placeholder"></ph> 애널리틱스 API를 사용 설정합니다.
  4. 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
    
  5. 위의 오류 메시지 섹션에 제공된 오류가 있는지 확인합니다. Postgres 서버의 로그 파일에서 더 이상 발생하지 않습니다. /opt/apigee/var/log/edge-postgres-server/logs/system.log입니다.
  6. 맞춤 측정기준이 Edge UI에 표시되는지 확인합니다.

문제가 지속되면 진단 정보를 수집해야 함으로 이동하세요.

진단 정보 수집 필요

위의 안내를 따랐는데도 문제가 계속되면 확인할 수 있습니다 Apigee Edge 지원팀에 문의하여 공유하세요.

  1. Edge-postgres-server /opt/apigee/var/log/edge-postgres-server/logs/system.log 가장 최근의 재시작 시점에서부터 실행됩니다
  2. 다음 Management API 호출의 출력:
    curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
    
  3. 다음 명령어를 사용하여 가져온 ZaKeeper 트리 출력입니다.
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt