Checks that fail the way reality fails
Status codes are classified, not just dialled. Optionally assert a keyword, because a 200 saying "service unavailable" is an outage.
Uptime monitoring · Made for Kenya
PIMA checks your websites, APIs and TLS certificates on a schedule, keeps the history, and tells you the moment something changes — never while everything is fine.
Accounts on this instance are provisioned by its administrator. Need one? Email us.
A page that answers 200 while the database is unavailable is not healthy. Neither is a certificate that expires on Saturday.
Status codes are classified, not just dialled. Optionally assert a keyword, because a 200 saying "service unavailable" is an outage.
Retries before a monitor is declared down, one alert when it goes down, one when it recovers. A flapping monitor stops shouting instead of drowning the channel.
24 hours of per-check history, an availability strip, incident durations and 7- and 30-day uptime read from hourly rollups.
A dedicated certificate check reports expiry, hostname mismatch and issuer, and warns well before your renewal process runs out of runway.
Email, SMS via Africa's Talking, WhatsApp, Slack, Discord, Telegram or a plain webhook. Test any channel before you depend on it.
Embedded SQLite, no message broker, no external queue. Runs on the smallest VPS you would rent, and your data stays on your server.
Add a monitor from the dashboard, or declare dozens in a YAML file and import them. Re-importing is idempotent, so the file becomes your inventory.
Choose an interval and a retry count. Two failures before an alert means one dropped packet never pages anyone at 3am.
Down once, recovered once. Every delivery attempt is logged with its error, so "why did I not get the alert" has an answer.
Yes, that is the intended deployment. One binary, one SQLite file, no external services. Docker images and a hardened systemd unit ship with it.
Free international services measure from their own regions, charge in dollars, and a quiet failure leaves you with silence. PIMA runs on your infrastructure, measures from where your users are, keeps your history, and supports SMS and WhatsApp alerting with local pricing.
No. Alerts fire on state transitions only, after a configurable number of retries, with recovery notifications. A monitor that flaps is detected and suppressed rather than allowed to flood the channel.
HTTP and HTTPS endpoints — status code, response keyword, latency — and TLS certificates. TCP port and DNS monitors are on the roadmap.
Yes. Point monitors at internal addresses by enabling PIMA_ALLOW_PRIVATE_TARGETS; by default private ranges are blocked so a public instance cannot be used to probe its own network.
Accounts are created by an administrator: pima user add on the CLI, or by the first-run setup page. There is no public sign-up.
Most teams discover at least one endpoint that has been quietly broken for weeks the day they start monitoring.
Expired certificates cause outages that never had to happen. How TLS expiry monitoring works, and what to set as the warning threshold.
What an hour of downtime costs a Kenyan business: lost revenue, failed M-Pesa checkouts, support load and reputation — and how to measure it.
Ping alone calls a broken link healthy. A guide for Kenyan ISPs: port, HTTP and TLS checks, latency baselines, and alerting on state change.