DumbMonit

Monitor

Siti web, certificati e controlli

Pagine web e API, porte, DNS, ping, certificati TLS, server orari, scadenza dei domini, heartbeat e modifiche ai siti.

Le descrizioni dei monitor e i testi delle regole di avviso sono in inglese, come nel prodotto. Le etichette della pagina seguono la tua lingua.

Website or web API (HTTP)

http

A page or API answers with the right status and content, over a valid certificate.

Esempi

  • Website
  • Application health page
  • REST API
  • Self-hosted service interface

Cosa serve

  • Username / passwordSent as HTTP basic authentication.
  • Bearer tokenSent as "Authorization: Bearer …" on every request.

Nessun account necessario.

Porta predefinita: 443

Regole di avviso incluse 5

  • AllarmeService downThe service has not responded correctly for three minutes.
  • AvvisoService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • AvvisoSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
  • AvvisoCertificate expiring soonThe certificate expires in less than fourteen days.
  • AllarmeCertificate expiredThe certificate has expired.
Passaggi di configurazione: Monitor a web page
  1. In the address, paste the full URL of the page to monitor.

  2. Prefer a light page such as "/health" or "/status" over the home page.

  3. If the page needs a login, choose a credential: username and password (basic) or a token (Bearer).

  4. Optionally require a keyword in the page or a value in a JSON response, in the options.

Attenzione. Never write a password or a token in the options: use the credential field, which is encrypted.

Documentazione

Network port (TCP)

tcp

A port accepts connections: SSH, a file share, a game server, anything without its own probe.

Esempi

  • SSH
  • SMB or NFS share
  • Database
  • Game server
  • Network printer

Cosa serve

Nessun account necessario.

Regole di avviso incluse 3

  • AllarmeService downThe service has not responded correctly for three minutes.
  • AvvisoService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • AvvisoSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
Passaggi di configurazione: Monitor a port
  1. In the address, write the host and the port separated by a colon: "nas.home.lan:22", or "[fd00::1]:445" for IPv6.

  2. Or leave the port out of the address and fill in the "Port" option.

Attenzione. An open port does not prove the application works: for a web service, use the "Website or web API" type.

Documentazione

UDP service

udp

Sends a datagram to a UDP port and checks the reply, or that nobody refuses it.

Esempi

  • A game or VoIP server
  • A syslog or SNMP listener
  • A WireGuard endpoint
  • A custom UDP service that answers a ping message

Cosa serve

Nessun account necessario.

Regole di avviso incluse 1

  • AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Monitor a UDP service
  1. In the address, write the host and the UDP port: "192.168.1.20:5060". The port is required.

  2. To check that the service really answers, fill in "Datagram to send" and "Expected reply".

  3. Without an expected reply, the check only fails when the host answers that the port is closed.

Attenzione. UDP has no connection: without an expected reply, a firewall that silently drops the datagrams looks healthy.

Documentazione

Domain name (DNS)

dns

A name resolves, and points to the address you expect.

Esempi

  • Your domain name
  • An internal name served by your Pi-hole or AdGuard
  • An MX record

Cosa serve

Nessun account necessario.

Porta predefinita: 53

Regole di avviso incluse 3

  • AllarmeService downThe service has not responded correctly for three minutes.
  • AvvisoService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • AvvisoSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
Passaggi di configurazione: Monitor a DNS resolution
  1. In the address, write the name to resolve, without "http://": "www.example.com".

  2. Pick another record type in the options if you do not want an IPv4 address (A record).

  3. To monitor your own DNS server, enter its IP address in "DNS server to query".

  4. To detect hijacking, list the addresses the answer must contain in "Expected values".

Attenzione. Give the DNS server by its IP address, not by a name.

Documentazione

Reachable host (ping)

ping

A host answers ICMP: response time and packet loss.

Esempi

  • Home router or gateway
  • Wi-Fi access point
  • Printer
  • Machine without agent or SNMP
  • Remote host

Cosa serve

Nessun account necessario.

Regole di avviso incluse 3

  • AllarmeService downThe service has not responded correctly for three minutes.
  • AvvisoService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • AvvisoSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
Passaggi di configurazione: Monitor a host with ping
  1. In the address, write the host name or IP address: "192.168.1.1" or "router.home.lan".

  2. Lower "Tolerated loss" in the options to be warned before the loss is total.

Attenzione. In Docker, keep the sysctls lines of the shipped docker-compose.yml, or the check cannot send pings.

Documentazione

TLS certificate

tls

A certificate is valid on any TLS port, with a warning well before it expires.

Esempi

  • Mail server (IMAPS, SMTPS)
  • Reverse proxy
  • LDAPS directory
  • MQTT broker
  • Administration interface

Cosa serve

Nessun account necessario.

Porta predefinita: 443

