Zapisywanie danych Analytics do pliku

Domyślnie dane analityczne zbierane przez procesor komunikatów są przesyłane do Qpid i Postgres w celu przetworzenia. Następnie możesz wyświetlić dane analityczne w interfejsie Edge.

Możesz też skonfigurować procesor komunikatów tak, aby zapisywał dane analityczne na dysku. Następnie możesz przesłać te dane do własnego systemu analitycznego, aby je przeanalizować. Możesz na przykład przesłać dane do Google Cloud BigQuery. Możesz potem korzystać z zaawansowanych funkcji BigQuery i TensorFlow do wykonywania zapytań i uczenia maszynowego, aby przeprowadzać własne analizy danych.

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

Nazwy i lokalizacja plików

Domyślnie, jeśli włączysz zapisywanie danych analitycznych w plikach na dysku, pliki są zapisywane w tym katalogu:

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

Edge tworzy nowy katalog w /tmp dla plików danych w odstępach jednominutowych. Format nazwy katalogu:

org~env~yyyyMMddhhmmss

Na przykład:

myorg~prod~20190909163500
myorg~prod~20190909163600

Każdy katalog zawiera plik .gz z poszczególnymi plikami danych z danego przedziału czasu. Format nazwy pliku .gz to:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

W regularnych odstępach czasu Edge przenosi katalog i zawarty w nim plik .gz z /tmp do jednego z tych katalogów, w zależności od ustawienia właściwości konfiguracji procesora komunikatów uploadToCloud:

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

Rozpakuj dane z katalogu /staging lub /failed, aby uzyskać pliki danych analitycznych.

Właściwości konfiguracji

Aby skonfigurować procesor komunikatów do zapisywania danych analitycznych na dysku, użyj tych właściwości. Wszystkie te właściwości są opcjonalne:

Właściwość Opis
conf_analytics_analytics.saveToDisk

Ustaw wartość true, aby skonfigurować procesor komunikatów do zapisywania danych analitycznych w plikach na dysku.

Wartością domyślną jest false.

conf_analytics_analytics.sendToQueue

Ustaw wartość true, aby skonfigurować procesor komunikatów do przesyłania danych do Qpid/Postgres. Ustaw wartość false, aby wyłączyć zapisywanie danych analitycznych w Qpid/Postgres.

Wartością domyślną jest true.

conf_analytics_analytics.baseDataDirectoryPath

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

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

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Określa ilość miejsca na dysku (w megabajtach) przeznaczonego na pliki statystyk.

Wartością domyślną jest 3072. Jeśli przekroczysz przydzielone miejsce na dysku na pliki danych analitycznych, procesor komunikatów przestanie zapisywać dane analityczne i zapisze komunikat o błędzie w plikach dziennika.

conf_analytics_analytics.uploadToCloud

Określa ostateczną lokalizację plików statystyk.

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

Uwaga: mimo że ta właściwość nazywa się uploadToCloud, żadne dane nie są przesyłane do chmury. Wszystkie dane analityczne pozostają lokalne dla Twojej 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 zgodnie z potrzebami:

    # 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 analitycznej 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 analitycznej to axgroup-001. W pliku konfiguracji instalacji Edge możesz ustawić nazwę grupy analitycznej za pomocą właściwości AXGROUP. Jeśli nie masz pewności, jak nazywa się grupa analityczna, uruchom to polecenie w węźle serwera zarządzania, aby wyświetlić nazwę:

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

    To polecenie zwraca nazwę grupy analitycznej w polu name.

  6. Ponownie uruchom procesor komunikatów:

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

    Po ponownym uruchomieniu procesor komunikatów zapisuje dane analityczne w plikach danych.

  7. Powtórz te czynności w przypadku wszystkich procesorów komunikatów.