Uptime checks & status pages
Alongside the agent (inside-out), the hub can also check outside-in that your services are reachable: HTTP(S) and TCP checks that run from the hub, with no agent on the target server. The results feed a public status page for customers or colleagues.
Creating checks
Section titled “Creating checks”- Sidebar → Uptime
- Click + Check and fill in:
- Name: free text, also shown on the status page
- Type:
http(follows redirects, validates TLS) ortcp(port open?) - Target: full URL (
https://…) orhost:portfor tcp - Interval: 30 to 3600 seconds
- Timeout: 1 to 60 seconds, always shorter than the interval
- Expected status (http): for example 200
Limits: at most 50 checks per tenant. Targets that point at internal or private IP ranges (loopback, RFC1918, link-local) are rejected: the hub will not act as an SSRF proxy.
How the hub decides something is down
Section titled “How the hub decides something is down”- The worker schedules every check on its own interval (scheduler tick: 15 s).
- A check only flips to down after 2 consecutive failures. A single network hiccup does not raise an alert (flap protection).
- On down, a critical alert (
uptime.down) enters the regular alert pipeline: same notification channels, same acknowledge flow. - When the check recovers, the alert resolves automatically.
TLS expiry detection
Section titled “TLS expiry detection”On every https check the hub reads the certificate chain. If the
certificate expires within 14 days, a warning alert
(uptime.cert_expiring) appears with the expiry date. After renewal the
alert clears itself on the next check.
Public status pages
Section titled “Public status pages”- Sidebar → Uptime → Status pages section
- Pick a title, a slug and the checks to show.
- The page is immediately publicly reachable at:
https://app.monsys.ai/<locale>/s/<slug>Machine-readable (JSON, for your own integrations):
https://api.monsys.ai/v/status/<slug>What visitors see: each check’s name, current status and 30-day uptime percentage. What they never see: the target itself (URL, hostname, port). Status pages leak no infrastructure.
Status page visibility
Section titled “Status page visibility”Per page you choose how it can be reached:
| Mode | Behaviour |
|---|---|
public (default) |
anyone with the slug sees the page |
token |
only via a secret link …/s/<slug>?token=<token>; the token can be rotated with Rotate token — the old link stops working immediately |
password |
visitors enter a password (8–128 characters); the hub stores only a bcrypt hash and verifies server-side |
Switching from public to token or password makes the public URL
(and the JSON endpoint) return 404/401 right away for anyone without the
key.
| Role | Can |
|---|---|
| Viewer | view checks and results |
| Editor | create, edit, delete checks and status pages |
| Admin | same |
Relation to agent monitoring
Section titled “Relation to agent monitoring”| Aspect | Agent (inside-out) | Uptime check (outside-in) |
|---|---|---|
| Requires agent on the host | yes | no |
| Sees | CPU, disk, services, logs, CVEs | reachability and TLS as a visitor sees them |
| Detects | the cause | the symptom |
Use both: the uptime check tells you a service is down, the agent tells you why.