Regole di avviso incluse 3

  • AllarmeService downThe service has not responded correctly for three minutes.
  • AvvisoCertificate expiring soonThe certificate expires in less than fourteen days.
  • AllarmeCertificate expiredThe certificate has expired.
Passaggi di configurazione: Monitor a certificate
  1. In the address, write the host and the port of the encrypted service: "mail.example.com:993" (443 if omitted).

  2. If you reach the service by its IP address, enter the certificate's name in "Server name (SNI)".

  3. For a certificate from your own authority, tick "Accept an unverifiable certificate".

Attenzione. For a website, the "Website or web API" type already reads the certificate: use this type for services that do not speak HTTP.

Documentazione

NTP time server

ntp

A time server answers SNTP with a sane clock: offset, delay, stratum and leap indicator.

Esempi

  • A router or NAS acting as a local time server
  • An internal NTP server (chrony, ntpd)
  • A public pool server used as a reference

Cosa serve

Nessun account necessario.

Porta predefinita: 123

Regole di avviso incluse 3

  • AllarmeService downThe service has not responded correctly for three minutes.
  • AvvisoService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • AvvisoSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
Passaggi di configurazione: Monitor an NTP server
  1. In the address, write the server's name or IP address: "pool.ntp.org" or "192.168.1.1".

  2. Lower "Tolerated offset" in the options to be warned earlier than 100 ms.

Attenzione. Keep the DumbMonit host itself in sync: its own drift is added to the measured offset.

Documentazione

SSH server

ssh

Reads the SSH banner and, if you ask, checks that the host key is still the one you know.

Esempi

  • A Linux server or a Raspberry Pi
  • A NAS or a hypervisor with SSH enabled
  • A bastion host
  • A Git server over SSH

Cosa serve

Nessun account necessario.

Porta predefinita: 22

Regole di avviso incluse 1

  • AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Monitor an SSH server
  1. In the address, write the host name or IP address, with the port if it is not 22: "server.home.lan:2222".

  2. To be warned when the server's identity changes, read its fingerprint with ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub.

  3. Paste that fingerprint (SHA256:...) in "Expected host key", or tick "Alert when the host key changes" to record it without choosing one.

Attenzione. The check never logs in and does not verify the server's signature: it reads the key the server shows, like ssh-keyscan.

Documentazione

gRPC service

grpc

Calls the standard gRPC health check (grpc.health.v1): catches a service that is up but reports itself unhealthy.

Esempi

  • A gRPC microservice
  • etcd
  • A service behind Envoy or a service mesh
  • Any server that registers grpc.health.v1

Cosa serve

Nessun account necessario.

Porta predefinita: 50051

Regole di avviso incluse 1

  • AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Monitor a gRPC service
  1. Check that the server registers the standard health service (grpc.health.v1.Health): most gRPC frameworks have a one-line helper for it.

  2. In DumbMonit, enter the server with its port, for example grpc.home.lan:50051.

  3. Tick Encrypted connection (TLS) for a server that requires it; the port then defaults to 443.

  4. Optional: name a Service, to check its own health instead of the whole server's.

Attenzione. The check only sees what the health service reports: a server that always answers SERVING proves nothing about the methods behind it.

Documentazione

WebSocket endpoint

websocket

Completes the upgrade handshake, and can exchange a frame.

Esempi

  • The Home Assistant API
  • A live dashboard
  • A log stream
  • An endpoint behind a reverse proxy

Cosa serve

  • Username / passwordSent as HTTP basic authentication.
  • Bearer tokenSent as "Authorization: Bearer …" on every request.

Nessun account necessario.

Porta predefinita: 443

Regole di avviso incluse 5

  • AllarmeService downThe service has not responded correctly for three minutes.
  • AvvisoService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • AvvisoSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
  • AvvisoCertificate expiring soonThe certificate expires in less than fourteen days.
  • AllarmeCertificate expiredThe certificate has expired.
Passaggi di configurazione: Monitor a WebSocket endpoint
  1. In DumbMonit, paste the full endpoint, for example wss://home.example.com/api/websocket (wss is assumed without a scheme).

  2. Optional: fill in Expected content with a fragment of the first frame the server sends by itself.

  3. Optional: if the endpoint says nothing until spoken to, put a message in Frame to send, and what the answer must contain in Expected content.

Attenzione. The check hangs up within a second: a connection that a firewall or proxy cuts after thirty seconds looks healthy here.

Documentazione

Heartbeat (push)

push

Your cron job or backup script calls DumbMonit; when it goes quiet, you are told.

Esempi

  • Nightly backup script
  • Cron job
  • Home Assistant automation
  • Certificate renewal
  • Database dump

Cosa serve

Nessun account necessario.

Regole di avviso incluse 1

  • AvvisoHeartbeat missedThe job has not called in within its expected interval plus grace period, or reported a failure itself).
