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

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

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

ТипkindУчётные данныеТипичное применение
SNMP devicesnmpcommunity или SNMP v3Коммутатор, маршрутизатор, NAS, ИБП, принтер
Proxmox VEproxmoxAPI-токен или имя пользователя/парольГипервизор, кластер
Proxmox Backup ServerpbsAPI-токен или имя пользователя/парольСервер резервного копирования
Proxmox Datacenter ManagerpdmAPI-токенКонсоль, объединяющая несколько кластеров PVE и экземпляров PBS
Proxmox Mail Gatewaypmgимя пользователя/парольПочтовый шлюз, фильтрующий спам и вирусы
VMware vSpherevsphereимя пользователя/парольvCenter или отдельный ESXi: хосты, ВМ, хранилища данных, тревоги
XCP-ng / XenServerxcpngимя пользователя/пароль (роль XAPI только для чтения)Пул через XAPI: хосты, ВМ, репозитории хранилища, высокая доступность
Nutanix AHVnutanixимя пользователя/пароль (Prism Viewer)API v4 Prism Central: кластеры, хосты, ВМ AHV, контейнеры хранилища, оповещения
Synology DSMsynologyимя пользователя/парольDiskStation, RackStation
OPNsenseopnsenseключ API и секретМежсетевой экран, маршрутизатор, граница с несколькими WAN
pfSensepfsenseключ REST API (пользователь только для чтения)Межсетевой экран: шлюзы недоступны или с потерями, интерфейсы без линка, остановленные службы
FortiGatefortigateтокен REST API (профиль только для чтения, trusted host)Межсетевой экран: туннели IPsec, линки, синхронизация HA, conserve mode, лицензии FortiGuard
Sophos Firewallsophosимя пользователя/пароль (профиль только для чтения)Межсетевой экран: только линки интерфейсов (XML API не раскрывает состояние туннелей, HA и лицензий)
Сервер OpenVPNopenvpnнет или пароль управленияСервер OpenVPN через интерфейс управления: версия, состояние, подключённые клиенты
UniFi Networkunifiключ API или имя пользователя/парольКонсоль UniFi или собственный сервер: устройства, WAN, клиенты
Home Assistanthomeassistantдолгоживущий токен доступаУмный дом: недоступные сущности, низкий заряд батарей, обновления, ремонты
TrueNAStruenasключ APIСервер хранения ZFS (SCALE, Community Edition)
Unraidunraidключ API (роль Viewer)NAS: массив, диски, проверки чётности, кэш-пулы, контейнеры, ВМ
MikroTik RouterOSmikrotikимя пользователя/пароль (группа только для чтения)Маршрутизатор или коммутатор: отстающие версии и прошивки, CPU, память, датчики, ошибки интерфейсов
UPS with NUTnutнет, или имя пользователя/парольИБП на NAS, Raspberry Pi или сервере с Network UPS Tools
Server hardware (Redfish)redfishимя пользователя/парольВентиляторы, температуры, блоки питания и диски сервера, считываемые с его BMC
VictoriaMetricsvictoriametricsнет, имя пользователя/пароль или токенБаза временных рядов: приём, отклонённые сэмплы, запас дискового места
VictoriaLogsvictorialogsнет, имя пользователя/пароль или токенБаза логов: приём, отклонённые строки, запас дискового места
Grafana Lokilokiнет, имя пользователя/пароль или токенСервер логов: готовность, отклонённые строки, сбои сброса на диск
Grayloggraylogтокен доступа или имя пользователя/парольСервер логов и его кластер OpenSearch: журнал, буферы, пропускная способность, входы
Pi-holepiholeпароль приложения или нетDNS-блокировщик рекламы: состояние блокировки, доля заблокированного, возраст списков блокировки, обновления
AdGuard Homeadguardимя пользователя/парольDNS-фильтр: защита, блокировки, списки фильтров, вышестоящие серверы, обновления
MDaemon Email Servermdaemonнет, или адрес электронной почты/парольПочтовый сервер: SMTP, IMAP, POP3, веб-почта, версия
SecurityGateway for Email Serverssecuritygatewayнет, или ключ APIПочтовый шлюз: службы, очередь доставки и другие счётчики
Redis / Valkeyredisпользователь ACL, только пароль или нетIn-memory хранилище: память относительно maxmemory, репликация, персистентность, ключи
MongoDBmongodbимя пользователя/пароль (clusterMonitor) или нетДокументная база данных: набор реплик, отставание, соединения, кэш WiredTiger
RabbitMQrabbitmqимя пользователя/пароль (тег monitoring)Брокер сообщений: аварии ресурсов, узлы, разделы, очереди без потребителя
CrowdSeccrowdsecнет, или ключ API bouncerДвижок безопасности: решения, оповещения, bouncers, перестали забирать данные, чтение логов
Traefiktraefikнет, или пользователь basicAuthОбратный прокси: отключённые маршрутизаторы, недоступные backend-серверы, сертификаты не получены или не продлены, доля 5xx
Caddycaddyпользователь с доступом только на просмотр, или нетВеб-сервер и обратный прокси: состояние upstream, неудачные перезагрузки, ошибки обработчиков, доля 5xx
Nginxnginxнет, или basic authВеб-сервер: активные/ожидающие соединения, скорости accept/handled/request, состояние upstream в NGINX Plus
Apache httpdapacheнет, или basic authВеб-сервер: занятые/свободные воркеры, scoreboard по состояниям, скорости запросов и байтов
Nginx Proxy Managernpmemail и пароль пользователя (только просмотр)Менеджер прокси: хосты, отклонённые nginx, отключённые хосты, выдаваемые сертификаты
Domain expirydomainнетЗарегистрированный домен через RDAP: дни до истечения, hold, redemption period, регистратор
Репутация почтового сервераmail_blacklistнет, или ключ DQS SpamhausПочтовый домен или адрес сервера против чёрных списков DNS (Spamhaus, Barracuda, SpamCop…), обратный DNS, SPF, DMARC, ссылки на удаление
Чёрные списки для диапазона IPip_blacklistнет, или ключ DQS SpamhausКаждый адрес публичного диапазона IPv4 до /24 против чёрных списков DNS, со ссылками на удаление
Kubernetes / k3skubernetesтокен service account (ClusterRole только для чтения)Кластер: узлы not ready, поды в crash loop или pending, рабочие нагрузки без реплик, зависшие запросы томов
Active Directoryactivedirectoryимя пользователя/пароль (обычный доменный пользователь)Домен Windows через LDAPS: контроллеры домена и роли FSMO, члены привилегированных групп, политика паролей, находки безопасности
Veeam Backup & Replicationveeamимя пользователя/пароль (Veeam Backup Viewer)Сервер резервного копирования: неудачные задания, неудачные сессии, переполняющиеся репозитории, лицензия
Tailscaletailscaleклиент OAuth (devices:core:read) или токен доступа APITailnet: серверы офлайн, истекающие ключи узлов, устройства, ожидающие одобрения
Nextcloudnextcloudтокен мониторинга (NC-Token)Синхронизация файлов: режим обслуживания, ожидающее обновление, обновления, активные пользователи, OPcache
Immichimmichключ APIФотобиблиотека: очереди заданий, обновления, диск, количество фото
Paperless-ngxpaperlessтокен API или имя пользователя/парольДокументы: Redis, Celery, индекс, неудачные импорты, обновления
Jellyfinjellyfinключ APIМедиасервер: неудачные плановые задачи, плагины, потоки и транскодирование
Plex Media ServerplexX-Plex-Token, или нет из разрешённой сетиМедиасервер: потоки, транскодирование, библиотеки, обновления
GitLab (self-managed)gitlabперсональный токен доступаForge: очередь Sidekiq, раннеры CI, ожидающие миграции, настройки регистрации/2FA, лицензия
Forgejo / Giteaforgejoтокен доступаForge: проверка работоспособности, плановые задачи, раннеры Actions, количество репозиториев/аккаунтов
Server with agentagentнет (токен регистрации)Linux, Windows, Raspberry Pi, хост Hyper-V
Website or web APIhttpнет, имя пользователя/пароль или токенСтраница проверки состояния, REST API
Network porttcpнетSSH, SMB, база данных
Domain namednsнетВаш домен, внутреннее имя
Reachable hostpingнетШлюз, точка доступа, принтер
TLS certificatetlsнетIMAPS, LDAPS, обратный прокси
SMTP serversmtpнет, или имя пользователя/парольПочтовый сервер: приветствие, STARTTLS, сертификат, необязательный вход
PostgreSQLpostgresимя пользователя/парольБаза данных: соединение и выбранный вами запрос
MySQL or MariaDBmysqlимя пользователя/парольБаза данных: соединение и выбранный вами запрос
MQTT brokermqttнет, или имя пользователя/парольБрокер: соединение, подписка, retained-сообщение
WebSocketwebsocketнет, имя пользователя/пароль или токенКонечная точка WebSocket: рукопожатие, необязательный обмен сообщениями
NTP time serverntpнетМаршрутизатор, NAS, внутренний сервер времени, сервер публичного пула
Heartbeatpushнет (секретный URL)Задание cron, скрипт резервного копирования, автоматизация, которая обязана выходить на связь
Website changeswebchangeнетСтраница или целый сайт: изменения текста, новые и удалённые страницы, до/после со скриншотами
Website health & SEOwebsiteнетСайты массово: недоступность, пустая страница, перенаправления, noindex, robots.txt, изменения title/description/canonical, платформа (импорт CSV)
Demo monitordummyнетЗнакомство с интерфейсом без оборудования

Планировщик запускает каждый включённый монитор со своим интервалом (по умолчанию 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 дочерние мониторы располагаются под родителем и тускнеют, когда он недоступен.