Интеграция Astra с InfluxDB

InfluxDB - это база данных временных рядов с открытым исходным кодом.

Установка

Загрузите последнюю версию с сайта

  1. Перейти на сайт InfluxDB: https://portal.influxdata.com/downloads/
  2. Выберите последнюю версию
  3. Выбор платформы
  4. Запуск команд из инструкции на сайте InfluxDB

Более подробную информацию можно получить на официальном сайте: https://docs.influxdata.com/influxdb/latest/.

InfluxDB - это база данных временных рядов с открытым исходным кодом.

Конфигурация InfluxDB

Откройте интерфейс InfluxDB Admin по адресу http://db-server:8086.

Сначала создайте новый бакет. Ведро служит для хранения всех данных, полученных от Astra. Ведра можно найти на левой боковой панели в группе "Load Data". Чтобы создать новый бакет, выполните следующие действия:

  1. Нажмите Create Bucket
  2. Задайте имя ведра, например, astra
  3. Установить срок хранения данных: в Delete Data выберите раздел Older than и выберите 30 дней или любое другое значение, которое вы предпочитаете.

Следующим шагом будет предоставление Astra доступа к ведру. В левой боковой панели под Load Data группа, открытая API Tokens:

  1. Нажмите Generate API Token и выбрать Custom API Token.
  2. Задайте описание токена в виде astra
  3. В группе Bucket установите разрешения на чтение и запись для группы astra ведро.
  4. Нажмите Generate

Теперь InfluxDB настроена и готова к приему данных.

Конфигурация Astra

Откройте Settings -> General в веб-интерфейсе Astra. Установите параметры конфигурации InfluxDB:

  • Instance Name - по умолчанию является astra будет использоваться в качестве bucket в InfluxDB
  • InfluxDB Address - адрес InfluxDB: http://db-server:8086
  • InfluxDB Organization - вашей организации в настройках InfluxDB
  • InfluxDB Token - вставьте свой токен, созданный на предыдущем шаге
  • Нажмите кнопку "Применить и перезапустить"

Структура данных InfluxDB

Поток

Измерения: stream

Теги:

  • id - уникальный идентификатор потока
  • name - название потока

Данные:

  • active - true если поток активен, или false если поток работает по требованию и неактивен
  • onair - true если активный вход работает без ошибок
  • sessions - uint, количество сеансов
  • bitrate - uint, битрейт потока в КБит/с
  • sc_error - uint, процент скремблированных TS-пакетов
  • cc_error - uint, Счетчик ошибок CC
  • pes_error - uint, процент недействительных PES-пакетов
  • sync_error - uint, Ошибки синхронизации HTTP/HLS

Адаптер

Измерения: adapter

Теги:

  • id - уникальный идентификатор адаптера
  • name - имя адаптера

Данные:

  • lock - булево, true если тюнер заблокирован и может принимать данные
  • signal - uint, приблизительный уровень сигнала в процентах
  • signal_db - float, уровень сигнала в дБм
  • snr - uint, приблизительное отношение сигнал/шум в процентах
  • snr_db - float, отношение сигнал/шум в дБ
  • ber - uint, счетчик битовых ошибок
  • unc - uint, счетчик ошибок блока
  • bitrate - общий битрейт в Кбит/с

Системная информация

Измерения: sysinfo

Данные:

  • la1 - плавающий, среднее значение нагрузки за 1 минуту
  • la5 - плавающий, среднее значение нагрузки за 5 минут
  • la15 - плавающий, средняя нагрузка за 15 минут
  • threads - uint, количество потоков
  • sys_cpu - uint, общее использование процессора. Может составлять до: 100, умноженное на количество ядер на всех процессорах.
  • app_cpu - uint, использование процессора процессом и всеми потоками
  • sys_mem - uint, общее использование оперативной памяти
  • app_mem - uint, использование оперативной памяти процессом и всеми потоками
  • app_mem_kb - uint, использование оперативной памяти процессом и всеми потоками в килобайтах
  • sys_uptime - uint, общее время работы системы в секундах
  • app_uptime - uint, время работы процесса в секундах