В целях организации мониторинга, в сервисах SFU и Audiohub реализован механизм предоставления метрик работы. Метрики — это количественные показатели, которые позволяют оценить качество работы сервисов и нагрузку на них.
В этой статье описаны метрики, которые могут помочь администратору построить локальный мониторинг гибридных медиа-сервисов DION.
Метрики предоставляются приложениями в формате prometheus, и получить их можно с помощью http-запроса к определенным endpoint'ам.
Адреса для обращений за метриками указаны в таблице. Поле <IP или FQDN>
требуется заменить на IP-адрес или FQDN сервера, на котором развернут сервис (media-сервер).
Сервис | Endpoint |
---|---|
SFU | http://<IP или FQDN>:8016/metrics |
Audiohub | http://<IP или FQDN>:8019/metrics |
Метрики в Prometheus имеют следующую структуру:
1. Имя метрики: Уникальное имя, которое идентифицирует метрику (например,active_cameras_count).
2. Лейблы (Labels): Ключ-значение пары, которые добавляют дополнительную информацию к метрике. Лейблы упрощают фильтрацию и агрегацию.
3. Значение: Числовое значение метрики, которое может быть целым или числом с плавающей точкой.
ID конференции генерируется при создании конференции и не меняется, в панели администрирования можно увидеть его в разделе Конференции, выбрав одну из уже созданных конференций:
ip-адрес пользователя, подключившегося к конференции. Увидеть его также можно в разделе Конференции, выбрав нужную конференцию (1). При нажатии на имя участника, справа появится информационная панель, где и будет отображен ip-адрес (2):
ID организации генерируется при создании организации в DION и не меняется. Выдается командой DION вместе с сертификатами перед начальным конфигурированием гибридных сервисов. Увидеть ID своей организации можно также в панели администрирования:
ID пользователя DION. Генерируется при создании пользователя и не меняется для конкретного пользователя. Увидеть его можно в панели администрирования в разделе "Пользователи", затем выбрав нужного пользователя:
ID сессии участника, значение уникальное, генерируется при каждом новом подключении, в административной панели ID сессий не отображаются.
Метрика | Лейблы | Значение |
---|---|---|
active_cameras_count{event_id="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Количество включённых камер в конференции. |
active_microphones_count{event_id="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Количество включённых микрофонов в конференции. |
screen_sharing_status{event_id="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции |
Индикатор запущенной демонстрации контента в конференции. Может принимать два значения: 1 – да, есть демонстрация, 0 – нет |
sfu_events_count{event_id="00000000-0000-0000-0000-000000000000",organization="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Количество участников в конференции. |
organization - ID организации | ||
sfu_jitter_audio_ms{event_id="00000000-0000-0000-0000-000000000000",remote_ip="0.0.0.0",session_id="00000000-0000-0000-0000-000000000000",user_id="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Задержка в передаче аудиопотока, исходящего от пользователя к медиасерверу, в данный момент времени в миллисекундах. |
remote_ip - адрес с которого участник подключился к SFU | ||
session_id = ID сессии участника, значение уникальное, генерируется при каждом новом подключении | ||
user_id - ID пользователя DION | ||
sfu_jitter_camera_ms{event_id="00000000-0000-0000-0000-000000000000",remote_ip="0.0.0.0",session_id="00000000-0000-0000-0000-000000000000",user_id="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Задержка в передаче видеопотока с камеры, исходящего от пользователя к медиасерверу, в данный момент времени в миллисекундах. |
remote_ip - адрес с которого участник подключился к SFU | ||
session_id = ID сессии участника, значение уникальное, генерируется при каждом новом подключении | ||
user_id - ID пользователя DION | ||
sfu_jitter_content_ms{event_id="00000000-0000-0000-0000-000000000000",remote_ip="0.0.0.0",session_id="00000000-0000-0000-0000-000000000000",user_id="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Задержка в передаче видеопотока демонстрации, исходящего от пользователя к медиасерверу, в данный момент времени в миллисекундах. |
remote_ip - адрес с которого участник подключился к SFU | ||
session_id = ID сессии участника, значение уникальное, генерируется при каждом новом подключении | ||
user_id - ID пользователя DION | ||
sfu_packet_loss_percent{event_id="00000000-0000-0000-0000-000000000000",remote_ip="0.0.0.0",session_id="00000000-0000-0000-0000-000000000000",user_id="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции |
Средний процент потерь в потоках (аудио, видео, шаринг), исходящих от клиента в данный момент времени.
|
remote_ip - адрес с которого участник подключился к SFU | ||
session_id = ID сессии участника, значение уникальное, генерируется при каждом новом подключении | ||
user_id - ID пользователя DION | ||
sfu_round_trip_time_audio_ms{event_id="00000000-0000-0000-0000-000000000000",remote_ip="0.0.0.0",session_id="00000000-0000-0000-0000-000000000000",user_id="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Время в миллисекундах, за которое пользователь получает исходящий с медиа-сервера UDP-трафик. |
remote_ip - адрес с которого участник подключился к SFU | ||
session_id = ID сессии участника, значение уникальное, генерируется при каждом новом подключении | ||
user_id - ID пользователя DION | ||
sfu_request_processing_time_ms_bucket |
Время выполнения GRPC запросов сервером в миллисекундах. Нормальным значением для 95-го перцентиля считается ≤1000мс, предельным значением считается <5000мс |
Метрика | Лейблы | Значение | |
---|---|---|---|
audiohub_events_count{event_id="00000000-0000-0000-0000-000000000000",organization="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Количество участников в конференции. | |
organization - ID организации | |||
audiohub_request_processing_time_ms_bucket |
Время выполнения GRPC запросов сервером в миллисекундах. Нормальным значением для 95-го перцентиля считается ≤1000мс, предельным значением считается <5000мс |
||
Audiohub_mic_online{event_id="00000000-0000-0000-0000-000000000000",organization="00000000-0000-0000-0000-000000000000"} | event_id - ID конференции | Количество включенных микрофонов в конференции. | |
organization - ID организации |