Cómo escribir datos de estadísticas en un archivo

De forma predeterminada, los datos de estadísticas que recopila el procesador de mensajes se suben a Qpid y Postgres para su procesamiento. Luego, puedes ver los datos de estadísticas en la IU de Edge.

Como alternativa, puedes configurar Message Processor para que escriba los datos de estadísticas en el disco. Luego, puedes subir esos datos a tu propio sistema de análisis para su análisis. Por ejemplo, podrías subir los datos a Google Cloud BigQuery. Así, podrás aprovechar la potente herramienta de consulta y aprendizaje automático que ofrecen BigQuery y TensorFlow para realizar tu propio análisis de datos.

También puedes utilizar ambas opciones. Esto significa que puedes subir los datos de análisis a Qpid/Postgres y, además, guardan los datos en el disco.

Nombres y ubicación de los archivos

De forma predeterminada, si habilitas la escritura de datos de estadísticas en archivos de disco, estos se escriben en el siguiente directorio:

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

Edge crea un directorio nuevo en /tmp para los archivos de datos, en intervalos de un minuto. El formato del nombre del directorio es el siguiente:

org~env~yyyyMMddhhmmss

Por ejemplo:

myorg~prod~20190909163500
myorg~prod~20190909163600

Cada directorio contiene un archivo .gz con los archivos de datos individuales para ese intervalo. El formato de el nombre del archivo .gz es:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

A intervalos regulares, Edge mueve el directorio y el archivo .gz que contiene de /tmp a cualquiera de los siguientes directorios, según la configuración de uploadToCloud Propiedad de configuración de Message Processor:

  • uploadToCloud = false: los archivos se movieron a /opt/apigee/var/log/edge-message-processor/ax/staging
  • uploadToCloud = true: (predeterminado): Los archivos se mueven a /opt/apigee/var/log/edge-message-processor/ax/failed.

Descomprime los datos del directorio /staging o /failed para obtener los archivos de datos de análisis.

Propiedades de configuración

Usa las siguientes propiedades para configurar Message Processor y escribir datos de estadísticas en el disco. Todas estas propiedades son opcionales:

Propiedad Descripción
conf_analytics_analytics.saveToDisk

Establécelo en true para configurar Message Processor a fin de que escriba datos de estadísticas en archivos de disco.

El valor predeterminado es false.

conf_analytics_analytics.sendToQueue

Establécelo en true para configurar que el procesador de mensajes suba los datos a Qpid/Postgres. Configúralo en false para inhabilitar la escritura de datos de estadísticas en Qpid/Postgres.

El valor predeterminado es true.

conf_analytics_analytics.baseDataDirectoryPath

Especifica la ruta base en la que se escriben los archivos de datos de estadísticas.

El valor predeterminado es /opt/apigee/var/log/edge-message-processor/ax..

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Especifica el espacio en disco, en megabytes, asignado para los archivos de estadísticas.

El valor predeterminado es 3072. Si superas el espacio en disco asignado para el archivos de datos de Analytics, el Message Processor deja de guardar este tipo de datos y escribe un mensaje de error a sus archivos de registro.

conf_analytics_analytics.uploadToCloud

Controla la ubicación final de los archivos de estadísticas.

  • false: los archivos se movieron a /opt/apigee/var/log/edge-message-processor/ax/staging
  • true (predeterminado): los archivos se mueven a /opt/apigee/var/log/edge-message-processor/ax/failed.

Nota: Aunque esta propiedad se llama uploadToCloud, no hay datos se sube a la nube. Todos los datos de estadísticas permanecen locales en tu instalación.

Para establecer estas propiedades, sigue estos pasos:

  1. Abre el archivo message-processor.properties en un editor. Si el archivo no existe, créalo:

    vi /opt/apigee/customer/application/message-processor.properties
  2. Configura las propiedades como desees:

    # 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. Guarda los cambios.
  4. Asegúrate de que el archivo de propiedades sea propiedad de “apigee” usuario:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Establece el valor de la propiedad consumer-type en ax para el axgroup-001 grupo de estadísticas:

    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

    De forma predeterminada, el nombre del grupo de estadísticas es axgroup-001. En el archivo de configuración de una Instalación perimetral, puedes establecer el nombre del grupo de estadísticas con la propiedad AXGROUP. Si no conoces los nombres del grupo de análisis, ejecuta el siguiente comando en el servidor de administración. para mostrarlo:

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

    Este comando muestra el nombre del grupo de estadísticas en el campo name.

  6. Reinicia el procesador de mensajes:

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

    Después del reinicio, Message Processor escribe datos de estadísticas en archivos de datos.

  7. Repite estos pasos para todos los procesadores de mensajes.