You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The skeleton on MonStack's shared core: sign-in, users, two-step sign-in, audit log, backup and restore, appearance, web server and HTTPS, email, alerts and in-app updates, all through the shared web shell. Port 3443, purple.
--demo runs three stub apps (a FortiMon, a UniMon and a MerakiMon card) so the dashboard and the wallboard have something to show.
Its own card at GET /api/card/v1: one entry per monitored app (status, counts, headline).
The pull collector: add, test, edit, pause and remove an app in Settings > Apps (name, address and a card key sealed on the server). SiteMon reads each app's card every 30 seconds with a small pool and shows ok, connecting, offline, key refused, needs SiteMon update, or unreadable card; a failed read keeps the last card with "last seen".
An https app is trusted by its certificate: Test shows the fingerprint before any key is sent, and later connections must show the same one (or pass a normal check). A changed certificate shows the app as offline and the key is not sent.
The push receiver: an app that SiteMon can't reach sends its card to POST /api/card/v1 with an incoming key SiteMon made for it (shown once, kept hashed, tied to that one app, can be replaced or revoked, audited). It is read by the same card reader as a pulled app, and is shown as offline when nothing arrives within 3 of its intervals.
The last card, the last read and a short status history per site are kept in sitemon.db, so a restart shows the last data straight away.
The wallboard (/wall): a tile per site across all apps, refreshed every 30 seconds, with filters by app, vendor and status (kept in the address, e.g. #app=, #vendor=, #status=). An app that is offline or refused shows its last data dimmed with "last seen".
Alerts to email, Teams or a webhook: an app offline, key refused, needing a SiteMon update or unreadable, and back again; a site going critical, degraded or minor, and back to healthy. One alert per change, not per read; a resolved alert keeps the problem's severity.