파일에 분석 데이터 쓰기

기본적으로 메시지 프로세서에서 수집한 분석 데이터는 Qpid 및 Postgres에 업로드됩니다. 두 가지 옵션이 있습니다 그러면 Edge UI에서 분석 데이터를 볼 수 있습니다.

또는 분석 데이터를 디스크에 쓰도록 메시지 프로세서를 구성할 수 있습니다. 그런 다음 해당 데이터를 자체 분석 시스템에 업로드하여 분석할 수 있습니다. 예를 들어, Google Cloud BigQuery로 스트리밍할 수 있습니다 그런 다음 강력한 쿼리와 머신러닝을 활용하여 기능을 사용하여 자체 데이터 분석을 수행할 수 있습니다.

두 옵션을 모두 사용할 수도 있습니다. 즉, 분석 데이터를 업로드하여 Qpid/Postgres를 사용하고 데이터를 디스크에 저장합니다.

파일 이름 및 위치

기본적으로 분석 데이터를 디스크 파일에 쓰도록 설정하면 파일이 다음 디렉터리에 복사합니다

/opt/apigee/var/log/edge-message-processor/ax/tmp

Edge는 데이터 파일의 /tmp 아래에 1분 간격으로 새 디렉터리를 만듭니다. 디렉터리 이름의 형식은 다음과 같습니다.

org~env~yyyyMMddhhmmss

예를 들면 다음과 같습니다.

myorg~prod~20190909163500
myorg~prod~20190909163600

각 디렉터리에는 해당 간격에 대한 개별 데이터 파일이 있는 .gz 파일이 포함되어 있습니다. 형식은 .gz 파일 이름은 다음과 같습니다.

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

Edge는 일정한 간격으로 디렉터리와 디렉터리에 포함된 .gz 파일을 /tmp에서 이동합니다. uploadToCloud의 설정에 따라 다음 디렉터리 중 하나로 복사 메시지 프로세서 구성 속성:

  • uploadToCloud = false: 파일을 /opt/apigee/var/log/edge-message-processor/ax/staging(으)로 이동함
  • uploadToCloud = true: (기본값): 파일을 /opt/apigee/var/log/edge-message-processor/ax/failed로 이동합니다.

/staging 또는 /failed 디렉터리에서 데이터의 압축을 풀어 분석 데이터 파일

구성 속성

다음 속성을 사용하여 분석 데이터를 디스크에 쓰도록 메시지 프로세서를 구성합니다. 이러한 속성은 모두 선택사항입니다.

속성 설명
conf_analytics_analytics.saveToDisk

분석 데이터를 디스크 파일에 쓰도록 메시지 프로세서를 구성하려면 true로 설정합니다.

기본값은 false입니다.

conf_analytics_analytics.sendToQueue

메시지 프로세서가 Qpid/Postgres에 데이터를 업로드하도록 구성하려면 true로 설정합니다. Qpid/Postgres에 애널리틱스 데이터 쓰기를 사용 중지하려면 false로 설정합니다.

기본값은 true입니다.

conf_analytics_analytics.baseDataDirectoryPath

애널리틱스 데이터 파일이 기록되는 기본 경로를 지정합니다.

기본값은 /opt/apigee/var/log/edge-message-processor/ax.입니다.

conf_analytics_analytics.allocatedDiskSpaceInMBytes

분석 파일에 할당된 디스크 공간을 메가바이트 단위로 지정합니다.

기본값은 3072입니다. 로컬 컴퓨터에 할당된 디스크 공간을 초과하거나 메시지 프로세서가 분석 데이터 저장을 중지하고 오류 메시지를 변경할 수 있습니다

conf_analytics_analytics.uploadToCloud

분석 파일의 최종 위치를 제어합니다.

  • false: 파일이 /opt/apigee/var/log/edge-message-processor/ax/staging(으)로 이동됨
  • true (기본값): 파일을 /opt/apigee/var/log/edge-message-processor/ax/failed로 이동합니다.

참고: 이 속성이 uploadToCloud이라고 해도 데이터는 포함되지 않습니다. 클라우드에 업로드됩니다 모든 분석 데이터는 설치 로컬에 유지됩니다.

이러한 속성을 설정하는 방법은 다음과 같습니다.

  1. 편집기에서 message-processor.properties 파일을 엽니다. 파일이 없으면 다음과 같이 만듭니다.

    vi /opt/apigee/customer/application/message-processor.properties
  2. 속성을 원하는 대로 설정합니다.

    # Enable writing analytics data to disk.
    conf_analytics_analytics.saveToDisk=true
    # Disable writing analytics data to Qpid/Postgres.
    conf_analytics_analytics.sendToQueue=false
    
    # Specify base directory for analytics data files.
    conf_analytics_analytics.baseDataDirectoryPath=/opt/apigee/var/smg
    
    # Set the disk space available for analytics files.
    conf_analytics_analytics.allocatedDiskSpaceInMBytes=3072
    # Move final analytics data to files to the /staging directory.
    conf_analytics_analytics.uploadToCloud=false
  3. 변경사항을 저장합니다.
  4. 속성 파일이 'Apigee'의 소유인지 확인하세요. 사용자:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. consumer-type 속성 값을 ax로 설정합니다. axgroup-001 분석 그룹:

    curl -X POST -H "Content-Type:application/json" \
    "http://ms-ip:8080/v1/analytics/groups/ax/axgroup-001/properties?propName=consumer-type&propValue=ax" \
    -u sysAdminEmail:sysAdminPWord

    기본적으로 분석 그룹의 이름은 axgroup-001입니다. 애플리케이션의 구성 파일에서 Edge 설치에서는 AXGROUP 속성을 사용하여 애널리틱스 그룹의 이름을 설정할 수 있습니다. 애널리틱스 그룹의 이름을 잘 모르겠다면 관리 서버에서 다음 명령어를 실행하세요. 노드를 선택하여 표시합니다.

    apigee-adminapi.sh analytics groups list \
      --admin sysAdminEmail --pwd sysAdminPword --host localhost

    이 명령어는 name 필드에 애널리틱스 그룹 이름을 반환합니다.

  6. 메시지 프로세서를 다시 시작합니다.

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

    재시작 후 메시지 프로세서는 분석 데이터를 데이터 파일에 씁니다.

  7. 모든 메시지 프로세서에 이 단계를 반복합니다.