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

Grafana - это веб-приложение с открытым исходным кодом для аналитики и интерактивной визуализации. Оно работает в паре с InfluxDB для визуализации состояния Astra, потока и адаптеров.

Установка

Перед установкой Grafana убедитесь, что InfluxDB установлена и настроена: Читать далее...

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

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

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

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

  1. Откройте интерфейс администратора Grafana: http://grafana-server:3000
  2. На странице входа в систему введите admin для ввода имени пользователя и пароля
  3. Установить новый пароль

Добавление источника данных

Откройте Settings -> Data Sources и нажмите кнопку "Append data source", выберите InfluxDB и установите следующие параметры:

  • Название: Astra или любой другой
  • Язык запросов: Flux
  • HTTP URL: http://db-server:8086
  • Выключить Basic auth
  • Организация: название вашей организации в настройках InfluxDB
  • Token: ваш токен, скопированный для настроек Astra
  • Минимальный временной интервал: 1m

Нажмите Save & TestПри этом должно появиться зеленое уведомление: Bucket found

Добавление приборной панели

  1. Загрузите наш шаблон для Grafana: dashboard.json
  2. Открыть: Создать -> Импорт
  3. Нажмите Upload JSON file
  4. Выберите загруженный файл
  5. Задайте произвольное имя для приборной панели
  6. Нажмите Import

Приборная панель

Приборная панель Grafana

Приборная панель имеет следующие переменные:

  • Source - выбирать Astra или другое название;
  • Bucket - это имя базы данных в InfluxDB. То же, что и Instance Name в настройках Astra. При наличии нескольких серверов или различных экземпляров Astra на одном сервере можно создать несколько приборных панелей для каждого экземпляра;
  • Adapter - Все DVB-адаптеры на экземпляре;
  • Stream - Все потоки на экземпляре.

Панели состояния

Использование процессора:

  • Использование системного процессора - для всех доступных ядер. Максимальное значение - это количество ядер, умноженное на 100
  • Использование процессора приложения для всех потоков на всех ядрах и относительно использования процессора системы

Использование памяти:

  • System Memory Usage - суммарное использование памяти всеми процессами в системе
  • App Memory Usage - суммарное использование памяти всеми потоками приложения. Значение относительно системного использования памяти

Статус:

  • App uptime - время, прошедшее с момента запуска приложения
  • Sys uptime - время, прошедшее с момента запуска системы
  • LA 1m - среднее значение нагрузки за 1 минуту
  • LA 5m - среднее значение нагрузки в течение 5 минут
  • LA 15m - средняя нагрузка в течение 15 минут

Неудачные потоки - список всех инцидентов, упорядоченный по времени. Последние события в верхней части таблицы. Все значения в таблице на момент события:

  • Name - название потока
  • Elapsed time - время, прошедшее с момента возникновения инцидентов
  • Sessions - количество сеансов HTTP/HLS
  • CC Errors - счетчик обнаруженных событий потери пакетов
  • Sync Errors - счетчик ошибок синхронизации битрейта HTTP/HLS
  • PES Errors - процент видео/аудио пакетов с поврежденным содержимым
  • Scrambled - процент зашифрованных пакетов
  • Bitrate - битрейт потока в Кбит/с

Адаптеры и потоки:

Адаптеры и потоки

Графики отображаются отдельно для каждого выбранного адаптера или потоков.