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

Типы мониторов

DumbMonit называет монитором (в API — target) всё, за чем он наблюдает, даже если это веб-страница или DNS-имя. Каждый тип — это коллектор на сервере; сервер описывает каждый тип интерфейсу (GET /api/collectors), поэтому форма всегда соответствует тому, что эта версия умеет мониторить.

Тип kind Учётные данные Типичное применение
SNMP device snmp community или SNMP v3 Коммутатор, маршрутизатор, NAS, ИБП, принтер
Proxmox VE proxmox API-токен или имя пользователя/пароль Гипервизор, кластер
Proxmox Backup Server pbs API-токен или имя пользователя/пароль Сервер резервного копирования
Proxmox Datacenter Manager pdm API-токен Консоль, объединяющая несколько кластеров PVE и экземпляров PBS
Proxmox Mail Gateway pmg имя пользователя/пароль Почтовый шлюз, фильтрующий спам и вирусы
VMware vSphere vsphere имя пользователя/пароль vCenter или отдельный ESXi: хосты, ВМ, хранилища данных, тревоги
XCP-ng / XenServer xcpng имя пользователя/пароль (роль XAPI только для чтения) Пул через XAPI: хосты, ВМ, репозитории хранилища, высокая доступность
Nutanix AHV nutanix имя пользователя/пароль (Prism Viewer) API v4 Prism Central: кластеры, хосты, ВМ AHV, контейнеры хранилища, оповещения
Synology DSM synology имя пользователя/пароль DiskStation, RackStation
OPNsense opnsense ключ API и секрет Межсетевой экран, маршрутизатор, граница с несколькими WAN
pfSense pfsense ключ REST API (пользователь только для чтения) Межсетевой экран: шлюзы недоступны или с потерями, интерфейсы без линка, остановленные службы
FortiGate fortigate токен REST API (профиль только для чтения, trusted host) Межсетевой экран: туннели IPsec, линки, синхронизация HA, conserve mode, лицензии FortiGuard
Sophos Firewall sophos имя пользователя/пароль (профиль только для чтения) Межсетевой экран: только линки интерфейсов (XML API не раскрывает состояние туннелей, HA и лицензий)
Сервер OpenVPN openvpn нет или пароль управления Сервер OpenVPN через интерфейс управления: версия, состояние, подключённые клиенты
UniFi Network unifi ключ API или имя пользователя/пароль Консоль UniFi или собственный сервер: устройства, WAN, клиенты
Home Assistant homeassistant долгоживущий токен доступа Умный дом: недоступные сущности, низкий заряд батарей, обновления, ремонты
TrueNAS truenas ключ API Сервер хранения ZFS (SCALE, Community Edition)
Unraid unraid ключ API (роль Viewer) NAS: массив, диски, проверки чётности, кэш-пулы, контейнеры, ВМ
MikroTik RouterOS mikrotik имя пользователя/пароль (группа только для чтения) Маршрутизатор или коммутатор: отстающие версии и прошивки, CPU, память, датчики, ошибки интерфейсов
UPS with NUT nut нет, или имя пользователя/пароль ИБП на NAS, Raspberry Pi или сервере с Network UPS Tools
Server hardware (Redfish) redfish имя пользователя/пароль Вентиляторы, температуры, блоки питания и диски сервера, считываемые с его BMC
VictoriaMetrics victoriametrics нет, имя пользователя/пароль или токен База временных рядов: приём, отклонённые сэмплы, запас дискового места
VictoriaLogs victorialogs нет, имя пользователя/пароль или токен База логов: приём, отклонённые строки, запас дискового места
Grafana Loki loki нет, имя пользователя/пароль или токен Сервер логов: готовность, отклонённые строки, сбои сброса на диск
Graylog graylog токен доступа или имя пользователя/пароль Сервер логов и его кластер OpenSearch: журнал, буферы, пропускная способность, входы
Pi-hole pihole пароль приложения или нет DNS-блокировщик рекламы: состояние блокировки, доля заблокированного, возраст списков блокировки, обновления
AdGuard Home adguard имя пользователя/пароль DNS-фильтр: защита, блокировки, списки фильтров, вышестоящие серверы, обновления
MDaemon Email Server mdaemon нет, или адрес электронной почты/пароль Почтовый сервер: SMTP, IMAP, POP3, веб-почта, версия
SecurityGateway for Email Servers securitygateway нет, или ключ API Почтовый шлюз: службы, очередь доставки и другие счётчики
Redis / Valkey redis пользователь ACL, только пароль или нет In-memory хранилище: память относительно maxmemory, репликация, персистентность, ключи
MongoDB mongodb имя пользователя/пароль (clusterMonitor) или нет Документная база данных: набор реплик, отставание, соединения, кэш WiredTiger
RabbitMQ rabbitmq имя пользователя/пароль (тег monitoring) Брокер сообщений: аварии ресурсов, узлы, разделы, очереди без потребителя
CrowdSec crowdsec нет, или ключ API bouncer Движок безопасности: решения, оповещения, bouncers, перестали забирать данные, чтение логов
Traefik traefik нет, или пользователь basicAuth Обратный прокси: отключённые маршрутизаторы, недоступные backend-серверы, сертификаты не получены или не продлены, доля 5xx
Caddy caddy пользователь с доступом только на просмотр, или нет Веб-сервер и обратный прокси: состояние upstream, неудачные перезагрузки, ошибки обработчиков, доля 5xx
Nginx nginx нет, или basic auth Веб-сервер: активные/ожидающие соединения, скорости accept/handled/request, состояние upstream в NGINX Plus
Apache httpd apache нет, или basic auth Веб-сервер: занятые/свободные воркеры, scoreboard по состояниям, скорости запросов и байтов
Nginx Proxy Manager npm email и пароль пользователя (только просмотр) Менеджер прокси: хосты, отклонённые nginx, отключённые хосты, выдаваемые сертификаты
Domain expiry domain нет Зарегистрированный домен через RDAP: дни до истечения, hold, redemption period, регистратор
Репутация почтового сервера mail_blacklist нет, или ключ DQS Spamhaus Почтовый домен или адрес сервера против чёрных списков DNS (Spamhaus, Barracuda, SpamCop…), обратный DNS, SPF, DMARC, ссылки на удаление
Чёрные списки для диапазона IP ip_blacklist нет, или ключ DQS Spamhaus Каждый адрес публичного диапазона IPv4 до /24 против чёрных списков DNS, со ссылками на удаление
Kubernetes / k3s kubernetes токен service account (ClusterRole только для чтения) Кластер: узлы not ready, поды в crash loop или pending, рабочие нагрузки без реплик, зависшие запросы томов
Active Directory activedirectory имя пользователя/пароль (обычный доменный пользователь) Домен Windows через LDAPS: контроллеры домена и роли FSMO, члены привилегированных групп, политика паролей, находки безопасности
Veeam Backup & Replication veeam имя пользователя/пароль (Veeam Backup Viewer) Сервер резервного копирования: неудачные задания, неудачные сессии, переполняющиеся репозитории, лицензия
Tailscale tailscale клиент OAuth (devices:core:read) или токен доступа API Tailnet: серверы офлайн, истекающие ключи узлов, устройства, ожидающие одобрения
Nextcloud nextcloud токен мониторинга (NC-Token) Синхронизация файлов: режим обслуживания, ожидающее обновление, обновления, активные пользователи, OPcache
Immich immich ключ API Фотобиблиотека: очереди заданий, обновления, диск, количество фото
Paperless-ngx paperless токен API или имя пользователя/пароль Документы: Redis, Celery, индекс, неудачные импорты, обновления
Jellyfin jellyfin ключ API Медиасервер: неудачные плановые задачи, плагины, потоки и транскодирование
Plex Media Server plex X-Plex-Token, или нет из разрешённой сети Медиасервер: потоки, транскодирование, библиотеки, обновления
GitLab (self-managed) gitlab персональный токен доступа Forge: очередь Sidekiq, раннеры CI, ожидающие миграции, настройки регистрации/2FA, лицензия
Forgejo / Gitea forgejo токен доступа Forge: проверка работоспособности, плановые задачи, раннеры Actions, количество репозиториев/аккаунтов
Server with agent agent нет (токен регистрации) Linux, Windows, Raspberry Pi, хост Hyper-V
Website or web API http нет, имя пользователя/пароль или токен Страница проверки состояния, REST API
Network port tcp нет SSH, SMB, база данных
Domain name dns нет Ваш домен, внутреннее имя
Reachable host ping нет Шлюз, точка доступа, принтер
TLS certificate tls нет IMAPS, LDAPS, обратный прокси
SMTP server smtp нет, или имя пользователя/пароль Почтовый сервер: приветствие, STARTTLS, сертификат, необязательный вход
PostgreSQL postgres имя пользователя/пароль База данных: соединение и выбранный вами запрос
MySQL or MariaDB mysql имя пользователя/пароль База данных: соединение и выбранный вами запрос
MQTT broker mqtt нет, или имя пользователя/пароль Брокер: соединение, подписка, retained-сообщение
WebSocket websocket нет, имя пользователя/пароль или токен Конечная точка WebSocket: рукопожатие, необязательный обмен сообщениями
NTP time server ntp нет Маршрутизатор, NAS, внутренний сервер времени, сервер публичного пула
Heartbeat push нет (секретный URL) Задание cron, скрипт резервного копирования, автоматизация, которая обязана выходить на связь
Website changes webchange нет Страница или целый сайт: изменения текста, новые и удалённые страницы, до/после со скриншотами
Website health & SEO website нет Сайты массово: недоступность, пустая страница, перенаправления, noindex, robots.txt, изменения title/description/canonical, платформа (импорт CSV)
Demo monitor dummy нет Знакомство с интерфейсом без оборудования

