Zapisywanie danych Analytics do pliku

Domyślnie dane analityczne zbierane przez procesor wiadomości są przesyłane do Qpid i Postgres w celu przetworzenia. Dane analityczne możesz wyświetlać w interfejsie Edge.

Możesz też skonfigurować procesor wiadomości tak, aby zapisywał dane analityczne na dysku. Następnie możesz przesłać te dane do analizy w swoim systemie analitycznym. Można na przykład przesłać dane do Google Cloud BigQuery. Dzięki temu możesz przeprowadzać własne analizy danych za pomocą zaawansowanych funkcji zapytań i systemów uczących się dostępnych w BigQuery i TensorFlow.

Możesz też użyć obu opcji. Oznacza to, że można przesłać dane analityczne do Qpid/Postgres oraz zapisać je na dysku.

Nazwy i lokalizacja plików

Domyślnie, jeśli włączysz zapisywanie danych Analytics w plikach na dysku, pliki będą zapisywane w tym katalogu:

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

Edge tworzy nowy katalog na pliki danych w sekcji /tmp w jednominutowych odstępach. Nazwa katalogu ma format:

org~env~yyyyMMddhhmmss

Na przykład:

myorg~prod~20190909163500
myorg~prod~20190909163600

Każdy katalog zawiera plik .gz z plikami danych z określonego przedziału czasu. Nazwa pliku .gz ma format:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

W regularnych odstępach czasu Edge przenosi katalog i zawarty w nim plik .gz z katalogu /tmp do jednego z następujących katalogów, zgodnie z ustawieniem właściwości konfiguracji procesora wiadomości uploadToCloud:

  • uploadToCloud = false: pliki przeniesione do usługi /opt/apigee/var/log/edge-message-processor/ax/staging
  • uploadToCloud = true: (domyślnie): pliki są przenoszone do /opt/apigee/var/log/edge-message-processor/ax/failed

Aby uzyskać pliki danych Analytics, rozpakuj dane z katalogu /staging lub /failed.

Właściwości konfiguracji

Użyj poniższych właściwości, aby skonfigurować procesor wiadomości do zapisywania danych Analytics na dysku. Wszystkie te właściwości są opcjonalne:

Właściwość Opis
conf_analytics_analytics.saveToDisk

Ustaw jako true, aby skonfigurować procesor wiadomości do zapisywania danych analitycznych w plikach na dysku.

Wartością domyślną jest false.

conf_analytics_analytics.sendToQueue

Ustaw wartość true, aby skonfigurować przesyłanie danych przez procesor wiadomości do Qpid/Postgres. Ustaw jako false, aby wyłączyć zapisywanie danych analitycznych w Qpid/Postgres.

Wartością domyślną jest true.

conf_analytics_analytics.baseDataDirectoryPath

Określa ścieżkę bazową, w której zapisywane są pliki danych Analytics.

Wartością domyślną jest /opt/apigee/var/log/edge-message-processor/ax..

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Określa miejsce na dysku (w megabajtach) przeznaczone na pliki analityczne.

Wartością domyślną jest 3072. Jeśli przekroczysz ilość miejsca na dysku przydzieloną na pliki danych analitycznych, procesor wiadomości przestanie zapisywać dane analityczne i zapisze komunikat o błędzie w swoich plikach logu.

conf_analytics_analytics.uploadToCloud

Kontroluje końcową lokalizację plików Analytics.

  • false: pliki przeniesione do usługi /opt/apigee/var/log/edge-message-processor/ax/staging
  • true (domyślnie): pliki są przenoszone do usługi /opt/apigee/var/log/edge-message-processor/ax/failed

Uwaga: mimo że ta usługa nazywa się uploadToCloud, żadne dane nie są przesyłane do chmury. Wszystkie dane analityczne pozostają dostępne lokalnie w przypadku instalacji.

Aby ustawić te właściwości:

  1. Otwórz plik message-processor.properties w edytorze. Jeśli plik nie istnieje, utwórz go:

    vi /opt/apigee/customer/application/message-processor.properties
  2. Ustaw właściwości:

    # 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. Zapisz zmiany.
  4. Upewnij się, że plik właściwości należy do użytkownika „apigee”:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Ustaw wartość właściwości consumer-type na ax dla grupy analityki 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

    Domyślnie nazwa grupy w statystykach to axgroup-001. W pliku konfiguracyjnym instalacji Edge możesz ustawić nazwę grupy Analytics za pomocą właściwości AXGROUP. Jeśli nie masz pewności co do nazw grupy analitycznej, uruchom to polecenie w węźle serwera zarządzania, aby ją wyświetlić:

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

    To polecenie zwraca nazwę grupy Analytics w polu name.

  6. Ponownie uruchom procesor wiadomości:

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

    Po ponownym uruchomieniu procesor wiadomości zapisuje dane analityczne w plikach danych.

  7. Powtórz te kroki dla wszystkich procesorów wiadomości.