Apigee Edge 문서입니다.
Go to the
Apigee X 문서로 이동합니다. info
증상
StatisticsCollector 정책을 사용하여 만든 맞춤 변수가 Edge UI의 분석 맞춤 보고서에 있는 맞춤 측정기준 아래에 표시되지 않습니다.
오류 메시지
오류가 관찰되지 않습니다.
가능한 원인
다음 표에는 이 문제의 가능한 원인이 나와 있습니다.
| 원인 | 대상: |
|---|---|
| 맞춤 변수가 표준 가이드라인을 준수하지 않음 | Edge Private 및 Public Cloud 사용자 |
| StatisticsCollector 정책을 구현하는 API 프록시에 트래픽이 없음 | Edge Private 및 Public Cloud 사용자 |
| 맞춤 변수가 Postgres 서버로 푸시되지 않음 | Edge Private Cloud 사용자 |
표에서 링크를 클릭하여 해당 원인의 가능한 해결 방법을 확인합니다.
맞춤 변수가 표준 가이드라인을 준수하지 않음
진단
StatisticsCollector 정책에 사용된 맞춤 변수 이름이 표준 가이드라인 ( 해결 방법 참고)을 준수하지 않으면 맞춤 보고서에 표시되지 않습니다.
아래 코드 스니펫은 변수 이름 'product id'에 공백이 있으므로 맞춤 보고서의 맞춤 측정기준 아래에 표시되지 않음을 보여줍니다.
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product id" type="string">999999</Statistic> </Statistics> </StatisticsCollector>
해결 방법
API 프록시 내 StatisticsCollector 정책에 사용되는 맞춤 변수 이름은 다음 가이드라인을 준수해야 합니다.
- 이름에는 [a-z][0-9] 및 '_'가 포함될 수 있습니다.
- 이름에는 공백이 포함될 수 없습니다. 예를 들어 위에 표시된 코드 샘플에서 변수 이름 을 'product_id'로 변경해야 합니다.
- 대소문자를 구분하지 않습니다.
- 다음 링크의 표에 나열된 예약어는 허용되지 않습니다. 예를 들어 'user'는 허용되지 않습니다. 자세한 내용은 SQL 키워드를 참고하세요.
문제가 계속되면 StatisticsCollector 정책을 구현하는 API 프록시에 트래픽이 없음으로 진행합니다.
StatisticsCollector 정책을 구현하는 API 프록시에 트래픽이 없음
진단
StatisticsCollector 정책을 구현하는 API 프록시에 트래픽이 없으면 맞춤 변수가 맞춤 보고서에 표시되지 않습니다.
해결 방법
StatisticsCollector 정책을 구현하는 API 프록시를 몇 번 호출합니다.
잠시 기다린 후 맞춤 변수가 맞춤 보고서의 맞춤 측정기준에 표시되는지 확인합니다.
문제가 계속되면 맞춤 변수가 Postgres 서버로 푸시되지 않음으로 진행합니다.
맞춤 변수가 Postgres 서버로 푸시되지 않음
진단
API 프록시에서 맞춤 변수가 생성되고 API 호출이 이루어지면 변수가 먼저 메시지 프로세서의 메모리에 저장됩니다. 그런 다음 메시지 프로세서가 새 변수에 관한 정보를 ZooKeeper로 전송하고, ZooKeeper는 이 정보를 Postgres 서버로 전송하여 Postgres 데이터베이스에 열로 추가합니다.
네트워크 문제로 인해 ZooKeeper의 알림이 Postgres 서버에 도달하지 못하는 경우가 있습니다. 이 오류로 인해 맞춤 변수가 맞춤 보고서에 표시되지 않을 수 있습니다.
맞춤 변수가 누락된 위치를 식별하려면 다음 단계를 따르세요.
- 다음 명령어를 사용하여 ZooKeeper 트리를 생성합니다.
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- ZooKeeper 트리 출력에서 맞춤 변수를 검색합니다.
- 맞춤 변수가 ZooKeeper 트리에 있으면 다음 명령어를 실행하여 맞춤 변수가 Postgres 데이터베이스에 추가되었는지 확인합니다:
- Postgres 노드에서 PostgreSQL에 로그인합니다.
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- 다음 SQL 쿼리를 실행합니다.
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- Postgres 노드에서 PostgreSQL에 로그인합니다.
- 맞춤 변수 열이 팩트 테이블에 누락되어 맞춤 측정기준에 표시되지 않는 경우가 많습니다.
해결 방법
해결 방법 1: Postgres 서버 다시 시작
- Postgres 서버를 다시 시작하여 ZooKeeper에서 분석과 관련된 모든 정보를 강제로 읽도록 합니다:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
문제가 계속되면 해결 방법 2를 적용합니다.
해결 방법 2: forceonboard 속성 사용 설정
아래 단계에 따라 forceonboard 속성을 사용 설정합니다.
- Postgres 서버 머신에
/opt/apigee/customer/application/postgres-server.properties파일이 아직 없는 경우 이 파일을 만듭니다. - 이 파일에 다음 줄을 추가합니다.
conf_pg-agent_forceonboard=true
- 다음 명령어를 사용하여 이 파일이 Apigee 소유인지 확인합니다.
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- Postgres 서버를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Postgres 서버가 두 개 이상인 경우 모든 Postgres 서버에서 위의 단계를 반복합니다.
- StatisticsCollector 정책을 사용하는 API 프록시를 배포 취소하고 배포합니다.
- API 호출을 실행합니다.
- 맞춤 변수가 맞춤 보고서의 맞춤 측정기준에 표시되는지 확인합니다.
문제가 계속되면 Apigee Edge 지원팀에 문의하세요.