Skip to content

Monitor types

DumbMonit calls everything it watches a monitor (the API says target), even when it is a web page or a DNS name. Each type is a collector on the server; the server describes every type to the interface (GET /api/collectors), so the form always matches what this version can monitor.

TypekindCredentialTypical use
SNMP devicesnmpcommunity or SNMP v3Switch, router, NAS, UPS, printer
Proxmox VEproxmoxAPI token or username/passwordHypervisor, cluster
Proxmox Backup ServerpbsAPI token or username/passwordBackup server
Proxmox Datacenter ManagerpdmAPI tokenConsole federating several PVE clusters and PBS instances
Proxmox Mail Gatewaypmgusername/passwordMail gateway filtering spam and viruses
VMware vSpherevsphereusername/passwordvCenter or standalone ESXi: hosts, VMs, datastores, alarms
XCP-ng / XenServerxcpngusername/password (read-only XAPI role)Pool through XAPI: hosts, VMs, storage repositories, high availability
Nutanix AHVnutanixusername/password (Prism Viewer)Prism Central v4 API: clusters, hosts, AHV VMs, storage containers, alerts
Synology DSMsynologyusername/passwordDiskStation, RackStation
OPNsenseopnsenseAPI key and secretFirewall, router, multi-WAN edge
pfSensepfsenseREST API key (read-only user)Firewall: gateways down or lossy, interfaces without link, stopped services
FortiGatefortigateREST API token (read-only profile, trusted host)Firewall: IPsec tunnels, links, HA sync, conserve mode, FortiGuard licences
Sophos Firewallsophosusername/password (read-only profile)Firewall: interface links only (the XML API exposes no tunnel, HA or licence state)
Cisco MerakimerakiAPI key (read-only administrator)Beta. Meraki cloud: devices offline, failed Internet uplinks, license state and expiry, clients per network
TP-Link OmadaomadaOpenAPI client ID and secret (Viewer role)Beta. Omada controller: devices disconnected or pending, CPU and memory, firmware updates, clients per site
Aruba CentralarubacentralAPI client (ID and secret) or access tokenBeta. Aruba access points, switches and gateways through the cloud API: devices offline, critical alerts, device health, clients
Palo Alto PAN-OSpaloaltousername/password or API key (role-based, XML API operational requests only)Beta. Firewall: interface links, HA peer and sync, session table, licences, failed commits
SonicWall SonicOSsonicwallusername/password (read-only user)Beta. Firewall: interface links only
OpenVPN serveropenvpnnone, or management passwordOpenVPN server through its management interface: version, state, connected clients
UniFi NetworkunifiAPI key or username/passwordUniFi console or self-hosted server: devices, WAN, clients
Home Assistanthomeassistantlong-lived access tokenSmart home: unavailable entities, low batteries, updates, repairs
TrueNAStruenasAPI keyZFS storage server (SCALE, Community Edition)
UnraidunraidAPI key (Viewer role)NAS: array, disks, parity checks, cache pools, containers, VMs
QNAP QTS / QuTS heroqnapusername/password (limited account)NAS (beta): volumes filling up, disk SMART health and temperature, firmware updates
Cephcephdashboard user and password (read-only role)Storage cluster (beta): health checks, OSDs, placement groups, capacity, pools, monitors
MinIOminioPrometheus token (or none)Object store (beta): nodes and drives offline, capacity, heal and replication failures, S3 errors
MikroTik RouterOSmikrotikusername/password (read-only group)Router or switch: versions and firmware behind, CPU, memory, sensors, interface errors
UPS with NUTnutnone, or username/passwordUPS on a NAS, Raspberry Pi or server running Network UPS Tools
Server hardware (Redfish)redfishusername/passwordServer fans, temperatures, power supplies and drives, read from its BMC
VictoriaMetricsvictoriametricsnone, username/password or tokenTime series database: ingestion, refused samples, disk headroom
VictoriaLogsvictorialogsnone, username/password or tokenLog database: ingestion, refused lines, disk headroom
Grafana Lokilokinone, username/password or tokenLog server: readiness, refused lines, flush failures
Grayloggraylogaccess token or username/passwordLog server and its OpenSearch cluster: journal, buffers, throughput, inputs
Pi-holepiholeapp password, or noneDNS ad blocker: blocking state, blocked share, blocklist age, updates
AdGuard Homeadguardusername/passwordDNS filter: protection, blocks, filter lists, upstream servers, updates
MDaemon Email Servermdaemonnone (agent on the server required), or email address/passwordMail server: agent-read queues, sessions and Windows services, plus SMTP, IMAP, POP3, webmail, version
SecurityGateway for Email Serverssecuritygatewaynone (agent on the server required), or API keyMail gateway: agent-read Windows services and queues, delivery queue and other counters
Redis / ValkeyredisACL user, password only, or noneIn-memory store: memory against maxmemory, replication, persistence, keys
MongoDBmongodbusername/password (clusterMonitor) or noneDocument database: replica set, lag, connections, WiredTiger cache
RabbitMQrabbitmqusername/password (monitoring tag)Message broker: resource alarms, nodes, partitions, queues without consumer
SQL ServermssqlSQL login (username/password)Databases not online, blocking, connections, volume space, Agent jobs, AlwaysOn
Oracle Databaseoracledatabase account (username/password), through ORDSInstance state, tablespaces, sessions, Data Guard lag, recovery area, scheduler jobs
Elasticsearch / OpenSearchelasticsearchusername/password, token or noneCluster status, unassigned shards, node disk and heap
InfluxDBinfluxdbnone or API tokenInfluxDB 2 and 3: health, readiness, uptime, memory, server errors
Apache Kafkakafkanone or SASL/PLAIN over TLSOffline and under-replicated partitions, controller, consumer group lag
CrowdSeccrowdsecnone, or bouncer API keySecurity engine: decisions, alerts, bouncers that stopped pulling, log reading
Traefiktraefiknone, or basicAuth userReverse proxy: disabled routers, backend servers down, certificates not obtained or not renewed, 5xx share
Caddycaddyread-only view user, or noneWeb server and reverse proxy: upstream health, failed reloads, handler errors, 5xx share
Prometheus exporterprometheusnone, basic auth or bearer tokenAny exporter (node_exporter, windows_exporter, cAdvisor, blackbox…): every series stored, graphed and usable in rules
OpenTelemetry sourceotlpAPI token (write scope)OTLP/HTTP receiver: metrics from an OpenTelemetry Collector or an application, logs relayed to VictoriaLogs
Nginxnginxnone, or basic authWeb server: active/waiting connections, accept/handled/request rates, NGINX Plus upstream health
Apache httpdapachenone, or basic authWeb server: busy/idle workers, scoreboard by state, request and byte rates
Nginx Proxy Managernpmuser email and password (view only)Proxy manager: hosts nginx refused, disabled hosts, certificates served
Domain expirydomainnoneRegistered domain over RDAP: days before expiry, hold, redemption period, registrar
Third-party service statusprovidernoneA provider’s public status page (Cloudflare, GitHub, Atlassian, AWS…): impact, open incidents, per-component filter; shown on status pages as an external component
Mail server reputationmail_blacklistnone, or Spamhaus DQS keyMail domain or server address against the DNS blocklists (Spamhaus, Barracuda, SpamCop…), reverse DNS, SPF, DMARC, delisting links
IP range blocklistip_blacklistnone, or Spamhaus DQS keyEvery address of a public IPv4 range up to /24 against the DNS blocklists, with delisting links
Kubernetes / k3skubernetesservice account token (read-only ClusterRole)Cluster: nodes not ready, pods crash looping or pending, workloads missing replicas, stuck volume claims
Active Directoryactivedirectoryusername/password (plain domain user)Windows domain over LDAPS: domain controllers and FSMO roles, privileged group members, password policy, security findings
Veeam Backup & Replicationveeamusername/password (Veeam Backup Viewer)Backup server: failed jobs, failed sessions, repositories filling up, license
Windows (WinRM)winrmusername/password (Remote Management Users)Windows server without an agent: CPU, memory, disks, services (including stopped automatic ones), uptime, event log errors
Kopia (beta)kopiaserver user name and passwordBackup server: last snapshot of each source (age, errors, size), sources behind their schedule, repository connection
Duplicati (beta)duplicatiweb interface passwordBackup server (2.1+): last successful backup of each task, last result, warnings and errors, task running
TailscaletailscaleOAuth client (devices:core:read) or API access tokenTailnet: servers offline, node keys expiring, devices awaiting approval
Microsoft 365m365Entra application (client ID and secret)Service health, incidents, licenses, risky users
Microsoft Entra IDentraEntra application (client ID and secret)Application secret expiry, directory sync, admin MFA
Microsoft AzureazureEntra application (client ID and secret) with the Reader role on the subscriptionResource Health of every resource and active Azure Monitor alerts by severity
AWS (CloudWatch)awsAccess key ID and secret (read-only IAM user, optional role)CloudWatch alarms in ALARM, EC2 status checks and CPU, RDS CPU and free storage
CloudflarecloudflareAPI token (read-only)Zones, tunnels, certificates, 5xx errors, load balancer pools
Hetzner CloudhetznerAPI token (read-only)Servers, CPU, volumes, backups
OVHcloudovhOVHcloud API token (application key, application secret and consumer key) with GET /vps* and GET /dedicated/server*State and running tasks of the VPS and dedicated servers
InfomaniakinfomaniakInfomaniak API token with the Products scopeExpiry dates, locks and maintenance of domains, hosting and other products
Nextcloudnextcloudmonitoring token (NC-Token)File sync: maintenance mode, pending upgrade, updates, active users, OPcache
ImmichimmichAPI keyPhoto library: job queues, updates, disk, photo counts
Paperless-ngxpaperlessAPI token or username/passwordDocuments: Redis, Celery, index, failed imports, updates
JellyfinjellyfinAPI keyMedia server: failed scheduled tasks, plugins, streams and transcodes
Plex Media ServerplexX-Plex-Token, or none from an allowed networkMedia server: streams, transcodes, libraries, updates
GitLab (self-managed)gitlabpersonal access tokenForge: Sidekiq backlog, CI runners, pending migrations, sign-up/2FA settings, licence
Forgejo / Giteaforgejoaccess tokenForge: health check, scheduled tasks, Actions runners, repository/account counts
Sonarr (beta)sonarrAPI keySeries: health, failing clients and indexers, queue errors, disk, updates
Radarr (beta)radarrAPI keyMovies: health, failing clients and indexers, queue errors, disk, updates
Lidarr (beta)lidarrAPI keyMusic: health, failing clients and indexers, queue errors, disk, updates
Prowlarr (beta)prowlarrAPI keyIndexers: health, indexers disabled after failures, disk, updates
qBittorrent (beta)qbittorrentuser name and password, or noneTorrent client: torrents in error, lost connectivity, speeds, free space
UniFi Protect (beta)unifiprotectlocal user name and passwordCameras: offline or not recording, NVR disks and storage
Frigate NVR (beta)frigatenone or bearer tokenNVR: cameras without frames, detector hangs, frame rates, recording storage
Keycloak (beta)keycloaknone, or client ID and secretIdentity: readiness and database, realms, sessions, users
authentik (beta)authentikAPI tokenIdentity: readiness, workers, failed tasks, outposts, updates
Vaultwarden (beta)vaultwardennone, or admin tokenPassword vault: liveness, version, open sign-ups, account counts
mailcow (beta)mailcowread-only API keyMail server: stopped containers, queue, mail volume, mailbox quotas
Server with agentagentnone (enrollment token)Linux, Windows, Raspberry Pi, Hyper-V host
Website or web APIhttpnone, username/password or tokenHealth page, REST API
Network porttcpnoneSSH, SMB, database
Domain namednsnoneYour domain, an internal name
Reachable hostpingnoneGateway, access point, printer
TLS certificatetlsnoneIMAPS, LDAPS, reverse proxy
SMTP serversmtpnone, or username/passwordMail server: greeting, STARTTLS, certificate, optional login
PostgreSQLpostgresusername/passwordDatabase: connection and a query you choose
MySQL or MariaDBmysqlusername/passwordDatabase: connection and a query you choose
MQTT brokermqttnone, or username/passwordBroker: connection, subscription, retained message
WebSocketwebsocketnone, username/password or tokenWebSocket endpoint: handshake, optional message exchange
NTP time serverntpnoneRouter, NAS, internal time server, public pool server
SNMP valuesnmp_oidSNMP community or v3 userOne SNMP object: sensor, UPS status, version string, with bounds or expected text
RADIUS serverradiusshared secret and test accountFreeRADIUS, Windows NPS: a real authentication
gRPC servicegrpcnoneMicroservice, etcd: the standard gRPC health check
Heartbeatpushnone (secret URL)Cron job, backup script, automation that must call in
Website changeswebchangenoneA page or a whole site: text changes, new and removed pages, before/after with screenshots
Website health & SEOwebsitenoneSites in bulk: down, blank page, redirects, noindex, robots.txt, title/description/canonical changes, platform (CSV import)
Demo monitordummynoneExplore the UI without hardware

