| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 4133 |
| Technical Name |
xs_server_monitor |
| License | OPL-1 |
| Versions | 17.0 18.0 19.0 |
XS Server Monitor is a real-time floating widget that gives Odoo administrators instant visibility into their server health -CPU, RAM, disk, database activity, user sessions, and historical trends -without leaving the Odoo interface or SSH-ing into the server. Built entirely inside Odoo. No external services. No agents. No dashboards to log into separately.
Everything your server needs you to know
Eighteen tightly integrated features across eight dedicated tabs in a single floating widget.
Real-Time System Metrics
Database Monitoring
Metrics History Charts
Health Score
Live Alert Notifications
Email Alerts & Daily Digest
Cron Job Monitor
User Session Monitor
Force Logout
Slow Query Killer
Export Metrics as CSV
Dark / Light Theme
Manual Refresh Button
Persistent Alert History
DB Lock Monitor
Table Bloat & VACUUM
PostgreSQL Stats Reset
Disk & Network I/O
See every corner of your server
Eight dedicated tabs - each purpose-built for a different monitoring need.
Install and it just works
No configuration required to get started. Everything works out of the box.
Install Module
Add to addons path, update app list, and install.
Widget Appears
Activates automatically for System group users.
Configure Alerts
Set thresholds in Settings > Server Monitor.
Monitor Live
Metrics refresh every 5s. History logged every 5 min.
Zero external dependencies
Built entirely on Odoo's own infrastructure.
One-time purchase. Lifetime access.
One Odoo database | All updates included | OPL-1 License
- Real-time Metrics -CPU, RAM, Disk, Swap, Load, I/O
- Metrics History Charts (6h -7d) + Manual Refresh
- Health Score with 24h Sparkline
- Live Alert Bell + Alert History (7 days)
- Email Alerts + Daily Digest
- DB Lock Monitor + Kill Blocker
- DBA Tools -Table Bloat, VACUUM, pg_stat_reset
- Cron Monitor + User Sessions + Force Logout
- Slow Query Killer + CSV Export
- Dark / Light Theme + 8 Tabs
All 18 Features in Detail
Every capability explained -what it does and why it matters.
Real-Time System Metrics
Your server at a glance -always.
- Live CPU, RAM, Disk, and Swap with color-coded bars
- Load average (1m/5m/15m) and process count
- Configurable thresholds -widget pulses red when breached
- Per-core CPU count at a glance
Database Monitoring
Know exactly what PostgreSQL is doing.
- Active queries, slow query detection (configurable)
- DB sessions, size, and cache hit ratio
- Clickable stats with query text, PID, wait events
- Works with local and remote PostgreSQL
Metrics History Charts
See trends -not just the current value.
- SVG sparklines for CPU, RAM, Disk, Health, DB Size
- Range selector: 6h / 24h / 3d / 7d
- Pure SVG -no Chart.js, no CDN
- History collected every 5 minutes
Health Score
One number for server health.
- Weighted 0-100 score across 7 components
- Graded: Excellent / Good / Fair / Poor / Critical
- Per-component breakdown with recommendations
- 24-hour sparkline trend
Live Alert Notifications
Know the moment something goes wrong.
- Real-time bell via Odoo bus WebSocket
- Badge count with grouped alert dropdown
- Configurable cooldown (default 60 min)
- Pushed to all admin users simultaneously
Email Alerts & Daily Digest
Stay informed when not logged in.
- Threshold breach emails with metric details
- Daily digest with 24h averages
- Multiple recipients (comma-separated)
- Requires the Discuss (mail) module
Cron Job Monitor
Spot broken scheduled jobs in seconds.
- Last run, next run, interval per cron
- Failure count and overdue status
- Filters: All / Active / Failed / Overdue
- Surfaces root cause of missing automations
User Session Monitor
See who is connected and from where.
- Status: Active / Idle / Inactive
- Duration, IP, browser/device info
- One row per user -no duplicates
- Shows all users including inactive
Force Logout
Revoke any session instantly.
- Invalidate sessions with one confirmed click
- Revokes res_device_log entries
- Confirmation dialog prevents accidents
- Essential for security & offboarding
Slow Query Killer
Terminate runaway queries without SSH.
- Kill any query by PID from the widget
- Shows query text, duration, wait event
- Configurable threshold (default: 30s)
- Confirmation prevents accidental kills
Export Metrics as CSV
SLA reports in one click.
- CSV download from Charts tab
- Also via backend list view action
- CPU, RAM, Disk, Health, DB Size columns
- Great for monthly SLA reviews
Dark / Light Theme
Works in both Odoo themes.
- Sun/moon toggle switches instantly
- CSS variables -zero flash
- Persistent via localStorage
- Compatible with Odoo's dark/light mode
Manual Refresh
Don't wait for the interval.
- Single click for latest metrics
- Spinner prevents double clicks
- In widget header with bell & theme
- Independent of auto-refresh setting
Persistent Alert History
Never miss an alert.
- Alerts tab with all threshold breaches
- Live + DB-backed history (7 days)
- Timestamp, health score, messages
- Persists across page reloads
DB Lock Monitor
Find and kill deadlocks in seconds.
- Real-time pg_locks blocking pair scan
- Both query texts, duration, lock type
- Identifies locked table for context
- "Kill Blocker" with confirmation
Table Bloat & VACUUM
Keep your database lean -without SSH.
- Top 20 tables by dead tuple ratio
- Color-coded severity indicators
- Live/dead rows, size, last vacuum time
- Per-table VACUUM ANALYZE button
Disk & Network I/O
See storage and network workload.
- Disk read/write GB, network sent/received MB
- Clean two-column card row in Metrics tab
- Cumulative since boot -shows workload
- Hidden when OS doesn't expose counters
Support & Custom Features
We're here to help -from installation questions to building tailored enhancements.

