É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 chargé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 écrire des données d'analyse sur le disque. Ensuite, vous pouvez télécharger ces données dans votre propre système d'analyse pour les analyser. Par exemple, vous pouvez importer les données vers Google Cloud BigQuery. Vous pouvez ainsi profiter de la puissance des requêtes et du machine learning de 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 Qpid/Postgres et enregistrer les données sur le disque.

Noms et emplacement des fichiers

Par défaut, si vous activez l'écriture de données d'analyse dans des fichiers disque, les fichiers sont écrits sur 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 contenant les fichiers de données individuels pour cet intervalle. Le format de Le nom du fichier .gz est:

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 à partir de /tmp vers l'un des répertoires suivants, en fonction du paramétrage de uploadToCloud Propriété de configuration du processeur de messages:

  • 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 des 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 afin d'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

Spécifie le chemin 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é pour le 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 est importée dans le cloud. Toutes les données d'analyse restent stockées localement 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 à "apigee" utilisateur:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Définissez la valeur de la propriété consumer-type sur ax pour la Groupe d'analyses 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 Installation en périphérie, 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 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.