Passaggi di configurazione: Make the job call in
  1. In the address, write a short label for the job, unique among your heartbeats: "nightly-backup".

  2. Set the expected interval to the job's schedule ("24h" for a nightly job), or give a cron expression and a time zone, then save the monitor.

  3. Copy the URL shown on the monitor page and call it at the end of the job.

    curl -fsS -m 10 --retry 3 https://monit.example.com/api/push/<token>
  4. To time the job, call .../start before it, then .../success or .../fail after it, with its output as the request body. Send an exit code as ?exit_code=2 or as .../2.

  5. To report a failure at once, append ?status=down&msg=... to the URL.

Attenzione. Call the URL at the end of the job, after the part that matters: a call at the top would report a success even when the job fails.

Documentazione

Domain expiry

domain

A registered domain, read from its registry over RDAP: days left before expiry, a hold that takes it out of the DNS, a redemption period, and its registrar.

Esempi

  • example.com
  • Your company's domain
  • The domain of your mail server

Cosa serve

Nessun account necessario.

Regole di avviso incluse 5

  • AvvisoDomain expiringThe domain expires in less than 30 days.
  • AllarmeDomain about to expireThe domain expires in less than 7 days, or has expired.
  • AllarmeDomain on holdThe registry put the domain in clientHold or serverHold: it is out of the DNS.
  • AllarmeDomain in redemptionThe domain is in redemptionPeriod, pendingDelete or pendingRestore: it has expired.
  • AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Watch a domain's registration
  1. Enter the registered domain, for example "example.com", not a name under it such as www.example.com.

  2. For an extension the IANA does not list, such as .ch, set "RDAP server" to the registry's address.

    https://rdap.nic.ch/

Attenzione. A domain in clientHold or serverHold is taken out of the DNS: every site and mailbox under it stops.

Documentazione

Third-party service status

provider

The public status page of a provider you depend on (Cloudflare, GitHub, Atlassian, AWS…), read as a monitor: it fails when the provider reports an incident, so you hear about it before your users do.

Esempi

  • Cloudflare
  • GitHub
  • Atlassian Cloud
  • The AWS Health feed

Cosa serve

Nessun account necessario.

Regole di avviso incluse 1

  • AllarmeMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Passaggi di configurazione: Watch a provider's status page
  1. Enter a provider name (cloudflare, github, atlassian, aws, discord, npm…; the full list is in the guide), or the address of a Statuspage page or RSS/Atom feed.

  2. To watch one part of the provider only, enter its name under Component, for example "Workers" or "EC2".

  3. Choose what makes the monitor fail: any degradation, a partial outage or worse, or a major outage only.

Attenzione. The monitor reads what the provider chooses to publish, often minutes after the fact: it complements your own checks and never replaces them.

Documentazione

Website health & SEO

website

Know when a website breaks, goes blank, drops out of search engines or changes its title, description or canonical address, for one site or hundreds.

Esempi

  • Company website
  • Online shop
  • Customer sites you host
  • Landing pages
  • Blog or documentation

Cosa serve

Nessun account necessario.

Porta predefinita: 443

Regole di avviso incluse 2

  • AllarmeService downThe service has not responded correctly for three minutes.
  • InfoWebsite changedA check of a watched page or site found pages that changed, appeared or disappeared. Each such check is notified and names the pages, under the same alert while it fires; it resolves at the first check that finds nothing new.
Passaggi di configurazione: Watch a website
  1. In the address, paste the page to check, usually the home page.

  2. Optionally fill in "Expected text" with a phrase the page must always show.

  3. To add many sites at once, import a CSV file from the monitor list.

Attenzione. Only what the server sends is read: for a page drawn by JavaScript, set "Blank page below" to 0.

Documentazione

Website changes

webchange

Be told when the content of a page, or of a whole site, changes, with a before/after view of each change.

Esempi

  • Pricing or terms page
  • Documentation site
  • Supplier's status or maintenance notice
  • Public announcement page
  • Your own site after a deployment

Cosa serve

Nessun account necessario.

Porta predefinita: 443

Regole di avviso incluse 1

  • InfoWebsite changedA check of a watched page or site found pages that changed, appeared or disappeared. Each such check is notified and names the pages, under the same alert while it fires; it resolves at the first check that finds nothing new.
Passaggi di configurazione: Watch a website for changes
  1. In the address, paste the page to watch, with http:// or https://.

  2. To follow a whole site or section, set "Scope" to "site".

  3. List lines that change at every visit (a clock, a counter) in "Ignore lines", as regular expressions.

  4. For a screenshot of each version, follow the "Screenshots" section of this page.

Attenzione. Only the text the server sends is compared: pages drawn by JavaScript or behind a login are not followed.

Documentazione