XpathSolutions
Have a bug to report, a question about setup, or want a custom feature? Reach out -we respond promptly and build on demand.
xpathsolution@gmail.comConfiguration Reference
Settings > Server Monitor -all available options.
| Setting | Description | Default |
|---|---|---|
| Enable Widget | Show/hide the widget for admins | Enabled |
| Refresh Interval | How often metrics are polled (seconds) | 5s |
| Long Query Threshold | Flag queries running longer than N seconds | 30s |
| Enable Email Alerts | Send alert emails on threshold breach | Disabled |
| CPU Threshold | Alert when CPU exceeds this % | 90% |
| RAM Threshold | Alert when RAM exceeds this % | 90% |
| Disk Threshold | Alert when Disk exceeds this % | 85% |
| Alert Email Recipients | Comma-separated email addresses | - |
| Alert Cooldown | Min minutes between repeated alerts | 60 min |
| Enable Daily Digest | Send daily summary email | Disabled |
| Digest Recipients | Comma-separated email addresses | - |
| History Retention | Keep metrics for N days | 30 days |
Release Notes
Full changelog for XS Server Monitor.
- Manual refresh button -instant on-demand metrics fetch
- Persistent Alert History -7 days of breach records
- DB Lock Monitor -real-time blocking lock detection with "Kill Blocker"
- DBA Tools -Table Bloat, VACUUM ANALYZE, pg_stat_reset
- Disk & Network I/O via psutil
- Tab bar now horizontally scrollable for 8 tabs
- Real-time metrics widget with 5 tabs
- CPU, RAM, Disk, Swap, Load with color-coded bars
- Database monitoring, slow query killer
- Health Score (0-100) with recommendations
- SVG sparkline charts, 6h-7d range
- Bus-based live alerts + email alerts + daily digest
- Cron monitor, user sessions, force logout
- CSV export, dark/light theme
- Full Settings page under Settings > Server Monitor
Frequently Asked Questions
Everything you need to know before installing.
Built for Odoo 19.0 | OPL-1 License | xpathsolution@gmail.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module