Écrire des données d'analyse dans un fichier

Par défaut, les données d'analyse collectées par le processeur de messages sont importées dans Qpid et Postgres pour traitement. Vous pouvez ensuite afficher les données d'analyse dans l'interface utilisateur Edge.

Vous pouvez également configurer le processeur de messages pour qu'il écrive les données d'analyse sur le disque. Vous pourrez ensuite importer ces données dans votre propre système d'analyse. Par exemple, vous pouvez importer les données dans Google Cloud BigQuery. Vous pouvez ensuite exploiter les puissantes fonctionnalités de requêtes et de machine learning offertes par BigQuery et TensorFlow pour effectuer votre propre analyse de données.

Vous pouvez également choisir d'utiliser les deux options. Cela signifie que vous pouvez importer les données d'analyse dans Qpid/Postgres et les enregistrer sur le disque.

Noms et emplacements des fichiers

Par défaut, si vous activez l'écriture des données d'analyse dans des fichiers sur disque, les fichiers sont écrits dans le répertoire suivant :

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

Edge crée un répertoire sous /tmp pour les fichiers de données, à intervalles d'une minute. Le format du nom du répertoire est le suivant :

org~env~yyyyMMddhhmmss

Exemple :

myorg~prod~20190909163500
myorg~prod~20190909163600

Chaque répertoire contient un fichier .gz avec les fichiers de données individuels pour cet intervalle. Le format du nom du fichier .gz est le suivant :

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

À intervalles réguliers, Edge déplace le répertoire et le fichier .gz qu'il contient de /tmp vers l'un des répertoires suivants, en fonction du paramètre de la propriété de configuration du processeur de messages uploadToCloud :

  • uploadToCloud = false : fichiers déplacés dans /opt/apigee/var/log/edge-message-processor/ax/staging
  • uploadToCloud = true: (par défaut) : les fichiers sont déplacés vers /opt/apigee/var/log/edge-message-processor/ax/failed.

Décompressez les données du répertoire /staging ou /failed pour obtenir les fichiers de données d'analyse.

Propriétés de configuration

Utilisez les propriétés suivantes pour configurer le processeur de messages afin d'écrire des données d'analyse sur le disque. Toutes ces propriétés sont facultatives :

Propriété Description
conf_analytics_analytics.saveToDisk

Définissez cette option sur true pour configurer le processeur de messages afin qu'il écrive les données d'analyse dans des fichiers sur disque.

La valeur par défaut est false.

conf_analytics_analytics.sendToQueue

Définissez cette option sur true pour configurer le processeur de messages afin qu'il importe les données dans Qpid/Postgres. Définissez la valeur sur false pour désactiver l'écriture des données d'analyse dans Qpid/Postgres.

La valeur par défaut est true.

conf_analytics_analytics.baseDataDirectoryPath

Spécifie le chemin d'accès de base où les fichiers de données d'analyse sont écrits.

La valeur par défaut est /opt/apigee/var/log/edge-message-processor/ax..

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Spécifie l'espace disque, en mégaoctets, alloué aux fichiers d'analyse.

La valeur par défaut est 3072. Si vous dépassez l'espace disque alloué aux fichiers de données d'analyse, le processeur de messages cesse d'enregistrer les données d'analyse et écrit un message d'erreur dans ses fichiers journaux.

conf_analytics_analytics.uploadToCloud

Contrôle l'emplacement final des fichiers d'analyse.

  • false : fichiers déplacés dans /opt/apigee/var/log/edge-message-processor/ax/staging
  • true (par défaut) : les fichiers sont déplacés vers /opt/apigee/var/log/edge-message-processor/ax/failed.

Remarque : Même si cette propriété s'appelle uploadToCloud, aucune donnée n'est importée dans le cloud. Toutes les données d'analyse restent locales à votre installation.

Pour définir ces propriétés :

  1. Ouvrez le fichier message-processor.properties dans un éditeur. Si le fichier n'existe pas, créez-le :

    vi /opt/apigee/customer/application/message-processor.properties
  2. Définissez les propriétés de votre choix :

    # 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. Enregistrez les modifications.
  4. Assurez-vous que le fichier de propriétés appartient à l'utilisateur "apigee" :

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Définissez la valeur de la propriété consumer-type sur ax pour le groupe d'analyse 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

    Par défaut, le nom du groupe d'analyse est axgroup-001. Dans le fichier de configuration d'une installation Edge, vous pouvez définir le nom du groupe d'analyse à l'aide de la propriété AXGROUP. Si vous n'êtes pas sûr des noms du groupe d'analyse, exécutez la commande suivante sur le nœud du serveur de gestion pour l'afficher :

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

    Cette commande renvoie le nom du groupe d'analyse dans le champ name.

  6. Redémarrez le processeur de messages :

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

    Après le redémarrage, le processeur de messages écrit les données d'analyse dans des fichiers de données.

  7. Répétez ces étapes pour tous les processeurs de messages.