Запись данных аналитики в файл

По умолчанию данные аналитики, собранные Message Processor, загружаются в Qpid и Postgres для обработки. После этого вы сможете просматривать данные аналитики в интерфейсе Edge.

Вы также можете настроить Message Processor для записи данных аналитики на диск. Затем вы можете загрузить эти данные в свою систему аналитики для анализа. Например, вы можете загрузить данные в Google Cloud BigQuery. Затем вы можете использовать мощные возможности запросов и машинного обучения, предлагаемые BigQuery и TensorFlow, для выполнения собственного анализа данных.

Вы также можете выбрать оба варианта. Это означает, что вы можете загрузить данные аналитики в Qpid/Postgres, а также сохранить их на диск.

Названия и местоположение файлов

По умолчанию, если вы включите запись данных аналитики в файлы на диске, файлы будут записываться в следующий каталог:

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

Edge создает новый каталог в /tmp для файлов данных с интервалом в одну минуту. Формат названия каталога:

org~env~yyyyMMddhhmmss

Пример:

myorg~prod~20190909163500
myorg~prod~20190909163600

В каждом каталоге есть файл GZ с отдельными файлами данных за этот интервал. Название файла GZ имеет следующий формат:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

Через регулярные интервалы Edge перемещает каталог и содержащийся в нем файл GZ из /tmp в один из следующих каталогов в зависимости от настройки свойства конфигурации Message Processor uploadToCloud:

  • uploadToCloud = false: файлы перемещены в папку "/opt/apigee/var/log/edge-message-processor/ax/staging".
  • uploadToCloud = true: (по умолчанию) – файлы перемещаются в /opt/apigee/var/log/edge-message-processor/ax/failed.

Распакуйте данные из каталога /staging или /failed, чтобы получить файлы с данными аналитики.

Свойства конфигурации

Чтобы настроить Message Processor для записи данных аналитики на диск, используйте следующие свойства. Все эти свойства необязательны:

Свойство Описание
conf_analytics_analytics.saveToDisk

Установите значение true, чтобы настроить Message Processor для записи данных аналитики в файлы на диске.

Значение по умолчанию: false.

conf_analytics_analytics.sendToQueue

Установите значение true, чтобы настроить загрузку данных в Qpid/Postgres с помощью Message Processor. Установите значение false, чтобы отключить запись данных аналитики в Qpid/Postgres.

Значение по умолчанию: true.

conf_analytics_analytics.baseDataDirectoryPath

Указывает базовый путь, по которому записываются файлы данных аналитики.

Значение по умолчанию – /opt/apigee/var/log/edge-message-processor/ax..

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Указывает объем места на диске в мегабайтах, выделенный для файлов аналитики.

Значение по умолчанию: 3072. Если вы превысите выделенное место на диске для файлов данных аналитики, Message Processor прекратит сохранять данные аналитики и запишет сообщение об ошибке в свои файлы журнала.

conf_analytics_analytics.uploadToCloud

Определяет, где будут храниться файлы аналитики.

  • false: файлы перемещены в папку "/opt/apigee/var/log/edge-message-processor/ax/staging"
  • true (по умолчанию): файлы перемещаются в /opt/apigee/var/log/edge-message-processor/ax/failed.

Примечание. Несмотря на то что свойство называется uploadToCloud, данные не загружаются в облако. Все аналитические данные хранятся локально.

Чтобы задать эти свойства, выполните следующие действия:

  1. Откройте файл message-processor.properties в редакторе. Если файла нет, создайте его:

    vi /opt/apigee/customer/application/message-processor.properties
  2. Задайте нужные свойства:

    # 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. Сохраните изменения.
  4. Убедитесь, что файл свойств принадлежит пользователю apigee:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Задайте для свойства consumer-type значение ax в группе аналитики 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

    По умолчанию группа аналитики называется axgroup-001. В файле конфигурации для установки Edge можно задать название группы аналитики с помощью свойства AXGROUP. Если вы не знаете название группы аналитики, выполните на узле сервера управления следующую команду:

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

    Эта команда возвращает название группы аналитики в поле name.

  6. Перезапустите Message Processor:

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

    После перезапуска Message Processor записывает данные аналитики в файлы данных.

  7. Повторите эти шаги для всех процессоров сообщений.