DumbMonit

Monitore

Websites, Zertifikate und Prüfungen

Webseiten und APIs, Ports, DNS, Ping, TLS-Zertifikate, Zeitserver, Domain-Ablauf, Heartbeats und Website-Änderungen.

Beschreibungen der Monitore und Texte der Alarmregeln sind wie im Produkt auf Englisch. Die Beschriftungen der Seite folgen Ihrer Sprache.

Website or web API (HTTP)

http

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

Beispiele

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

Was Sie brauchen

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

Kein Konto nötig.

Standardport: 443

Mitgelieferte Alarmregeln 5

  • WarnungService downThe service has not responded correctly for three minutes.
  • HinweisService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • HinweisSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
  • HinweisCertificate expiring soonThe certificate expires in less than fourteen days.
  • WarnungCertificate expiredThe certificate has expired.
Einrichtungsschritte: 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.

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

Dokumentation

Network port (TCP)

tcp

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

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Mitgelieferte Alarmregeln 3

  • WarnungService downThe service has not responded correctly for three minutes.
  • HinweisService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • HinweisSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
Einrichtungsschritte: 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.

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

Dokumentation

UDP service

udp

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

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Mitgelieferte Alarmregeln 1

  • WarnungMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Einrichtungsschritte: 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.

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

Dokumentation

Domain name (DNS)

dns

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

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Standardport: 53

Mitgelieferte Alarmregeln 3

  • WarnungService downThe service has not responded correctly for three minutes.
  • HinweisService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • HinweisSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
Einrichtungsschritte: 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".

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

Dokumentation

Reachable host (ping)

ping

A host answers ICMP: response time and packet loss.

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Mitgelieferte Alarmregeln 3

  • WarnungService downThe service has not responded correctly for three minutes.
  • HinweisService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • HinweisSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
Einrichtungsschritte: 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.

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

Dokumentation

TLS certificate

tls

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

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Standardport: 443

Mitgelieferte Alarmregeln 3

  • WarnungService downThe service has not responded correctly for three minutes.
  • HinweisCertificate expiring soonThe certificate expires in less than fourteen days.
  • WarnungCertificate expiredThe certificate has expired.
Einrichtungsschritte: 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".

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

Dokumentation

NTP time server

ntp

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

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Standardport: 123

Mitgelieferte Alarmregeln 3

  • WarnungService downThe service has not responded correctly for three minutes.
  • HinweisService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • HinweisSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
Einrichtungsschritte: 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.

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

Dokumentation

SSH server

ssh

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

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Standardport: 22

Mitgelieferte Alarmregeln 1

  • WarnungMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Einrichtungsschritte: 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.

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

Dokumentation

gRPC service

grpc

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

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Standardport: 50051

Mitgelieferte Alarmregeln 1

  • WarnungMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Einrichtungsschritte: 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.

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

Dokumentation

WebSocket endpoint

websocket

Completes the upgrade handshake, and can exchange a frame.

Beispiele

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

Was Sie brauchen

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

Kein Konto nötig.

Standardport: 443

Mitgelieferte Alarmregeln 5

  • WarnungService downThe service has not responded correctly for three minutes.
  • HinweisService flappingThe service changed state more than six times in thirty minutes (changes(dumbmonit_probe_success{probe!="push"}[30m])).
  • HinweisSlow serviceThe service takes more than three seconds to respond; failed checks are left out.
  • HinweisCertificate expiring soonThe certificate expires in less than fourteen days.
  • WarnungCertificate expiredThe certificate has expired.
Einrichtungsschritte: 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.

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

Dokumentation

Heartbeat (push)

push

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

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Mitgelieferte Alarmregeln 1

  • HinweisHeartbeat missedThe job has not called in within its expected interval plus grace period, or reported a failure itself).
Einrichtungsschritte: 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.

Hinweis. 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.

Dokumentation

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.

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Mitgelieferte Alarmregeln 5

  • HinweisDomain expiringThe domain expires in less than 30 days.
  • WarnungDomain about to expireThe domain expires in less than 7 days, or has expired.
  • WarnungDomain on holdThe registry put the domain in clientHold or serverHold: it is out of the DNS.
  • WarnungDomain in redemptionThe domain is in redemptionPeriod, pendingDelete or pendingRestore: it has expired.
  • WarnungMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Einrichtungsschritte: 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/

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

Dokumentation

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.

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Mitgelieferte Alarmregeln 1

  • WarnungMonitor unreachableNo measurement received for more than three minutes. bottomk by (target) (1, time() - tlast_over_time(dumbmonit_up[7d]))
Einrichtungsschritte: 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.

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

Dokumentation

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.

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Standardport: 443

Mitgelieferte Alarmregeln 2

  • WarnungService 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.
Einrichtungsschritte: 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.

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

Dokumentation

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.

Beispiele

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

Was Sie brauchen

Kein Konto nötig.

Standardport: 443

Mitgelieferte Alarmregeln 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.
Einrichtungsschritte: 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.

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

Dokumentation