User guide
How to use Database Health Monitor, screen by screen.
The dashboard
Database Health → Checks is the whole product on one screen: every check, its last reading, its severity and when it last ran.
Four severities:
| Meaning | |
|---|---|
| OK | Read successfully, inside both thresholds |
| Warning | Read successfully, past the warning threshold |
| Critical | Read successfully, past the critical threshold |
| Unknown | Nobody could answer this question |
Unknown is the one to understand
Unknown is not a fourth shade of green. It means the reading could not be obtained: no source registered, no agent reporting, or a probe that failed and stored the error instead of escaping.
It is reported as its own state rather than as zero because a dashboard that shows green when nothing is being watched is worse than no dashboard — somebody will believe it. The status endpoint answers 503 for unknown for exactly the same reason.
If a check reads unknown, open it. The detail says why.
Reading one check
The form gives you the reading, both thresholds, the direction, when it last ran and how long the reading is good for. Below that, the detail.
The detail is the part that makes an alert actionable. Database size is 60 GB tells you nothing you can do; the detail lists the largest tables with their indexes and TOAST, which tells you where it went.
Details are capped at ten rows. A monitoring detail that needs paging is a report, not an alert.
History
Database Health → History, in graph view. Two things a single number cannot tell you:
- whether it is getting worse, and how fast;
- whether today's reading is unusual or is simply Monday.
Retention is per check. The prune job trims anything older.
When something goes critical
If alerting is on for both the company and that check, an email goes out naming the check, the reading, the threshold it crossed and the detail.
Then:
- A repeat for the same unresolved condition waits for the cooldown.
- An escalation from warning to critical goes immediately. The cooldown suppresses repetition, not news.
Acknowledge clears the cooldown so the next alert can arrive, and does not change the severity. Seeing a problem is not fixing one.
What it will not do for you
Nothing here fixes anything. No VACUUM, no reactivating a failed cron, no clearing a mail queue.
That is a design decision rather than a missing feature: a monitor that also acts is two systems whose failures compound, and the moment it remediates something incorrectly you have lost both the fix and the ability to trust the monitoring.
It also does not take backups. It reports what an agent says about them, and it cannot verify that one restores — only a restore proves a restore.
The status endpoint
With Expose status on:
curl -H "Authorization: Bearer <token>" \
https://your-odoo/technovision/health/status- 200 — everything OK or warning
- 503 — something is critical, or something is unknown
An uptime checker can work on that alone. With Expose details off it learns nothing else about your instance, which is usually what you want from something reachable outside your network.