MoonitorMoonitor
Browse documentation

Monitor types

Moonitor has eight kinds of monitor, each built for a different way things break. Here’s what each one checks, when to reach for it, and exactly what counts as down.

Every monitor watches one thing and answers one question: is it healthy right now? The eight types below cover websites, APIs, servers, ports, scheduled jobs, DNS records, and certificates. Pick the type that matches what you actually care about, and Moonitor handles the checking and alerting for you.

Note

Which types you can create depends on your plan. Solo includes Website/API, Ping and SSL. Team and Max include every type. See Plans & billing for the full breakdown.

At a glance

Not sure which to choose? This table sums up what each monitor watches and when to reach for it. The full details for every type are just below — tap a name to jump to it.

MonitorWhat it watchesReach for it when…
Website / APIA website or API address (URL)You want a public page or API kept online
KeywordSpecific words on a pageA page can load but still show the wrong thing
PingWhether a server answersA server or device that has no web page
Port (TCP)A specific port on a serverDatabases, mail servers, SSH and the like
Cron / HeartbeatThat a scheduled job actually ranBackups, cron jobs and background tasks
DNSA DNS record's valueYou want to catch DNS records changing
SSL certificateWhen an HTTPS certificate expiresYou never want a certificate to lapse
Domain expiryWhen a domain registration expiresYou never want to lose a domain you own

Website / API (HTTP)

Checks an HTTP or HTTPS URL. Enter the full URL including https://. Moonitor sends a GET request on every check, follows redirects, checks that the SSL certificate is valid, and records the response time. This is the right choice for websites and API endpoints.

  • What it checks: that your URL responds with an acceptable status code.
  • When to use it: any public website or API endpoint you want to keep online.
  • Counts as UP: the request succeeds with a 2xx success code or a common redirect (301, 302, 307, 308).
  • Counts as DOWN: it can’t connect, the request times out, or the status code isn’t in the accepted set.

Keyword

Fetches a page just like the HTTP check, then looks inside the page’s content for a word or phrase you choose. You enter the page’s URL and the keyword to look for. It’s great for catching soft failures, where the page loads fine but the content is wrong. There are two modes:

  • Alert when the keyword is missing: use this when the page should always contain the text, such as a product name.
  • Alert when the keyword is present: use this when the text should never appear, such as an error message like “500” or “maintenance”.
  • Counts as DOWN: the keyword condition is violated, or the page can’t be fetched at all.

Ping (reachability)

Checks that a host is reachable. Enter a hostname or an IP address. Use this for servers, routers and devices where you just need to know it’s online.

  • What it checks: whether the host responds.
  • When to use it: servers, routers and network devices that don’t serve a web page.
  • Counts as DOWN: the host can’t be reached.

Behind the scenes, Moonitor treats a host as reachable if it can open a connection on one of the common ports used for web and remote-access traffic. If your service answers only on a specific, unusual port, use a Port (TCP) monitor instead, so you’re checking exactly the right one.

Port (TCP)

Checks that a specific TCP port on a host is open and accepting connections. Enter a Host and a Port — for example 443 for HTTPS, 5432 for PostgreSQL, or 22 for SSH. Use this for databases, mail servers and other non-HTTP services.

  • What it checks: that the port accepts a TCP connection.
  • When to use it: databases, mail servers and any service that listens on a known port.
  • Counts as DOWN: the port is closed or the host is unreachable.

Cron / Heartbeat

A push monitor — instead of Moonitor checking you, your scheduled job pings a URL we give you, and we alert you if a ping doesn’t arrive in time. Use this for cron jobs, backups and background workers.

  • What it checks: that an expected ping arrives on schedule.
  • When to use it: jobs that run on their own schedule rather than serving requests.
  • Counts as DOWN: the expected ping doesn’t arrive in time.

Heartbeats work a little differently from the rest, so they have their own guide. See Heartbeats & cron for setup and the ping URL.

DNS

Resolves a DNS record for a hostname. Choose the record type — A, AAAA, CNAME, MX, TXT or NS. Optionally provide an expected value to be sure the record matches what it should. Use this to detect unexpected or unauthorised DNS changes.

  • What it checks: that the chosen record resolves (and, if you set one, matches your expected value).
  • When to use it: guarding against DNS records being changed or removed without you knowing.
  • Counts as DOWN: when you’ve set an expected value and the record is missing or doesn’t match it.

SSL certificate

Inspects the TLS/SSL certificate of a host or URL and warns you before it expires. You set Warn before expiry (days) — the threshold at which the monitor goes down. The default is 2 days (48 hours). Use this so you’re never surprised by an expired certificate.

  • What it checks: the certificate’s expiry date, and records it on every check.
  • When to use it: any service whose certificate you don’t want to let lapse.
  • Counts as DOWN: the certificate is within your warning threshold, or has already expired.

The dashboard surfaces certificates expiring within 30 days under Expiring soon, so renewals never sneak up on you.

Domain expiry

Checks when your domain name’s registration is due to expire — by reading the domain’s public registry record — and warns you well ahead of time, so you never lose a domain you simply forgot to renew. (This is different from the SSL certificate, which is about encryption; this one is about owning the domain name itself.)

  • What it checks: the date the domain’s registration expires, recorded on every check.
  • When to use it: domains you own and never want to let expire by accident.
  • Counts as DOWN: when the registration is within 30 days of expiring, or has already expired.

Like SSL monitors, upcoming domain expiries also appear in your dashboard under Expiring soon, so renewals never sneak up on you.

Tip

A monitor’s type can’t be changed after it’s created — if you picked the wrong one, just create a new monitor (see Managing monitors). And remember that SSL and Domain monitors capture the expiry date, so you can plan renewals well ahead of time.