Перейти к содержимому

Uptime Kuma

Входит в систему через собственный socket.io API Uptime Kuma и читает версию из события info, которое сервер присылает после входа.

targets:
- id: uptime-kuma-main
product: uptime-kuma
address: https://uptime-kuma.example.com
credentials: kuma-monitor

Ни один анонимный путь не содержит версии. Событие info от сервера её содержит, но новое соединение получает его без версии, пока сокет не авторизован. В /metrics нет серии с версией, а API-ключи открывают только /metrics. Подтверждено вживую на 1.23.17 и 2.5.5, а также на публичной странице статуса боевого инстанса, где ни /api/status-page/*, ни сокет версии тоже не содержат.

Поэтому проба реализует ровно столько HTTP long-polling транспорта Engine.IO v4 (/socket.io/?EIO=4&transport=polling), сколько нужно, чтобы открыть сессию, отправить login и опрашивать сервер, пока не придёт событие info с version, — после чего отключается. 1.23.17 присылает info с версией после подтверждения входа, 2.5.5 — до него; обрабатываются оба порядка.

Имя пользователя и пароль, kind: password:

credentials:
kuma-monitor:
kind: password
username: monitor
password: "${UPTIME_KUMA_PASSWORD}"

Принимается только password; любой другой kind — ошибка конфигурации. См. Конфигурация → Credentials.

  • Отклонённый вход — ошибка аутентификации с собственным сообщением Uptime Kuma (Incorrect username or password.).
  • Пользователь с 2FA так войти не сможет — подтверждение входа запрашивает токен. Об этом сообщается, обходного пути нет: используйте для мониторинга пользователя без 2FA.
  • Uptime Kuma ограничивает частоту входов: запуск сразу после нескольких неверных паролей однажды не прошёл на 2.5.5, а все последующие прошли.
  • Uptime Kuma по plain HTTP требует allow_insecure_transport, как и любые учётные данные — см. Сначала HTTPS.
  • version — например 2.5.5
  • extra.latestVersion — собственная проверка обновлений Uptime Kuma, например 2.5.5
  • extra.dbType — например sqlite

Сверяется с NVD, если настроен блок cve:.

github:louislam/uptime-kuma — у endoflife.date нет календаря для Uptime Kuma (подтверждено 404), поэтому резолвинг идёт через GitHub Releases: только последний опубликованный, не pre-release тег, без данных по eol/support/lts (у GitHub нет мнения о политике жизненного цикла, только «какой релиз последний»).