Как читается монитор

Планировщик запускает каждый включённый монитор со своим интервалом (по умолчанию 60 с, минимум 10 с) через коллектор его типа, причём одновременно в работе не более DUMBMONIT_MAX_CONCURRENT_PROBES опросов, а жёсткий тайм-аут на опрос — DUMBMONIT_PROBE_TIMEOUT_SECS. Каждый успешный опрос записывает свои сэмплы плюс dumbmonit_up = 1; неудачный опрос не записывает ничего, и именно тишину ряда обнаруживает правило "Monitor unreachable". Страница монитора показывает сбой при следующем опросе, но оповещение намеренно ждёт: оно срабатывает примерно через четыре минуты после последнего успешного опроса (три минуты тишины, затем одноминутная выдержка), поэтому единственный потерянный опрос никого не разбудит.

Сбои классифицируются. Монитор, который не отвечает, — недоступен и вызывает оповещение. Неверный community, отклонённый сертификат или отсутствие нужной возможности — это ошибка конфигурации: она показывается на странице монитора красным цветом с указанием причины, и о ней не уведомляют. Различие важно: неправильно настроенный монитор не должен будить никого по ночам.

Параметры

Некоторые типы читают параметры из тегов монитора: порт API, принимать ли самоподписанный сертификат, какие узлы мониторить. Форма показывает типизированное поле для каждого параметра в разделе More options с его значением по умолчанию и подсказкой. Страницы отдельных типов перечисляют их дословно. Параметры — это настройки, а не метки: они не копируются в ряды. Свободные теги (любой другой ключ) копируются в каждый ряд как метки tag_<key>, за исключением ключей, называющих секрет (сопоставление по словам: password, token, key, cert, secret, pass, private, pem…, так что primary_key пропускается, а keyboard — нет), и значений длиннее 256 символов. В любом случае никогда не кладите секрет в тег: используйте поле учётных данных, которое шифруется.

Родительские мониторы

Любой монитор может объявить другой своим родителем. Когда родитель недоступен, оповещения его потомков помечаются как Suppressed by parent и не отправляются: падение коммутатора даёт одно уведомление, а не тридцать. На странице Monitors дочерние мониторы располагаются под родителем и тускнеют, когда он недоступен.