É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 être traitées. Vous pouvez ensuite afficher les données d'analyse dans l'interface utilisateur Edge.

Vous pouvez également configurer le processeur de messages pour écrire les données d'analyse sur le disque. Ensuite, vous pouvez charger ces données dans votre propre système d'analyse pour les analyser. Par exemple, vous pouvez importer les données dans Google Cloud BigQuery. Vous pouvez ensuite exploiter les puissantes fonctionnalités de requête 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 vers Qpid/Postgres et les enregistrer sur le disque.

Noms et emplacement des fichiers

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

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

Edge crée un nouveau répertoire sous /tmp pour les fichiers de données, à des 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 de 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 vers /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 qu'il écrive les données d'analyse sur le disque. Toutes ces propriétés sont facultatives:

Propriété Description
conf_analytics_analytics.saveToDisk

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

La valeur par défaut est false.

conf_analytics_analytics.sendToQueue

Définissez la valeur sur true pour configurer le processeur de messages pour importer les données vers 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

Indique 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

Indique l'espace disque, en mégaoctets, alloué pour les fichiers d'analyse.

La valeur par défaut est 3072. Si vous dépassez l'espace disque alloué pour les fichiers de données d'analyse, le processeur de messages cesse d'enregistrer ces données 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 vers /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 sont conservées en local dans 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 comme vous le souhaitez:

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