Мониторинг Flussonic с помощью Prometheus
Во Flussonic есть возможность мониторинга и сбора данных серверов с помощью Prometheus. Ранее это было возможно только через SNMP, парсинг файлов JSON либо же графиков на вкладке Pulse в веб-интерфейсе Flussonic UI.
Что такое Prometheus?
Prometheus – это система мониторинга и сбора аналитики с открытым исходным кодом. Хранение значений метрик реализовано на базе данных временных рядов, где каждому моменту времени соответствует пара "ключ (т.е. имя метрики) - значение" метрики в этот момент. Таким образом осуществляется быстрый и эффективный доступ к данным.
Для визуализации данных метрик Prometheus интегрируется с Grafana.
Почему именно Prometheus?
- быстрый и эффективный доступ к данным;
- возможность отправлять уведомления в любые современные мессенджеры и сервисы (все от SMPT до Slack и т.д.), а также по email, так что Вы можете определить наиболее удобный для себя и подходящий Вам метод оповещения;
- возможность отображения данных группы серверов на одном дашборде, что весьма удобно для отслеживания состояния нескольких серверов;
- осуществляет хранение метрик на протяжении некоторого времени, что позволяет Вам отслеживать состояние сервера или серверов в динамике;
- позволяет отслеживать состояние не только целого сервера, но и его отдельных потоков.
Получение данных метрик из Flussonic
В данном параграфе мы рассмотрим каким образом можно посмотреть данные метрик из Flussonic.
Нужно пройти всего лишь несколько простых шагов:
Шаг 1.
Сначала скачайте Prometheus для своей платформы и установите его. Используйте эту инструкцию для корректной установки и запуска. Если Prometheus уже установлен на вашей платформе, тогда пропустите этот шаг.
Шаг 2.
Настройте Prometheus с помощью конфигурационного файла prometheus.yml
, добавив в него следующие строки:
scrape_configs:
- job_name: 'myflussonic'
metrics_path: /flussonic/api/metrics
basic_auth:
username: 'flussonic'
password: 'password'
static_configs:
- targets: ['FLUSSONIC-IP:80']
Параметры:
job_name
— название процесса;matrics_path
— путь до метрик, рассчитываемых Flussonic;username
— Ваш логин как во Flussonic;password
— Ваш пароль как во Flussonic;targets
— список URL серверов, которые Вы хотите отслеживать.
Шаг 3.
Добавьте дашборд в Grafana, перейдя по ссылке.
Какие метрики Вы можете отслеживать?
Ниже приведены метрики, которые используются Flussonic для отслеживания состояний серверов и потоков. Есть метрики как для отслеживания данных сервера, так и отдельного потока.
Метрики сервера
Метрика | Единица измерения | Описание |
---|---|---|
flussonic_version_info | - | Текущая версия Flussonic |
flussonic_boot_time_seconds | с (Unix-время) | Время загрузки Flussonic |
flussonic_memory_usage | % | Использование памяти |
flussonic_clients | - | Число клиентов сервера |
flussonic_streams | - | Число потоков на сервере |
flussonic_opened_files | - | Число открытых файлов сервера на данный момент |
flussonic_scheduler_load | - | Загрузка планировщика процессов Erlang |
flussonic_cpu_usage | % | Расход CPU |
flussonic_disk_size | байты | Размер диска |
flussonic_disk_usage | % | Расход диска |
flussonic_disk_io_usage | % | Расход Disk I/O |
flussonic_net_input_bytes | байты | Network interface input |
flussonic_net_output_bytes | байты | Network interface output |
flussonic_dvb_card_strength | - | Качество сигнала с DVB-платы |
flussonic_gpu_dec | % | Расход декодера GPU |
flussonic_gpu_enc | % | Расход энкодера GPU |
flussonic_gpu_temp | °C (в градусах Цельсия) | Температура GPU |
Метрики потока
Метрика | Единица измерения | Описание |
---|---|---|
flussonic_stream_client_delay | мс | Клиентская задержка |
flussonic_stream_bytes_in | байт | Общее кол-во байт на входе |
flussonic_stream_bytes_out | байт | Общее кол-во байт на выходе, равное кол-ву пакетов, умноженному на 188. |
flussonic_stream_bitrate | кбит/с | Текущий битрейт |
flussonic_stream_start_running_at | мс | Время, прошедшее с запуска потока |
flussonic_stream_retry_count | - | Число попыток подключения сервером |
flussonic_stream_client_count | - | Число клиентов потока |
flussonic_stream_dvr_info_disk_size | байт | Размер диска DVR |
flussonic_stream_dvr_info_depth | с | Глубина DVR |
flussonic_stream_dvr_info_duration | с | Продолжительность DVR |
flussonic_cbr_mpegts_trimmed | байт | Кол-во отброшенных единиц информации, рассчитанное для муксера (muxer) MPEG-TS. |
flussonic_bytes_out | байт | Кол-во байт на выходе. Рассчитывается отдельно для полезной нагрузки (payload), разных способов заполнения (stuffing и fillers). |
Теперь Вы можете отслеживать состояние вашего сервера Flussonic или групп серверов так же как и отдельных потоков с помощью Prometheus и Grafana.