OpenMediaVault is the management layer between your storage hardware and every user or service that depends on it. When the web UI goes offline, administrators lose visibility into disk health, RAID status, and share configuration. When SMB goes down, every mapped network drive on your network stops working silently.
This tutorial covers production-grade uptime monitoring for OpenMediaVault using Vigilmon. We will walk through:
- Monitoring the OMV web management interface
- TCP port checks for SMB/CIFS (445) and SSH (22)
- SSL certificate monitoring for the HTTPS management UI
- Uptime checks for the shared folders endpoint
- Heartbeat monitoring for scheduled maintenance tasks
Prerequisites
- OpenMediaVault 6.x or 7.x running on a Debian-based system
- Web management interface accessible over HTTP or HTTPS
- A free account at vigilmon.online
Part 1: Understand what to monitor in OpenMediaVault
OpenMediaVault does not expose a dedicated /health API endpoint. Instead, you monitor the services it provides:
| Service | Check type | Default port | |---------|-----------|-------------| | Web management UI (HTTP/HTTPS) | HTTP keyword check | 80 / 443 | | SMB/CIFS file sharing | TCP port check | 445 | | SSH access | TCP port check | 22 | | NFS file sharing (optional) | TCP port check | 2049 |
The web UI is the most reliable proxy for overall system health. If the nginx instance serving the OMV UI is running and responsive, the underlying PHP-FPM, OMV engine, and system processes are likely operational.
Part 2: Enable HTTPS on the OMV web interface
Before setting up monitoring, ensure the management interface is reachable over HTTPS. OMV uses nginx and supports Let's Encrypt certificates through the openmediavault-letsencrypt plugin.
Install and configure the Let's Encrypt plugin
# On the OMV server
apt-get install openmediavault-letsencrypt
Then in the OMV web UI:
- Navigate to System → Certificates → SSL.
- Click Add and choose Let's Encrypt.
- Enter your domain (e.g.,
nas.example.com) and email. - Apply changes.
Once the certificate is issued, navigate to System → General Settings and select the new certificate under SSL/TLS.
Verify HTTPS access
curl -I https://nas.example.com/
Expected response:
HTTP/2 200
content-type: text/html; charset=UTF-8
Part 3: Set up HTTP monitoring in Vigilmon
Monitor the web management interface
- Log in to vigilmon.online and click Add Monitor.
- Choose HTTP(S) monitor.
- Enter:
https://nas.example.com/ - Set interval to 1 minute.
- Add a keyword check: must contain
openmediavaultorOMV(visible in the HTML<title>or login form). - Add your alert channel (email, Slack, or webhook).
- Click Save.
The keyword check prevents false positives from a catch-all nginx page. If the OMV PHP application crashes but nginx stays up, the response body will change and the keyword check will fire an alert.
Monitor the shared folders endpoint
OpenMediaVault's shared folders are managed through the web UI, but the underlying SMB service exposes its own status. Add a second HTTP monitor targeting the OMV API if you have the Remote Mount or API plugin installed:
GET http://nas.example.com:7800/sharedfolder
If you do not have the API plugin, use an SMB status page or simply rely on the TCP port check for port 445 (see Part 4).
Part 4: TCP port monitoring for SMB/CIFS and SSH
TCP port checks verify that a port is open and accepting connections without requiring an HTTP response. This is the correct approach for SMB (445) and SSH (22).
Monitor SMB/CIFS (port 445)
- In Vigilmon, click Add Monitor.
- Choose TCP monitor.
- Enter:
- Host:
nas.example.com - Port:
445
- Host:
- Set interval to 1 minute.
- Name it
OpenMediaVault SMB. - Add your alert channel.
- Click Save.
When port 445 stops responding, every Windows and macOS client with a mapped drive will lose access. This monitor fires within 60 seconds of a Samba crash.
Monitor SSH (port 22)
SSH access is critical for OMV administration and for automated backup scripts that use rsync over SSH.
- Click Add Monitor.
- Choose TCP monitor.
- Enter:
- Host:
nas.example.com - Port:
22
- Host:
- Set interval to 2 minutes (SSH failures are less time-sensitive than file share failures).
- Name it
OpenMediaVault SSH. - Add your alert channel.
- Click Save.
Part 5: SSL certificate monitoring
An expired certificate on your OMV management UI has two immediate effects: browsers block access, and automated scripts using the API fail with TLS handshake errors. Certificate renewal via Let's Encrypt can fail silently if port 80 is blocked by a firewall change or if the DNS record expires.
- In Vigilmon, click Add Monitor.
- Choose SSL monitor.
- Enter:
nas.example.com - Set alert threshold to 21 days before expiry.
- Add your alert channel.
If you manage multiple NAS devices or have a separate domain for remote access (VPN gateway, reverse proxy), add an SSL monitor for each domain.
Part 6: Heartbeat monitoring for scheduled OMV tasks
OpenMediaVault runs several scheduled maintenance tasks via cron — S.M.A.R.T. disk tests, scheduled scrubs for BTRFS/ZFS, and backup jobs. These tasks run silently in the background and fail without alerting anyone.
Set up a heartbeat monitor
- In Vigilmon, click Add Monitor.
- Choose Heartbeat monitor.
- Name it
OMV S.M.A.R.T. Weekly Test. - Set interval to 7 days with a 12-hour grace period.
- Copy the unique heartbeat URL:
https://hb.vigilmon.online/ping/abc123 - Click Save.
Wire the heartbeat into a cron job
OMV manages cron jobs in /var/spool/cron/crontabs/root and through the web UI under System → Scheduled Tasks. Add a heartbeat ping after your maintenance task:
# Add via OMV web UI → System → Scheduled Tasks
# Or add directly to cron:
# crontab -e
# Run S.M.A.R.T. short self-test on all drives every Sunday at 02:00,
# then ping Vigilmon on success
0 2 * * 0 smartctl -t short /dev/sda && smartctl -t short /dev/sdb && curl -fsS https://hb.vigilmon.online/ping/abc123
For BTRFS scrub jobs managed by OMV:
# /etc/cron.monthly/btrfs-scrub-heartbeat
#!/bin/bash
btrfs scrub start -Bd /srv/dev-disk-by-uuid-XXXXXXXX
if [ $? -eq 0 ]; then
curl -fsS https://hb.vigilmon.online/ping/abc123
fi
Part 7: Alert configuration and notification channels
Configure Vigilmon alert channels
For a NAS used by a team, set up multiple notification channels:
- Email: Primary alert for SSL expiry and service DOWN events.
- Slack: Real-time alerts to your
#infrastructurechannel for any DOWN event. - Webhook: Integration with your ITSM tool (PagerDuty, OpsGenie) for after-hours paging.
Example webhook payload handling
# webhook_receiver.py
from flask import Flask, request
app = Flask(__name__)
@app.post('/webhook/vigilmon')
def handle_alert():
data = request.json
monitor = data.get('monitor_name')
status = data.get('status')
if status == 'down':
if 'SMB' in monitor:
# SMB down — notify all users with mapped drives
notify_samba_users(monitor)
elif 'SSL' in monitor:
# Certificate near expiry — trigger renewal
trigger_certbot_renewal()
return '', 204
Vigilmon sends this payload on DOWN and UP transitions:
{
"monitor_id": "mon_abc123",
"monitor_name": "OpenMediaVault SMB",
"status": "down",
"host": "nas.example.com",
"port": 445,
"checked_at": "2026-07-12T03:01:00Z",
"response_time_ms": 5000
}
Summary
Your OpenMediaVault deployment now has comprehensive monitoring across all critical layers:
- Web UI monitor — confirms the management interface is serving the OMV application, polled every minute.
- SMB/CIFS TCP check (port 445) — alerts within 60 seconds when file shares stop accepting connections.
- SSH TCP check (port 22) — detects SSH daemon failures that block administrative access and rsync backups.
- SSL monitor — alerts 21 days before the management certificate expires.
- Heartbeat monitors — detect silently failed S.M.A.R.T. tests, scrubs, and backup jobs.
Vigilmon handles check scheduling, multi-region polling, alert routing, and uptime history. You get notified within 60 seconds of any failure, whether it is the web UI, file shares, SSH, or a certificate on the verge of expiry.
Monitor your OpenMediaVault NAS free at vigilmon.online
#openmediavault #nas #monitoring #smb #storage #devops