데이터가 분석 대시보드에 표시되지 않음

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

증상

분석 대시보드 (프록시 실적, 타겟 실적 등)에 아무 것도 표시되지 않음 자세히 알아볼 수 있습니다 모든 대시보드에는 다음 메시지가 표시됩니다.

No traffic in the selected date range

오류 메시지

이 문제로 인해 눈에 띄는 오류가 발생하지는 않습니다.

가능한 원인

다음 표에는 이 문제의 가능한 원인이 나와 있습니다.

원인 대상:
조직 환경에 API 트래픽 없음 프라이빗 클라우드 사용자를 위한 에지
Postgres 데이터베이스에서 데이터를 사용할 수 있지만 다음 위치에 표시되지 않음 UI 프라이빗 클라우드 사용자를 위한 에지
애널리틱스 데이터가 Postgres 데이터베이스로 푸시되지 않음 프라이빗 클라우드 사용자를 위한 에지
잘못된 애널리틱스 배포 프라이빗 클라우드 사용자를 위한 에지
오래된 애널리틱스 서버 UUID 프라이빗 클라우드 사용자를 위한 에지

조직 환경에 API 트래픽 없음

진단

  1. 다음 조직의 특정 조직 환경에 API 프록시에 대한 트래픽이 있는지 다음 중 하나를 사용하여 분석 데이터를 보려는 특정 기간 메서드: <ph type="x-smartling-placeholder">
      </ph>
    1. 사용자가 현재 사용 중인 모든 API에 대한 추적을 사용 설정합니다. trace에서 요청을 가져올 수 있는지 확인합니다.
    2. NGINX 액세스 로그 보기 (/opt/apigee/var/log/edge-router/nginx/logs/access.log)를 클릭하여 특정 기간 동안 API 프록시에 대한 새 항목을 만들 수 있습니다.
    3. API 프록시의 정보를 Syslog, Splunk, Loggly, 이러한 경우 로그 서버에 해당 로그 서버에 대한 API 프록시에 대한 항목이 있는지 지정할 수 있습니다.
  2. 특정 기간 동안 트래픽 (API 요청 없음)이 없으면 분석 데이터가 사용할 수 없습니다. '선택한 기간에 트래픽 없음'이 표시됩니다. 분석 대시보드에서 이 설정을 지정할 수 있습니다.

해상도

  1. 특정 조직 환경에서 하나 이상의 API 프록시를 호출합니다.
  2. 몇 초 동안 기다렸다가 시간 탭에서 분석 대시보드를 보고 데이터가 나타납니다.
  3. 문제가 지속되면 Postgres에서 데이터 사용 가능 여부 데이터베이스는 있지만 UI에는 표시되지 않음.

Postgres 데이터베이스에서 사용할 수 있지만 UI에는 표시되지 않는 데이터

증상

먼저 Postgres 데이터베이스에서 최신 애널리틱스 데이터를 사용할 수 있는지 확인합니다.

Postgres Master에서 최신 애널리틱스 데이터를 사용할 수 있는지 확인 노드:

  1. 각 Postgres 서버에 로그인하고 다음 명령어를 실행하여 Master Postgres 노드에서 다음을 수행합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. 마스터 Postgres 노드에서 PostgreSQL에 로그인합니다.
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    
  3. Postgres에서 다음 SQL 쿼리를 사용하여 org-env에 테이블이 있는지 확인합니다. 데이터베이스:
    \d analytics."orgname.envname.fact"
    
  4. 다음 SQL을 사용하여 Postgres 데이터베이스에서 최신 데이터를 사용할 수 있는지 확인합니다. 검색어:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
    
  5. 최신 타임스탬프가 매우 오래되었거나 null이면 데이터가 최신 상태가 아님을 나타냅니다. 사용할 수 있습니다 이 문제는 데이터가 Qpid 서버에서 Postgres 데이터베이스로 푸시되지 않습니다. 애널리틱스 데이터가 Postgres 데이터베이스로 푸시되지 않음으로 이동합니다.
  6. 마스터 노드의 Postgres 데이터베이스에서 최신 데이터를 사용할 수 있는 경우 아래 단계를 따라 데이터가 Edge UI에 표시되지 않는 이유를 진단하세요.

