Uptime monitoring · Made for Kenya

Know your services are up, before your customers tell you.

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.

Built for the failures that actually happen

A page that answers 200 while the database is unavailable is not healthy. Neither is a certificate that expires on Saturday.

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.

Alerts on change, never on steady state

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.

Every result kept

24 hours of per-check history, an availability strip, incident durations and 7- and 30-day uptime read from hourly rollups.

TLS certificates tracked to the day

A dedicated certificate check reports expiry, hostname mismatch and issuer, and warns well before your renewal process runs out of runway.

Channels that reach people in Kenya

Email, SMS via Africa's Talking, WhatsApp, Slack, Discord, Telegram or a plain webhook. Test any channel before you depend on it.

Self-hosted, one binary

Embedded SQLite, no message broker, no external queue. Runs on the smallest VPS you would rent, and your data stays on your server.

How it works

  1. 1

    Point it at your endpoints

    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.

  2. 2

    Set the tolerance

    Choose an interval and a retry count. Two failures before an alert means one dropped packet never pages anyone at 3am.

  3. 3

    Get told when it changes

    Down once, recovered once. Every delivery attempt is logged with its error, so "why did I not get the alert" has an answer.

Questions

Can I self-host it?

Yes, that is the intended deployment. One binary, one SQLite file, no external services. Docker images and a hardened systemd unit ship with it.

How is this different from a free uptime service?

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.

Will it spam me with alerts?

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.

What can it check?

HTTP and HTTPS endpoints — status code, response keyword, latency — and TLS certificates. TCP port and DNS monitors are on the roadmap.

Does it work offline or on a private network?

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.

How do I get an account?

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.

Start with five checks. You will find something.

Most teams discover at least one endpoint that has been quietly broken for weeks the day they start monitoring.

From the blog

All posts →