Scrittura di dati di analisi in un file

Per impostazione predefinita, i dati di analisi raccolti dal processore di messaggi vengono caricati in Qpid e Postgres per l'elaborazione. Potrai quindi visualizzare i dati di analisi nell'interfaccia utente Edge.

In alternativa, puoi configurare il processore di messaggi in modo che scriva su disco i dati di analisi. Successivamente, puoi caricare i dati nel tuo sistema di analisi per l'analisi. Ad esempio, puoi caricare i dati in Google Cloud BigQuery. Puoi quindi sfruttare le potenti funzionalità di query e machine learning offerte da BigQuery e TensorFlow per eseguire l'analisi dei dati.

Puoi anche scegliere di utilizzare entrambe le opzioni. Ciò significa che puoi caricare i dati di analisi in Qpid/Postgres e salvarli su disco.

Nomi e posizione dei file

Per impostazione predefinita, se abiliti la scrittura dei dati di analisi su file su disco, questi vengono scritti nella seguente directory:

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

Edge crea una nuova directory in /tmp per i file di dati, a intervalli di un minuto. Il formato del nome della directory è:

org~env~yyyyMMddhhmmss

Ad esempio:

myorg~prod~20190909163500
myorg~prod~20190909163600

Ogni directory contiene un file .gz con i singoli file di dati per quell'intervallo. Il formato del nome del file .gz è:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

A intervalli regolari, Edge sposta la directory e il file .gz che contiene da /tmp a una delle seguenti directory, in base all'impostazione della proprietà di configurazione del Processore di messaggi uploadToCloud:

  • uploadToCloud = false: file spostati in /opt/apigee/var/log/edge-message-processor/ax/staging
  • uploadToCloud = true: (impostazione predefinita): i file vengono spostati in /opt/apigee/var/log/edge-message-processor/ax/failed

Decomprimi i dati dalla directory /staging o /failed per ottenere i file di dati di analisi.

Proprietà di configurazione

Utilizza le seguenti proprietà per configurare il processore di messaggi in modo che scriva su disco i dati di analisi. Tutte le seguenti proprietà sono facoltative:

Proprietà Descrizione
conf_analytics_analytics.saveToDisk

Imposta su true per configurare il processore di messaggi in modo che scriva dati di analisi su file su disco.

Il valore predefinito è false.

conf_analytics_analytics.sendToQueue

Impostalo su true per configurare il processore di messaggi per caricare i dati in Qpid/Postgres. Impostalo su false per disattivare la scrittura dei dati di analisi in Qpid/Postgres.

Il valore predefinito è true.

conf_analytics_analytics.baseDataDirectoryPath

Specifica il percorso di base in cui vengono scritti i file di dati di analisi.

Il valore predefinito è /opt/apigee/var/log/edge-message-processor/ax.

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Specifica lo spazio su disco allocato per i file di analisi, in megabyte.

Il valore predefinito è 3072. Se superi lo spazio su disco allocato per i file di dati di analisi, il processore di messaggi smette di salvare i dati di analisi e scrive un messaggio di errore nei suoi file di log.

conf_analytics_analytics.uploadToCloud

Controlla la posizione finale dei file di analisi.

  • false: file spostati in /opt/apigee/var/log/edge-message-processor/ax/staging
  • true (impostazione predefinita): file spostati in /opt/apigee/var/log/edge-message-processor/ax/failed

Nota: anche se questa proprietà è denominata uploadToCloud, non vengono caricati dati nel cloud. Tutti i dati di analisi rimangono locali per la tua installazione.

Per impostare queste proprietà:

  1. Apri il file message-processor.properties in un editor. Se il file non esiste, crealo:

    vi /opt/apigee/customer/application/message-processor.properties
  2. Imposta le proprietà come preferisci:

    # 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. Salva le modifiche.
  4. Assicurati che il file delle proprietà sia di proprietà dell'utente "apigee":

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Imposta il valore della proprietà consumer-type su ax per il gruppo di analisi 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

    Per impostazione predefinita, il nome del gruppo di analisi è axgroup-001. Nel file di configurazione di un'installazione Edge, puoi impostare il nome del gruppo di analisi utilizzando la proprietà AXGROUP. Se hai dubbi in merito ai nomi del gruppo di analisi, esegui questo comando sul nodo del server di gestione per visualizzarlo:

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

    Questo comando restituisce il nome del gruppo di analisi nel campo name.

  6. Riavvia il processore di messaggi:

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

    Dopo il riavvio, il processore di messaggi scrive i dati di analisi nei file di dati.

  7. Ripeti questi passaggi per tutti i processori di messaggi.