Jellyfin
Поддерживает ли Jellyfin свои библиотеки актуальными и обслуживает ли зрителей: плановые задачи, не выполнившиеся при последнем запуске (сканирование библиотеки — в первую очередь), плагины, которые больше не загружаются, ожидающий перезапуск, а также то, что воспроизводится прямо сейчас — с перекодированием или без.
DumbMonit читает API Jellyfin с помощью ключа API, созданного в панели управления. Он никогда не запускает задачу, никогда не останавливает воспроизведение и никогда не меняет настройку.
Отказ, за которым стоит следить: сканирование библиотеки, которое не удаётся каждую ночь. Отмонтированная сетевая папка, заполненный диск — и новые фильмы и эпизоды перестают появляться; сам Jellyfin продолжает играть то, что уже знает, и единственный след — строка в Scheduled Tasks.
Что отслеживается
Заголовок раздела «Что отслеживается»Все метрики с префиксом dumbmonit_jellyfin_.
| Метрика | Что | Метки |
|---|---|---|
version_info | значение 1 | version |
pending_restart | 1, когда Jellyfin ждёт перезапуска (после установки или обновления плагина) | |
shutting_down | 1 во время завершения работы Jellyfin | |
scheduled_tasks_failed, scheduled_tasks_running | задачи, чей последний запуск завершился ошибкой или был прерван; задачи, выполняющиеся сейчас | |
scheduled_task_failed | значение 1 на каждую отказавшую задачу (не более 32) | task, error (первая строка сообщения) |
library_scan_last_ok, library_scan_age_seconds | последний запуск «Scan Media Library»: успешен или нет, и сколько времени прошло с его окончания | |
plugins, plugins_broken | установленные плагины; те, что не загрузились или не поддерживают эту версию | |
plugin_broken | значение 1 на каждый неисправный плагин | plugin, status |
sessions, streams, streams_paused, transcodes | клиентские сессии; те, что что-то воспроизводят, на паузе, и с перекодированием | |
scrape_errors | вызовы, завершившиеся ошибкой при последней проверке |
Jellyfin не проверяет собственные обновления сам (это делает пакет или образ), поэтому метрики обновления нет.
Применяемые встроенные правила: «Запланированная задача Jellyfin не удалась», «Плагин Jellyfin неисправен», «Ожидается перезапуск Jellyfin», плюс «Монитор недоступен».
Страница монитора
Заголовок раздела «Страница монитора»Панель над графиками читает то, что сохранила проверка; открытие страницы никогда не обращается к Jellyfin. Сначала она сообщает, что не так (отказавшие задачи, неисправные плагины, ожидающий перезапуск), затем — потоки, перекодирования, сессии и возраст последнего сканирования библиотеки, затем — отказавшие задачи и неисправные плагины по имени, с собственной ошибкой Jellyfin.
Создание ключа API в Jellyfin
Заголовок раздела «Создание ключа API в Jellyfin»-
В Jellyfin: Dashboard → API Keys (в разделе Advanced) → +, назовите ключ следующим образом. Скопируйте его.
DumbMonit -
Jellyfin не умеет ограничивать права ключа: у каждого ключа полные права на сервере. Это тем не менее единственный способ читать плановые задачи и чьё-либо воспроизведение; обычный пользователь не видит ни того, ни другого.
-
В DumbMonit введите адрес Jellyfin, например «jellyfin.lan» (порт 8096) или «https://media.example.com» за обратным прокси, и вставьте ключ.
-
DumbMonit читает только /System/Info, /ScheduledTasks, /Sessions и /Plugins. Он никогда не запускает задачу, никогда не останавливает воспроизведение и никогда не меняет настройку.
Учётные данные
Заголовок раздела «Учётные данные»| Учётные данные | Поля |
|---|---|
| Ключ API | Отправляется в заголовке Authorization: MediaBrowser … Token="…", в форме, которую Jellyfin 10.11 и новее принимают по умолчанию. |
Адрес: имя хоста (jellyfin.lan), host:port, или полный URL с префиксом пути
(https://example.com/jellyfin); завершающий /web допускается. Опции:
протокол (по умолчанию HTTP), порт (8096), проверка сертификата и таймаут
запроса (15 с).
Проверено на Jellyfin 12.1.0 (официальный образ).