FIX · UPTIME MONITORING
Uptime monitoring that knows a blip from an outage.
Check your site every five minutes, confirm an outage before anyone is woken, and keep the domain, SSL certificate, DNS and hosting renewals that quietly take sites offline in the same place. One set of alerts, no credits and nothing to install.
- Re-checked before an outage is confirmed
- Domain, SSL, DNS and hosting renewals
- No credits, nothing installed on the site
5 minutes
between checks, from Cloudflare’s network
2 checks
to confirm an outage, and two good ones to close it
4 deadlines
domain, SSL, hosting and DNS changes, watched
0 credits
and nothing to install on the site
INSIDE THE PRODUCT
Is the site up, and is anything about to lapse?
Uptime and incidents first, then the renewals and records behind them, with alerts for all of it.
Uptime checks
Check every five minutes, and confirm before alerting
Each check records the status, response time and the Cloudflare location it ran from. A failed check is repeated about 15 seconds later, and only a second failure confirms an outage and sends an alert, so a single blip never wakes anyone.
- Every five minutes, the shortest the scheduler runs
- Re-checked before an outage is confirmed
- Two good checks in a row to recover
| Time | Status | Response |
|---|---|---|
| 10:05 | 200 Up | 398 ms |
| 10:00 | 200 Up | 412 ms |
| 09:55 | 503, re-checked, 503 | Outage confirmed |
| 09:50 | 200 Up | 405 ms |
Degraded & challenges
Tell a broken page from a slow one and a firewall
Degraded means the site answered, but slowly or with an error page such as a database connection error served with HTTP 200. A CDN or firewall challenge is shown as a challenge, never counted as an outage or against uptime.
- Error pages behind a 200 status
- Slow responses marked degraded
- CDN challenges kept out of uptime
- UpHomepage99.94% observed uptime
- Degraded/checkout/Database error page with HTTP 200
- ChallengeHomepage“Just a moment…” from the CDN, not counted
- DownAPI healthConfirmed 09:55, recovered 10:05
Pages, apis & heartbeats
Monitor what a homepage check cannot prove
Add page monitors with text the page must contain, API checks with an optional header and an expected JSON field, and heartbeats for scheduled jobs that call a URL when they finish. A missed ping opens an incident.
- Pages: checkout, login, key landing pages
- API checks: GET or HEAD, expected JSON field
- Heartbeats for backups and scheduled jobs
| Monitor | Type | Every |
|---|---|---|
| Homepage | Page | 5 min |
| /checkout/ must contain “Place order” | Page | 5 min |
| /api/health status = ok | API | 5 min |
| Nightly backup | Heartbeat | 24 h + 30 min grace |
Incidents
Every outage with its timeline
Each outage or missed heartbeat keeps when it was detected, confirmed and recovered, what each check saw and where it ran from, so the post-mortem starts from evidence.
- Detected, confirmed, recovered
- What every check returned
- Probe location per check
- Detected09:55:02503 from the origin
- Confirmed09:55:18Re-check returned 503
- Recovering10:00:01200, first good check
- Recovered10:05:03Second good check · 10 minutes down
Domain & ssl
Registry dates and the certificate you actually serve
Domain registration comes from the registry’s RDAP service daily, including KeNIC for .ke and .co.ke, with registry and registrar expiry kept apart. The certificate each https host serves is checked twice a day for expiry, issuer, names and trust.
- RDAP from the registry, KeNIC for .ke
- Grace period and hold raise alerts
- Served certificate, Certificate Transparency as a labelled fallback
| Item | Expires | Source |
|---|---|---|
| Domain (registry) | 14 Mar 2027 | KeNIC RDAP |
| Domain (registrar) | 14 Mar 2027 | RDAP |
| SSL certificate | 21 Nov 2026 | Served certificate |
| Renewal | Payment submitted | Your record |
Hosting renewals
Hosting renewals with honest statuses
Hosting dates are not public, so each plan says where its date came from: you, or a read-only WHMCS connection. One plan can serve many sites. Auto-renew being on is never treated as paid.
- Upcoming, due soon, overdue, suspended and more
- Shared plans across projects
- Read-only WHMCS connector
- Due soonBusiness hosting12 Nov · serves 3 sites
- UpcomingSSL · yourstore.co.ke21 Nov
- PendingVPS planPayment pending since 25 Oct
- Confirmedyourstore.co.ke domainPaid through 14 Mar 2027
Dns & alerts
DNS changes and one alert per problem
DNS records are checked every six hours and every change is kept. Nameserver, mail and CAA changes alert; you can set an expected value on any record. Alerts go once per problem and again on recovery, by webhook, Telegram or email.
- A, AAAA, NS, MX, TXT, CAA and CNAME
- Reminders at 90, 60, 30, 14, 7, 3 and 1 days
- Quiet hours hold low-severity notices only
- SentHomepage downTelegram · recovered 10 minutes later
- SentMX record changedWebhook to the team channel
- HeldLow-severity noticeQuiet hours until 07:00
- ReminderSSL expires in 30 daysEmail
WHAT IT MEASURES
What uptime monitoring records.
What each metric tells you, and where it comes from.
| Metric | What it tells you | Source |
|---|---|---|
| Status | Up, degraded, down, challenge or unknown for each monitor. | Ndovu checks from Cloudflare’s network |
| Observed uptime | Share of checks that were not down, leaving out maintenance windows and CDN challenges. “—” with no checks, never 100%. | Your monitors |
| Response time | How long each check took, per day and for the last 24 hours. | Your monitors |
| Incidents | Outages and missed heartbeats with detected, confirmed and recovered times. | Your monitors |
| Domain expiry | Registry and registrar expiration dates, kept apart, with statuses such as grace period or hold. | Registry RDAP (KeNIC for .ke) |
| SSL certificate | Expiry, issuer, names covered and browser trust. | Served certificate or Certificate Transparency |
| Hosting renewal | Next payment date and status for each plan, and the sites it serves. | You or WHMCS |
| DNS records | Current records and every change. | DNS lookups every six hours |
UNDER THE HOOD
How uptime monitoring decides what is down.
How the numbers are produced, so you can judge them for yourself.
Checks on a five-minute cron
A scheduler runs every five minutes on Cloudflare’s network, checks each due monitor and records the location it ran from. If the scheduler itself stops, every status turns Unknown rather than keeping its last value.
An outage state machine
One failed check starts a re-check about 15 seconds later. Only a second failure confirms the outage and alerts. Recovery needs two good checks in a row, so a flapping site does not send a storm of messages.
Safe requests
Every request, including each redirect hop, is screened so a monitor cannot be pointed at private network addresses. Monitors identify themselves as NdovuSEOLabs-Monitor, which you can allow through a firewall.
Dates that are never guessed
A registry date moving forward is recorded but not treated as a paid renewal, and auto-renew is never treated as payment. Your own renewal record stays a declaration until the registry agrees.
HOW IT WORKS
From a domain to monitoring you can rely on.
Four steps from connecting your data to a decision you can stand behind.
Start monitoring
New projects with a domain start automatically: homepage, domain, certificate and DNS. Existing projects start with one click.
Close the gaps
Add page monitors for checkout or login, API checks and heartbeats for scheduled jobs.
Route the alerts
Add webhook, Telegram or email channels, quiet hours, maintenance windows and reminder days.
Review and renew
Read incidents, then record domain and hosting renewals as you pay them.
WITH YOUR AI AGENT
Ask whether the site was down, and what expires next.
Two read-only MCP tools and the Uptime & Renewal Audit skill let your agent report from Site Monitoring’s own records. Agents cannot renew, pay or change monitors.
- Read-only: get_site_monitoring, get_upcoming_renewals
- Uptime & Renewal Audit skill
- Renewing and paying stay with people
YouWas yourstore.co.ke down this week, and is anything about to lapse?
get_site_monitoringget_upcoming_renewalsget_request_intelligence
AgentOne confirmed outage: 10 minutes on Tuesday from 09:55, the origin answering 503. Googlebot got two 503s in the same window. Observed uptime is 99.94% over 30 days from Cloudflare’s network. The SSL certificate expires in 23 days and the business hosting plan is due on 12 November.
YouWhich pages are not monitored?
AgentOnly the homepage and /checkout/ have monitors. Login and the nightly backup have none; a page monitor and a heartbeat would close the biggest gaps.
Illustration · sample data
USE CASES
Built for the way you work.
How teams put it to work.
Never miss a client renewal
One calendar for every client’s domain, certificate and hosting, with the sites each plan serves.
Know checkout works, not just the homepage
A page monitor that checks the checkout contains its button catches a broken store that still answers 200.
Watch the jobs nobody sees
Heartbeats for backups and imports open an incident when a job does not report in on time.
Keep the .co.ke domain safe
Registry data from KeNIC and reminders from 90 days out, so a lapsed card never takes the site offline.
ALSO INCLUDED
Also in Site Monitoring.
More capabilities that come with it, in the same project.
All sites monitoring
Every site’s status, 30-day uptime, response trend and countdowns, with filters for down, expiring and unmonitored.
Reliability from your logs
Error rates and response times from your own server or CDN logs, beside the synthetic checks.
Maintenance windows
Planned work is left out of uptime and does not alert.
DATA & LIMITS
Know what an uptime result can and cannot tell you.
Where the data comes from, how fresh it is, and the questions it cannot answer on its own.
| Source | What it provides | Freshness & limits |
|---|---|---|
| Ndovu monitor checks | Status, response time and errors for each monitor. | Every five minutes from Cloudflare’s network, usually one location per check. |
| Registry RDAP | Domain registration, statuses and expiry. | Daily; ICANN’s source for gTLDs, KeNIC for .ke and .co.ke. |
| TLS handshake / Certificate Transparency | The certificate each host serves. | Twice a day; CT logs used, and labelled, when the served certificate cannot be read. |
| DNS lookups | A, AAAA, NS, MX, TXT, CAA and CNAME records. | Every six hours. |
| You or WHMCS | Hosting plans, statuses and due dates. | WHMCS read twice a day, read-only; a due date is the invoice date. |
Not global uptime
Checks run from Cloudflare’s network, usually one location at a time. That is neither global coverage nor your visitors’ country.
A homepage is not the site
A working homepage does not prove checkout, login or an API work. Add monitors for those.
A challenge is not an outage
A CDN or firewall challenge is left out of uptime. Allow NdovuSEOLabs-Monitor to check the site itself.
A date is not a payment
A registry date moving forward, or auto-renew being on, is not proof a renewal was paid.
WORKS WITH
Connected to the tools you already use.
The sources and clients this feature reads from or works alongside.
CHOOSE THE RIGHT VIEW
Which view answers which question.
Start where the question points. Each view keeps its own source.
| Your question | Start with | Why |
|---|---|---|
| Is my site up right now? | Uptime monitoring | Synthetic checks every five minutes. |
| Did Googlebot hit errors during the outage? | Crawl Analytics | Verified crawler requests from your logs. |
| Is the site slow for real users? | Core Web Vitals | Field data from Chrome users. |
| Which client’s site needs attention? | All sites | Status and countdowns for every site. |
LEARN & TRY
Guides and free tools for the same job.
Read how the evidence works, or try a free check before you connect a project.
Prioritise a technical audit
Fix the issues on the pages that earn search attention first.
FAQ
Uptime monitoring: common questions.
Straight answers about what it does, what it costs and where its limits are.
How often is my site checked?
Every five minutes, the shortest interval the scheduler runs. Heartbeats can expect a ping on any interval you set, with a grace period.
Will one failed check send an alert?
No. A failed check is repeated about 15 seconds later, and only a second failure confirms an outage and alerts. Two good checks close it.
Where do checks run from?
From Cloudflare’s network. Each check records its location; it is not a measurement from your visitors’ country.
What does “degraded” mean?
The site answered, but slowly or with an error page, such as a database error served with HTTP 200.
Why is a Cloudflare challenge not counted as down?
Because the site may be fine behind it. Allow the NdovuSEOLabs-Monitor user agent in your firewall to check the site itself.
Can I monitor checkout, login or an API?
Yes. Page monitors check for text the page must contain, and API checks use GET or HEAD with an optional header and an expected JSON field.
How are alerts sent?
By webhook (Slack, Microsoft Teams, Discord or any JSON receiver), Telegram, and email where the deployment has email set up. One alert per problem, and another when it resolves.
Does it track domain and SSL expiry?
Yes. Domains come from the registry’s RDAP service daily, including KeNIC for .ke, and certificates are checked twice a day.
Can it see my hosting renewal date?
Only if you enter it or connect a WHMCS installation you administer, read-only. Hosting dates are not public.
Does it cost credits or need a plugin?
No. It needs no DataForSEO credits and nothing installed on the site.
Can my AI agent renew a domain?
No. Agents can read status, incidents and renewals, but renewing, paying and changing monitors stay with people.
What are the limits of the data?
Checks run from Cloudflare’s network, usually one location at a time; it is not global or country-specific uptime. A CDN challenge is not an outage, a homepage check does not prove checkout works, and a registry date moving forward is not proof a domain was paid.
How do I get access?
Platform access is reviewed. Request access with your website and the data sources you use, and the team will help you connect them.
Know before your customers do.
Tell us about your website. We will review access and start monitoring with you.