Como gravar dados de análise em um arquivo

Por padrão, os dados de análise coletados pelo processador de mensagens são enviados ao Qpid e ao Postgres para processamento. É possível conferir os dados de análise na interface do Edge.

Como alternativa, você pode configurar o processador de mensagens para gravar dados de análise no disco. Em seguida, você pode fazer o upload desses dados para seu próprio sistema de análise para análise. Por exemplo, é possível fazer o upload dos dados para o Google Cloud BigQuery. Assim, é possível aproveitar os recursos avançados de consulta e machine learning que o BigQuery e o TensorFlow oferecem para fazer suas próprias análises de dados.

Você também pode usar as duas opções. Isso significa que você pode fazer o upload dos dados de análise para o Qpid/Postgres e também salvá-los no disco.

Nomes e localização dos arquivos

Por padrão, se você ativar a gravação de dados de análise em arquivos de disco, os arquivos serão gravados no seguinte diretório:

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

O Edge cria um novo diretório em /tmp para os arquivos de dados, em intervalos de um minuto. O formato do nome do diretório é:

org~env~yyyyMMddhhmmss

Exemplo:

myorg~prod~20190909163500
myorg~prod~20190909163600

Cada diretório contém um arquivo .gz com os arquivos de dados individuais para esse intervalo. O formato do nome do arquivo .gz é:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

Em intervalos regulares, o Edge move o diretório e o arquivo .gz que ele contém de /tmp para um dos seguintes diretórios, com base na configuração da propriedade de configuração uploadToCloud do processador de mensagens:

  • uploadToCloud = false: arquivos movidos para /opt/apigee/var/log/edge-message-processor/ax/staging
  • uploadToCloud = true: (padrão): os arquivos são movidos para /opt/apigee/var/log/edge-message-processor/ax/failed

Descompacte os dados do diretório /staging ou /failed para acessar os arquivos de dados de análise.

Propriedades de configuração

Use as propriedades a seguir para configurar o processador de mensagens para gravar dados de análise no disco. Todas estas propriedades são opcionais:

Propriedade Descrição
conf_analytics_analytics.saveToDisk

Defina como true para configurar o processador de mensagens para gravar dados de análise em arquivos de disco.

O valor padrão é false.

conf_analytics_analytics.sendToQueue

Defina como true para configurar o processador de mensagens para fazer upload dos dados para Qpid/Postgres. Defina como false para desativar a gravação de dados de análise no Qpid/Postgres.

O valor padrão é true.

conf_analytics_analytics.baseDataDirectoryPath

Especifica o caminho base em que os arquivos de dados de análise são gravados.

O valor padrão é /opt/apigee/var/log/edge-message-processor/ax.

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Especifica o espaço em disco, em megabytes, alocado para arquivos de análise.

O valor padrão é 3072. Se você exceder o espaço em disco alocado para os arquivos de dados de análise, o processador de mensagens deixará de salvar os dados de análise e gravará uma mensagem de erro nos arquivos de registro.

conf_analytics_analytics.uploadToCloud

Controla o local final dos arquivos de análise.

  • false: arquivos movidos para /opt/apigee/var/log/edge-message-processor/ax/staging
  • true (padrão): os arquivos são movidos para o /opt/apigee/var/log/edge-message-processor/ax/failed.

Observação: mesmo que essa propriedade seja chamada de uploadToCloud, nenhum dado é enviado para a nuvem. Todos os dados de análise permanecem locais na instalação.

Para definir essas propriedades:

  1. Abra o arquivo message-processor.properties em um editor. Se o arquivo não existir, crie-o:

    vi /opt/apigee/customer/application/message-processor.properties
  2. Defina as propriedades como quiser:

    # 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. Salve as mudanças.
  4. Verifique se o arquivo de propriedades pertence ao usuário "apigee":

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Defina o valor da propriedade consumer-type como ax para o grupo de análise 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

    Por padrão, o nome do grupo de análise é axgroup-001. No arquivo de configuração de uma instalação do Edge, é possível definir o nome do grupo de análise usando a propriedade AXGROUP. Se você não tiver certeza dos nomes do grupo de análise, execute o seguinte comando no nó do servidor de gerenciamento para exibi-lo:

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

    Esse comando retorna o nome do grupo de análise no campo name.

  6. Reinicie o processador de mensagens:

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

    Após a reinicialização, o processador de mensagens grava dados de análise nos arquivos de dados.

  7. Repita essas etapas para todos os processadores de mensagens.