Перейти к содержанию

Plex Media Server

Что делает Plex и актуален ли он: потоки, воспроизводимые сейчас, сколько из них перекодируются и аппаратно ли, пропускная способность, которую они резервируют, потоки снаружи дома, сканируемые библиотеки и обновления.

DumbMonit читает собственный API сервера на порту 32400, никогда не plex.tv. Он никогда не останавливает поток, никогда не сканирует библиотеку и никогда не меняет настройку.

Plex не публикует результат своих плановых задач (сам «батлер» отдаёт только их расписание) и не публикует состояние резервных копий своей базы данных, поэтому об этом сказать нечего.

Что отслеживается

Все метрики с префиксом dumbmonit_plex_.

Метрика Что Метки
version_info значение 1 version
update_available 1, когда собственная проверка обновлений Plex нашла более новый релиз; отсутствует, пока Plex не проверил хотя бы раз latest_version
claimed 1, когда сервер привязан к учётной записи Plex
streams, streams_paused, streams_remote воспроизведения сейчас; на паузе; снаружи локальной сети
transcodes, transcodes_video, transcodes_hardware воспроизведения с перекодированием (видео или аудио); с перекодированием видео; с аппаратным ускорением
transcoder_active_video_sessions видео-перекодирования, которые сам сервер считает
stream_bandwidth_bits_per_second пропускная способность, зарезервированная всеми воспроизведениями
libraries, libraries_scanning библиотеки; те, что сканируются сейчас
activities фоновые активности, выполняющиеся сейчас (сканирование, анализ, обновления)
scrape_errors вызовы, завершившиеся ошибкой при последней проверке

Применяемое встроенное правило: «Доступно обновление Plex», плюс «Монитор недоступен».

Страница монитора

Панель над графиками читает то, что сохранила проверка; открытие страницы никогда не обращается к Plex. Она сообщает состояние обновления и привязан ли сервер, затем потоки, перекодирования, аппаратные перекодирования, удалённые потоки, пропускную способность и библиотеки.

Дать DumbMonit доступ к серверу Plex

  1. DumbMonit читает собственный API сервера на порту 32400, никогда не plex.tv. Сервер, привязанный к учётной записи Plex, требует токен (X-Plex-Token), и Plex не умеет выпускать ограниченный токен: это токен владельца.

  2. Либо обойдитесь без токена: в Plex, Settings → Network → List of IP addresses and networks that are allowed without auth, добавьте адрес сервера DumbMonit, например так, и выберите «No token» ниже.

    10.0.0.20/32
    
  3. Либо используйте токен: в Plex Web откройте любой фильм → ⋯ → Get Info → View XML. Адрес открывшейся страницы заканчивается на X-Plex-Token= с токеном после него; скопируйте это значение.

  4. В DumbMonit введите адрес сервера, например «plex.lan» (порт 32400). DumbMonit читает только сессии, библиотеки, апдейтер и список активностей; он никогда не останавливает поток и никогда не меняет настройку.

Warning

Токен принадлежит вашей учётной записи Plex: кто бы его ни держал, может управлять сервером и каждой библиотекой. Предпочитайте разрешённую сеть выше, когда DumbMonit находится в вашей собственной сети.

Разрешённая сеть — это и то, что заставляет Plex отвечать без токена из Docker: контейнер DumbMonit обращается к Plex со своего адреса в сети Docker, поэтому укажите в списке именно эту сеть, либо адрес хоста, если Plex публикует свой порт на хосте.

Учётные данные

Учётные данные Поля
X-Plex-Token Отправляется в заголовке X-Plex-Token.
Без токена (разрешённая сеть) Ничего не отправляется; Plex должен указать адрес DumbMonit среди сетей, разрешённых без аутентификации.

Адрес: имя хоста (plex.lan), host:port, или полный URL; завершающий /web допускается. Опции: протокол (по умолчанию HTTP; собственные сертификаты Plex выпускаются для имён *.plex.direct, поэтому HTTPS по IP-адресу требует отключения проверки сертификата), порт (32400), проверка сертификата и таймаут запроса (15 с).

Проверено на Plex Media Server 1.43.4 (официальный образ), непривязанном сервере, отвечающем без токена, с настоящим перекодируемым воспроизведением. Путь с токеном следует документированному заголовку X-Plex-Token компании Plex и не был проверен на привязанном сервере.