The scheduler runs every enabled monitor on its own interval (default 60 s, minimum 10 s) through the collector for its kind, with at most DUMBMONIT_MAX_CONCURRENT_PROBES probes in flight and a hard timeout of DUMBMONIT_PROBE_TIMEOUT_SECS per probe. Each successful probe writes its samples plus dumbmonit_up = 1; a failed probe writes nothing, and it is the silence of the series that the “Monitor unreachable” rule detects. The monitor page shows the failure at the next probe, but the alert waits on purpose: it fires about four minutes after the last successful probe (three minutes of silence, then a one-minute hold), so a single lost probe never pages anyone.

Failures are classified. A monitor that does not answer is unreachable and raises an alert. A wrong community, a refused certificate or a missing capability is a configuration error: it is shown on the monitor page, in red, with the reason, and it is not notified. The distinction matters: a misconfigured monitor should not wake anyone up at night.

Some types read options from the monitor’s tags: the API port, whether to accept a self-signed certificate, which nodes to monitor. The form shows a typed field per option under More options, with its default and help text. The per-kind pages list them verbatim. Options are settings, not labels: they are not copied on the series. Free tags (any other key) are copied on every series as tag_<key> labels, except keys that name a secret (matched per word: password, token, key, cert, secret, pass, private, pem…, so primary_key is skipped but keyboard is not) and values longer than 256 characters. Never put a secret in a tag anyway: use the credential field, which is encrypted.

Any monitor can declare another one as its parent. When the parent is unreachable, alerts from its descendants are marked Suppressed by parent instead of being sent: a switch going down produces one notification, not thirty. On the Monitors page, children stack under their parent and dim when it is unreachable.