Monitoring
Monitoring
Monitoring checks your sites and services on a schedule, remembers the history, and tells someone when a state changes. It does not alert on every failed check. It also lists what other parts of MaxSuite hold that nobody watches yet, and shows each project's health in one line.
In the sidebar under Servers & apps → Monitoring. Needs: Projects.
Monitors
At the top are totals: Monitors, Down, Degraded, Paused and Stale. Below them is the list:
- Monitor: its name, with the target underneath.
- State: up, pending, down (with how long), degraded, paused, not yet checked, or reported by its module. A monitor nobody has checked for a long while reads stale, with the last thing it said. An old answer is not shown as if it were current.
- Every: how often it is checked.
- Checked: when it was last checked, or never.
Use Search name, target or tag to find one, and filter by state, kind, category and project. The counts are over the whole list, not only the rows loaded. With nothing set up, the page says "Nothing is being watched".
A monitor goes to pending before it goes down, so one lost packet is not an alert. A failed check is retried a few times over a few seconds before it counts, and a monitor goes down only after repeated failures. When it is down, the page says why if it can tell.
Add a monitor
- Click New monitor.
- Enter a Name and a Target: a URL for an HTTP check, or a host and port for a TCP check.
- Choose the Kind: HTTP, TCP, Ping or Push. Set how often to check with Every (seconds).
- Optionally set Expected status, Degraded above (ms), a Keyword the page must contain, a Category and a Project.
- Save. The first check runs on the next sweep.
For HTTPS targets, Monitoring also reads the certificate and records when it ends. Targets inside your own network are refused unless whoever runs your MaxSuite has allowed them.
A Push (heartbeat) monitor works the other way round: a script calls a secret address to say it is still alive. The address is the credential, so keep it private.
Pause, edit or delete
- Pause stops checking and keeps the history. Resume starts again.
- Open a monitor to change what it watches or how often. Moving it to another site clears the headers, body and login set for the old one.
- Deleting a monitor removes its history and takes it off every status page and maintenance window.
Not watched
What other modules hold that should stay up and no monitor checks: live landing addresses, MaxShield instances, running Coolify apps' domains, edge sites, and docs sites on their own domain. It also lists health a module judges itself, such as a VPN node, a shop, a gateway node, a provider account whose sync stopped, a server Coolify cannot reach or its provider stopped, or a domain whose registration has run out. Monitoring records those instead of probing them.
Nothing is watched until somebody presses Watch (or Watch all). A monitor made here checks every 5 minutes, is filed under its project, and follows what it watches: it moves when the address changes and is paused, with its history kept, when the thing is removed.
- Dismiss hides a row for everybody in your organisation. Dismissed shows them, and Restore brings one back.
- Default destinations says where such a monitor alerts when the other monitors in its project share no destination. The person who pressed Watch is told as well.
By project
Each project's monitoring health in one line, worst first: how many of its monitors are up, degraded, pending, down, stale or unchecked, which ones are down by name, and how many things in it are not watched.
Alerts, maintenance and status pages
These are set up through agent tools or the API. The page has no screen for them yet.
- Alert destinations: by default only the person who made a monitor is told. A monitor can also alert group chats, channels and addresses from your workspace's destination list. See Notifications and alerts.
- Maintenance windows: between a start and an end, the monitors named raise no alert. Checks still run and are recorded. Name every monitor the work takes down, and no more.
- Status pages: a page showing chosen monitors in order. It is made unpublished. Publishing puts it on the open internet at
/status/<name>on your MaxSuite address, for anybody with the link.
Who can do what
| Permission | In plain words |
|---|---|
View monitoring (monitoring:read) | See monitors, their history and uptime, project health, the Not watched list, status pages, maintenance windows and destinations. |
Manage monitoring (monitoring:write) | Add, change, pause and delete monitors; watch, dismiss and restore suggestions; set destinations and default destinations; plan maintenance; make and publish status pages; check now. |
A monitor on a project follows that project's access. A monitor on no project is seen only by the person who set it up. Every monitor is checked either way. See Sharing and visibility.
What happens on its own
| Job | When | What it does |
|---|---|---|
sweep | Every minute | Checks every active monitor whose interval has come round, and records the result. When a monitor goes down or comes back, it tells the person who made it and every destination it names, and says how long the outage lasted. While it stays down, the alert repeats at a measured pace. Inside a maintenance window the check is recorded but nobody is woken. |
follow | Every 5 minutes | Keeps monitors made from Not watched in step with what they watch: moves one whose address moved, pauses one whose thing is gone, and records what a module judged of its own health. |
Needs
- Projects switched on.
What agents can do
Reads run straight away. Everything else asks a person first unless a rule on Approvals allows it. Publishing a status page and checking now reach outside. Deleting, silencing and replacing destinations remove or overwrite things. See Agents and approvals.
Read the board (read-only): monitoring.list, monitoring.get, monitoring.uptime, monitoring.unassigned (monitors on no project, with the project their name suggests), monitoring.projectHealth.
Monitors (asks first): monitoring.create, monitoring.update (including pause), monitoring.remove, monitoring.check (probe now), monitoring.link (attach a monitor to the thing it checks, so it follows it).
Not watched — read-only: monitoring.suggestions, monitoring.defaultDestinations. Asks first: monitoring.watch, monitoring.dismissSuggestion, monitoring.restoreSuggestion, monitoring.setDefaultDestinations.
Alerts — read-only: monitoring.destinations. Asks first: monitoring.setDestinations (replaces the whole list).
Maintenance — read-only: monitoring.maintenance. Asks first: monitoring.createMaintenance, monitoring.updateMaintenance, monitoring.removeMaintenance.
Status pages — read-only: monitoring.statusPages. Asks first: monitoring.createStatusPage, monitoring.updateStatusPage (also publishes), monitoring.removeStatusPage.