Influx - БД временных рядов с открытым исходным кодом.
Установка БД Influx
Для того, чтобы установить Influx на CentOS 7, необходимо сделать следующее:
1. Создать файл /etc/yum.repos.d/influxdb.repo:
[influxdb] name = InfluxDB Repository - RHEL $releasever baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key
2. Выполнить команду
yum install influxdb -y
3. Настроить в файле /etc/influxdb/influxdb.conf возможность подключения по UDP:
[[udp]] enabled = true bind-address = ":8089" database = "wcs_oam" retention-policy = "default"
4. Запустить БД Influx
systemctl start influxdb
Процедура установки Influx на Debian/Ubuntu отличается только способом добавления необходимого репозитория.
БД Influx может быть установлена на одном сервере с WCS. Для подключения к БД используется TCP порт 8086 или UDP порт 8089.
Настройка БД
Для настройки БД Influx для хранения метрик необходимо:
1. Указать в файле настроек wcsoam.properties параметр
metric_store=influx
2. Указать в файле настроек init_tsdb.properties длительность хранения метрик
influx_retention_interval=48h0m0s
По умолчанию, длительность хранения метрик установлена в 2 суток (48 часов).
3. Запустить скрипт настройки БД
./init_tsdb.sh
Структура БД
База данных для хранения значений метрик потоков в виде временных рядов содержит поля со следующими ключами:
VIDEO_HEIGHT VIDEO_WIDTH VIDEO_RATE VIDEO_SYNC VIDEO_FPS VIDEO_NACK VIDEO_PLI VIDEO_CODEC AUDIO_SYNC AUDIO_RATE AUDIO_LOST AUDIO_CODEC
Примеры выборки данных из БД Influx
Для потока, зная идентификатор узла, на котором он опубликован, и идентификатор медиасессии, можно выбрать данные из БД Influx:
1. Войдите в интерфейс командной строки Influx
influx
2. Подключитесь к БД wcs-oam
use wcs_oam
3. Выведите список временных рядов
show measurements
Отобразится список временных рядов, каждый соответствует потоку, опубликованному на заданном узле в определенной медиасессии
name: measurements name ---- 3-7ecbd270-123e-11e9-bb40-b96debd59887 3-93412000-123b-11e9-8357-3d4423e30d73
4. Выберите значения битрейта видео для потока на узле 3 в медиасессии 7ecbd270-123e-11e9-bb40-b96debd59887
select VIDEO_RATE from "3-7ecbd270-123e-11e9-bb40-b96debd59887"
Отобразятся значения битрейта видео с метками времени
name: 3-7ecbd270-123e-11e9-bb40-b96debd59887 time VIDEO_RATE ---- ---------- 1546839525823000000 28424000 1546839525960000000 1002914 1546839526169000000 727679 1546839526358000000 662007 1546839526575000000 645467 1546839526770000000 633490 1546839526967000000 583736 1546839527162000000 622472 1546839527365000000 593104 1546839527563000000 666688 1546839527796000000 638784 1546839527999000000 637000 1546839528192000000 647208 1546839528772000000 421640 1546839528775000000 587632 1546839528805000000 740064 1546839529031000000 753504 1546839529232000000 767672 1546839529431000000 931088 1546839529643000000 1090696 1546839529840000000 772440 1546839530028000000 755744 1546839530242000000 812624 1546839530429000000 867240 1546839530630000000 878008 1546839530833000000 873528 1546839531031000000 850352 ...