Модуль аналитики

Модуль аналитики – программный продукт, который позволяет обнаруживать всплески значений измеряемых метрик и прогнозировать значения метрик через указанный временной интервал. Каждое правило формирования данных состоит из условий (conditions), при выполнении которых к данным применяются действия (actions).

Запуск модуля аналитики в Центральном Пульте, установленном через ISO-образ

По умолчанию модуль аналитики, используемый для прогнозирования и определения всплесков, не включен в ISO-образ Центрального Пульта. Чтобы установить модуль аналитики, необходимо:

  1. Скачать скрипт analytics-create-and-run.sh и разместить его в файловой системе на виртуальной машине, где установлен ISO-образ Центрального Пульта.

  2. Запустить скрипт командой

    $ sudo ANALYTICS_BRANCH=x.y.z ./analytics-create-and-run.sh
    x.y.z - версия модуля аналитики, совместимая с вашей версией Центрального Пульта.

    Проверить, что контейнер saymon-analytics запустился и работает, можно с помощью команды

    $ docker ps -a

Подключение модуля аналитики к Центральному Пульту в конфигурационных файлах

Чтобы подключить модуль аналитики, потребуется внести изменения в конфигурацию Центрального Пульта:

  1. В раздел Server конфигурационного файла сервера /etc/saymon/saymon-server.conf добавить следующие параметры:

      "server": {
        "analytics_enabled": true, # включает аналитику метрик в процесс обработки данных в системе
        "analytics_processes": 2 # количество логических ядер, выделяемых для обработки аналитики (по умолчанию используются все доступные ядра системы),
        ...
      }
  2. В конфигурационном файле клиента /etc/saymon/saymon-client.yaml установить параметру enableAnalytics значение true:

    enableAnalytics: true
  3. Перезапустить сервер Центрального Пульта:

    $ service saymon-server restart

Мониторинг работы модуля аналитики

Чтобы мониторить работу модуля аналитики, можно использовать логи контейнера saymon-analytics. Для этого необходимо:

  1. Подключиться к контейнеру командой

    $ docker exec -ti saymon-analytics bash
  2. Открыть файл логов модуля командой

    $ tail -f /opt/analytics/analytics.log

В логах модуля содержится информация о

  • настройках, с которыми запущен модуль (слушающий сокет и количество задействованных в пуле обработчика процессов),

  • обрабатываемых метриках,

  • результатах обработки метрик,

  • ошибках, возникающих в процессе работы модуля.

Производительность модуля аналитики

Аналитика по каждому из объектов выполняется в отдельном потоке вычислений с использованием одного логического ядра системы. Все значения метрик по одному и тому же объекту обрабатываются последовательно, что позволяет обеспечивать последовательное обновление прогнозной модели в соответствии с порядком поступления данных. Как правило, производительность современных процессоров позволяет обрабатывать каждое поступающее значение в реальном времени с максимальной частотой в одно значение метрики в секунду. Однако на перегретых или перегруженных машинах производительность ядер может падать и приводить к накоплению задач для модуля аналитики и увеличению времени реакции системы на новые данные. Для увеличения быстродействия системы в задачах с высокой частотой получения метрик рекомендуется выделять по одному логическому ядру на каждый объект с аналитикой. При наличии дополнительных ядер система также может использовать их для препроцессинга задач аналитики, поскольку блокировка на прогнозной модели занимает лишь часть от общего времени обработки задачи по аналитике.