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 visualizar os dados de análise na interface do Edge.

Também é possível 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, faça o upload os dados para o Google Cloud BigQuery. Assim, é possível aproveitar a consulta e o machine learning avançados recursos oferecidos pelo BigQuery e TensorFlow para fazer sua própria análise de dados.

Você também pode optar por usar as duas opções. Isso significa que você pode enviar os dados de análise para Qpid/Postgres e também salvar os dados 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 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 do intervalo em questão. O formato do O 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 a um dos diretórios a seguir, com base na configuração do uploadToCloud Propriedade de configuração 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 essas 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 e fazer upload dos dados para o 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 o de dados de análise, o processador de mensagens para de salvar os dados de análise e grava uma mensagem de erro aos 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 /opt/apigee/var/log/edge-message-processor/ax/failed

Observação: embora essa propriedade seja chamada de uploadToCloud, nenhum dado é enviada para a nuvem. Todos os dados de análise permanecem locais em relação à 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 conforme desejado:

    # 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 alterações.
  4. Verifique se o arquivo de propriedades é de propriedade da "apigee" usuário:

    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 um 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 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 em arquivos de dados.

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