진단

  1. 개발자 도구를 사용 설정합니다. 을 방문하여 애널리틱스 대시보드 중 하나에서 사용하는 API를 다음 단계를 따르세요. <ph type="x-smartling-placeholder">
      </ph>
    1. 개발자 도구에서 네트워크 탭을 선택합니다.
    2. 녹화를 시작합니다.
    3. 애널리틱스 대시보드를 새로고침합니다.
    4. 개발자 도구의 왼쪽 패널에서 'apiproxy?_optimized...'.
    5. 개발자 도구의 오른쪽 패널에서 '헤더'를 선택합니다. 탭을 열고 'URL 요청'.
  2. 다음은 개발자 도구의 출력 샘플입니다.

    네트워크 탭의 프록시 성능 대시보드에 사용되는 API를 보여주는 샘플 출력 프록시 성능 대시보드를 위한 개발자 도구

  3. 관리 API 호출을 직접 실행하고 결과가 나왔는지 확인합니다. 샘플 API는 다음과 같습니다. 프록시 실적 대시보드에서 일 탭을 호출하세요.
    curl -u username:password
      "http://management_server_IP_address:8080/v1/organizations/
      org_name/environments/env_name/stats/apiproxy?limit=14400&
      select=sum(message_count),sum(is_error),avg(total_response_time),
      avg(target_response_time)&sort=DESC&sortby=sum(message_count),sum(is_error),
      avg(total_response_time),avg(target_response_time)&timeRange=08%2F9%2F2017+
      18:00:00~08%2F10%2F2017+18:00:00&timeUnit=hour&tsAscending=true"
    
  4. 성공 응답이 표시되었지만 데이터가 없으면 네트워크로 인해 관리 서버가 Postgres 서버에서 데이터를 가져올 수 없습니다. 연결 문제가 발생할 수 있습니다.
  5. 관리 서버에서 Postgres 서버에 연결할 수 있는지 확인합니다.
    telnet Postgres_server_IP_address 5432
    
  6. Postgres 서버에 연결할 수 없는 경우 방화벽이 있는지 확인하세요. 제한이 있을 수 있습니다
  7. 방화벽 제한이 있는 경우 관리 서버에 문제가 발생했을 수 있습니다. Postgres 서버에서 데이터를 가져올 수 없습니다.

해상도

  1. 방화벽 제한이 있는 경우 관리 서버가 Postgres 서버와 통신합니다
  2. 방화벽 제한이 없다면 네트워크 결함으로 인한 문제일 수 있습니다.
  3. 관리 서버에 네트워크 결함이 있는 경우 다시 시작하면 문제가 해결될 수도 있습니다. 있습니다.
  4. 아래 명령어를 사용하여 모든 관리 서버를 하나씩 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    
  5. Edge UI에서 분석 데이터를 볼 수 있는지 확인합니다.

그래도 데이터가 표시되지 않으면 Apigee Edge 지원팀에 문의하세요.

애널리틱스 데이터가 Postgres 데이터베이스로 푸시되지 않음

진단

Postgres 데이터베이스에서 사용할 수 있지만 UI에는 표시되지 않는 데이터에 따라 Qpid 서버에서 Postgres 데이터베이스로 데이터가 푸시되지 않으면 다음 단계를 따르세요.

  1. 아래 명령어를 실행하여 각 Qpid 서버가 작동되어 실행 중인지 확인합니다.
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. Qpid 서버가 다운되면 다시 시작합니다. 그렇지 않으면 5단계로 이동합니다.
    /opt/apigee/bin/apigee-service edge-qpid-server restart
    
  3. 잠시 기다린 후 Postgres 데이터베이스에 최신 데이터를 사용할 수 있는지 다시 확인합니다.
    1. PostgreSQL에 로그인합니다.
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
      
    2. 아래 SQL 쿼리를 실행하여 최신 데이터를 사용할 수 있는지 확인합니다.
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
      
  4. 최신 데이터를 사용할 수 있는 경우 다음 단계를 건너뛰고 해결 방법 섹션. 최신 데이터를 사용할 수 없는 경우 다음을 진행합니다. 학습합니다.
  5. Qpid 서버 큐의 메시지가 Postgres 데이터베이스로 푸시되고 있는지 확인합니다.
    1. qpid-stat -q command를 실행하고 msgIn을 확인합니다. msgOut 열 값
    2. 다음은 msgIn 및 msgOut이 같지 않음을 보여주는 샘플 출력입니다. 이는 곧 메시지가 Qpid 서버에서 Postgres 데이터베이스로 푸시되고 있지 않음을 알려 드립니다.

  6. msgInmsgOut 열이 일치하지 않는 경우 Qpid를 확인합니다. 서버 로그를 /opt/apigee/var/log/edge-qpid-server/system.log하고 오류가 발생할 수 있습니다
  7. 다음과 같은 오류 메시지가 표시될 수 있습니다. 'PG is 아직 다운' 또는 '치명적: 죄송합니다. 이미 클라이언트가 너무 많습니다' 오류 메시지가 표시될 수 있습니다. <ph type="x-smartling-placeholder">
    2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be
      retriable - . Error observed while trying to connect to
      jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when
      execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d
      Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d]
    2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection;
      nested exception is org.postgresql.util.PSQLException: FATAL: sorry, too many clients already
    2017-07-28 09:56:53,617 pool-7-thread-1
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be
      retriable - . Error observed while trying to connect to
      jdbc:postgresql://PG_IP_address:5432/apigee
      Initial referenced UUID when execution started in this thread was
      a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used -
      [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d]
    2017-07-28 09:56:53,617 pool-7-thread-1
      WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection;
      nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create
      PoolableConnectionFactory (FATAL: sorry, too many clients already)
    
    </ph>

