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 datos de estadísticas en el disco. Luego, puedes cargar esos datos a tu propio sistema de análisis para analizarlos. Por ejemplo, podrías subir los datos a Google Cloud BigQuery. Así, puedes aprovechar las capacidades potentes de las consultas y el aprendizaje automático que ofrecen BigQuery y TensorFlow para realizar tu propio análisis de datos.

También puedes usar ambas opciones. Esto significa que puedes subir los datos de estadísticas a Qpid/Postgres y guardarlos 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, los archivos 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 del nombre de archivo .gz es el siguiente:

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 la propiedad uploadToCloud de configuración de Message Processor:

  • uploadToCloud = false: Archivos que 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 estadísticas.

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

Configúralo en true para configurar Message Processor a fin de escribir datos de estadísticas en archivos de disco.

El valor predeterminado es false.

conf_analytics_analytics.sendToQueue

Configúralo en true para configurar que Message Processor 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 excedes el espacio en disco asignado para los archivos de datos de estadísticas, Message Processor deja de guardar estos datos y escribe un mensaje de error en sus archivos de registro.

conf_analytics_analytics.uploadToCloud

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

  • false: Archivos que 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 se suben datos a la nube. Todos los datos de estadísticas permanecen locales en tu instalación.

Para configurar 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 del usuario de "apigee":

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Establece el valor de la propiedad consumer-type en ax para el grupo de estadísticas 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

    De forma predeterminada, el nombre del grupo de estadísticas es axgroup-001. En el archivo de configuración de una instalación de Edge, puedes establecer el nombre del grupo de estadísticas con la propiedad AXGROUP. Si no estás seguro de los nombres de los grupos de estadísticas, ejecuta el siguiente comando en el nodo del 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 Message Processor:

    /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.