Uptime & SSL Monitor probes HTTP(S) endpoints and raw TCP ports on a schedule you set per monitor, records whether each check passed and how long it took, and tracks how many days remain on the target's TLS certificate. An HTTP monitor counts as up on any 2xx/3xx response by default, or you can pin an exact status code and require a keyword to appear in the body. Each monitor keeps a rolling window of its last 60 samples, which the UI draws as a sparkline alongside an uptime percentage and the current up/down streak.
Alerts go to the monitor's owner by email and in the panel (an admin's monitors also reach the admin's alert channels): one message when a monitor flips between up and down, and one when the certificate crosses 14, 7, 3, or 1 days remaining. The SSL thresholds fire once each and re-arm automatically once the certificate is renewed past 21 days, so a neglected cert does not mail you every tick.
Monitors are stored per user. Admins see and act on every monitor; a tenant sees only their own and may only target hosts that resolve entirely to public addresses — including every hop of a redirect chain, which is followed manually for that reason. Every outage is recorded as an incident with its start, end, duration and cause, listed per monitor; the uptime over 24 hours, 7 days and 30 days is worked out from them, and the recovery alert says how long the monitor was down. Maintenance windows — one-off, or weekly on chosen days at a set time in the panel's time zone — keep checks running but mute the alerts, and outages that start inside one do not count against uptime. Any user can publish a read-only status page at /status/
/ listing chosen monitors under labels they pick, with current state and uptime; targets, status codes and errors are never shown, and the page is cached and rate-limited per visitor. Periodic execution comes from the panel's background worker, which calls the plugin's sweep and probes whatever is due; you can also run any single check on demand from the page.Use VinzaPanel's REST API to download and install this app programmatically.
POST /plugins/api/download/uptime-monitor/ Content-Type: application/json { "panel_version": "1.0.0" }
{
"success": true,
"plugin_id": "uptime-monitor",
"version": "1.0.7",
"download_url": "..."
}