Откройте админку Icecast. Что вы там увидите? Список маунтов, количество слушателей на каждом, немного трафика. Всё. Чтобы узнать, какой трек играл вчера в 15:30, сколько лайков собрал, какой джингл сработал чаще всего, какая пиковая нагрузка была на сервер — вам придется собирать данные из логов, писать скрипты, подключать сторонние аналитики.
Мы пошли другим путем. Наша админка — это полноценная аналитическая платформа, встроенная прямо в радио-сервер. Здесь есть всё: от графиков загрузки системы до топов треков по прослушиваниям и лайкам. И всё это обновляется в реальном времени, без необходимости настраивать внешние системы сбора статистики.
Давайте разберем, что именно вы видите на главной странице админки и как эти данные помогают управлять станцией.
Системные метрики: полный контроль над железом
Верхний блок админки показывает состояние сервера в реальном времени. Это первый уровень контроля.
- Загрузка CPU — 5.1% — процессор практически не нагружен. Это идеальный режим: транскодинг на лету не используется, треки подготовлены заранее.
- Память — 15.7% (152 МБ / 966 МБ) — приложение занимает минимум ресурсов. Остальное свободно для роста аудитории и добавления новых маунтов.
- Хранилище — 27.3% (7.5 ГБ свободно) — вы всегда знаете, сколько места осталось под музыку. Никаких сюрпризов в виде заполненного диска посреди эфира.
- Активные слушатели — 10 сессий — текущая аудитория. Можно отслеживать динамику в реальном времени.
В классическом стеке для этих данных вам пришлось бы подключаться по SSH и запускать htop, df -h и смотреть админку Icecast отдельно. Здесь всё собрано вместе.
Статистика слушателей: графики и фильтры
Сердце любой радиостанции — её аудитория. Мы добавили полноценный график слушателей с возможностью выбора периода.
Вы можете посмотреть динамику за:
- День — чтобы понять, в какое время пик прослушиваний.
- Неделю — оценить, как меняется аудитория по дням.
- Месяц — увидеть тренды и сезонность.
- Год — оценить рост станции в долгосрочной перспективе.
- 30 дней, 365 дней — гибкие настройки для любого периода.
В Icecast такой статистики нет. Максимум — текущее количество слушателей. Чтобы построить график, вам нужно было бы логировать данные во внешнюю базу и настраивать Grafana или что-то подобное. У нас это работает из коробки.
Реклама и джинглы: аналитика встроенных материалов
Если вы используете рекламные вставки и джинглы, важно понимать, сколько раз они проигрались и какой у них охват. В админке есть отдельные блоки для этого.
Реклама
- Показов — сколько раз рекламный ролик был поставлен в эфир.
- Уникальных слушателей — сколько уникальных слушателей слышали рекламу.
- Суммарный охват — общее количество прослушиваний (с учетом того, что один слушатель мог слышать ролик несколько раз).
- ТОП-3 роликов — самые эффективные рекламные материалы.
Эти данные помогают продавать рекламодателям: вы можете показать точный охват, а не "примерно столько слушателей".
Джинглы
- Показов — джинглы проигрывались сколько раз.
- Уникальных слушателей — хотя бы один слушатель слышал джинглы.
- Суммарный охват — общее количество.
- ТОП-3 джинглов — какие джинглы используются чаще всего.
Аналитика джинглов помогает понять, какие отбивки работают лучше, и оптимизировать звучание станции.
Ротация треков: эффективность на пальцах
Блок «Ротация треков» показывает, насколько эффективно работает ваша система подбора музыки.
Здесь отображается, сколько треков из ротации реально доиграло до конца, а сколько было пропущено или вызвало негативную реакцию. Это важная метрика для понимания качества плейлиста.
В классическом стеке такой статистики нет вообще. Вы не знаете, сколько человек дослушало трек до конца, а сколько переключило. Мы собираем эти данные и показываем их наглядно.
Обычные треки: кто в топе
Самый информативный блок для музыкального редактора — топ треков по прослушиваниям.
Вы видите, какие треки играют чаще всего. Это может быть как индикатор популярности, так и сигнал о том, что ротация зациклилась. Топ-5 позволяет быстро оценить, не слишком ли часто крутится один и тот же трек.
В Icecast+Liquidsoap вы не получите такой статистики без внешних инструментов. Нужно либо парсить логи, либо настраивать отдельную базу данных и сбор метрик. У нас это работает по умолчанию.
Вовлеченность: лайки и дизлайки
Если вы включили функцию голосования, здесь отображается топ треков, которые слушатели оценили выше всего, и анти-топ — те, что вызвали отторжение.
Это не просто «циферки». Это данные, на основе которых можно:
- Автоматически повышать вес треков с большим количеством лайков.
- Убирать из активной ротации треки с дизлайками.
- Понимать вкусы аудитории и корректировать направление станции.
Ни Icecast, ни Liquidsoap не умеют собирать такую статистику. Это уровень отдельного веб-приложения, которое нужно писать и интегрировать. У нас это встроено в ядро.
Пиковая нагрузка: когда ваше радио было самым популярным
Важная метрика для планирования мощностей и понимания поведения аудитории.
Вы знаете, в какое время была максимальная нагрузка на сервер. Это помогает:
- Планировать технические работы на «мертвые» часы.
- Понимать, когда ваша аудитория наиболее активна.
- Оценивать, нужен ли апгрейд сервера.
В Icecast вы можете увидеть текущее количество слушателей, но историю пиковых нагрузок придется собирать самостоятельно.
Лог событий: всё, что происходит с радио
Отдельный блок — детальный лог событий. Здесь фиксируется каждое действие:
- Когда начал играть трек.
- Когда сменился плейлист.
- Когда сработало расписание.
- Когда слушатель подключился или отключился.
- Когда пришел лайк или дизлайк.
- Когда была ошибка (битый файл, нет прав доступа).
Лог прокручивается в реальном времени. Вы видите, что происходит прямо сейчас. Если что-то пошло не так — вы узнаете об этом через секунду, а не через час, когда слушатели начнут жаловаться.
В классическом стеке вам пришлось бы смотреть tail -f на нескольких файлах логов: Icecast, Liquidsoap, возможно, вашего веб-сервера. У нас — всё в одном окне.
Что даёт такая админка
1. Вы перестаете гадать
Вместо «кажется, у нас вечером больше слушателей» вы видите точный график. Вместо «этот трек вроде популярен» — точное количество прослушиваний. Вместо «наверное, сервер не тянет» — графики CPU и памяти.
2. Вы экономите время
Вам не нужно лезть в терминал, чтобы проверить, сколько места на диске. Не нужно писать скрипты для сбора статистики. Не нужно настраивать Grafana или Prometheus. Всё уже есть.
3. Вы можете продавать рекламу
Рекламодатели хотят видеть цифры. С нашим решением вы можете показать точный охват рекламных роликов, уникальных слушателей, время пиковой нагрузки. Это профессионально и повышает доверие.
4. Вы понимаете свою аудиторию
Топы треков, лайки, дизлайки, графики слушателей — всё это помогает понять, кто ваши слушатели и что они любят. Вы можете корректировать контент на основе реальных данных, а не интуиции.
5. Вы быстро реагируете на проблемы
Лог событий в реальном времени позволяет увидеть ошибку в момент её возникновения. Не нужно ждать, пока слушатели напишут в поддержку. Вы уже знаете о проблеме и, возможно, уже её решили.
Итог: админка, которая заменила три системы
Если посмотреть на классический стек Icecast + Liquidsoap, то для того, чтобы получить всё, что есть в нашей админке, вам понадобится:
- Icecast — для базовой статистики слушателей.
- Prometheus + Node Exporter — для сбора метрик CPU, памяти, диска.
- Grafana — для визуализации графиков.
- База данных — для хранения истории прослушиваний, лайков, топов.
- Самописный бэкенд — для сбора статистики из логов Liquidsoap и Icecast.
- Агент для сбора метрик плеера — для отслеживания прослушиваний до конца.
Это недели настройки, куча зависимостей, множество точек отказа. И всё равно вы не получите такой интеграции, как у нас.
Наше решение — это радио-сервер с полноценной аналитической платформой внутри. Всё работает из коробки. Вы устанавливаете один бинарник, запускаете — и через минуту уже видите графики, топы, логи. Без дополнительных настроек, без внешних сервисов, без головной боли.
Потому что радио должно заниматься музыкой, а не сбором статистики.