이 문제는 Postgres 서버에서 너무 많은 SQL 쿼리를 실행 중이거나 CPU 또는 따라서 Qpid 서버에 응답할 수 없습니다.

해상도

  1. 아래와 같이 Postgres 서버 및 PostgreSQL을 다시 시작합니다.
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. 이렇게 다시 시작하면 이전 SQL 쿼리가 모두 중지되고 Postgres 데이터베이스에 대한 연결을 보여줍니다
  3. 애널리틱스 대시보드를 새로고침하고 애널리틱스 데이터가 표시되는지 확인합니다.

문제가 계속되면 Apigee Edge 지원팀에 문의하세요.

잘못된 애널리틱스 배포

진단

  1. 다음 API 호출을 사용하여 분석 배포 상태를 가져옵니다.
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
    
  2. API 호출의 결과에서 Qpid 및 Postgres 서버 상태를 확인합니다.
    1. Qpid 및 Postgres 서버의 상태가 'SUCCESS'로 표시되면 분석 서버가 제대로 배선됩니다 오래됨으로 진행 애널리틱스 서버 UUID.
    2. Qpid/Postgres 서버 상태가 'UNKNOWN'으로 표시되는 경우 'FAILURE'일 경우 해당 서버에 문제가 있음을 나타냅니다.

      예를 들어 다음 시나리오는 Postgres 서버의 상태를 'UNKNOWN(알 수 없음)':

      애널리틱스 온보딩 과정에서 오류가 발생하는 경우 이러한 상황이 발생할 수 있습니다. 이 실패는 관리 서버의 메일이 Postgres 서버에 도달하지 못하도록 합니다.

해상도

이 문제는 일반적으로 'FAILURE' 오류가 표시된 서버를 다시 시작하면 해결할 수 있습니다. 또는 'UNKNOWN'입니다.

  1. 분석 배선 상태가 'FAILURE'로 표시된 각 서버를 다시 시작합니다. 또는 'UNKNOWN' 사용하여 다음 명령어를 실행합니다.
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. 예를 들면 다음과 같습니다. <ph type="x-smartling-placeholder">
      </ph>
    1. Qpid 서버에 문제가 발생하면 Qpid 서버를 다시 시작합니다.
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. Postgres 서버에서 문제가 발생하면 마스터와 슬레이브를 모두 다시 시작하세요. Postgres 서버 노드:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      
  3. 위의 예에서 'UNKNOWN'은 Postgres 서버에 대해 표시되므로 마스터 및 슬레이브 Postgres 서버를 모두 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    

비활성 애널리틱스 서버 UUID

진단

  1. 다음 API 호출을 사용하여 애널리틱스 구성을 가져옵니다.
    curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
    

    다음은 위 API의 샘플 출력입니다.

    [ {
      "name" : "axgroup001",
      "properties" : {
        "consumer-type" : "ax"
      },
      "scopes" : [ "myorg~prod", "myorg~test" ],
      "uuids" : {
        "aries-datastore" : [ ],
        "postgres-server" : [ "6777...2db14" ],
        "dw-server" : [ ],
        "qpid-server" : [ "774e...fb23", "29f3...8c11" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "774e...8c11" ],
        "datastores" : [ "6777...db14" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    } ]
    
  2. 출력의 다음 정보가 올바른지 확인합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. '범위'에 나열된 org-env 이름 요소가 포함됩니다.
    2. Postgres 서버 및 Qpid 서버의 UUID
      • 다음 명령어를 실행하여 Postgres 서버 UUID를 가져옵니다. Postgres 서버 노드:
        curl 0:8084/v1/servers/self/uuid
        
      • 각 Qpid에서 다음 명령어를 실행하여 Qpid 서버 UUID를 가져옵니다. 서버 노드:
        curl 0:8083/v1/servers/self/uuid
        
  3. 모든 정보가 정확하다면 애널리틱스 데이터 Postgres 데이터베이스에 푸시되지 않습니다.
  4. Postgres 또는 Qpid 서버의 UUID가 잘못된 경우 관리 서버가 비활성 UUID를 참조합니다.

해상도

비활성 UUID를 삭제하고 서버의 올바른 UUID를 추가하려면 Apigee Edge 지원팀에 문의하세요.