JBOD Monitor
REST API for monitoring drive health in JBOD enclosures on Linux.
Auto-discovers SES enclosures via sysfs, maps drives to physical slots, and exposes SMART health data.
Prerequisites
- Linux with SAS/SATA JBODs connected via HBA
smartmontools— forsmartctl(SMART data)sg3-utils— forsg_ses(SES enclosure data)- Python 3.11+
# Debian/Ubuntu
apt install smartmontools sg3-utils
# RHEL/Fedora
dnf install smartmontools sg3_utils
Install
pip install -r requirements.txt
Run
The API needs root access for smartctl to query drives:
sudo uvicorn main:app --host 0.0.0.0 --port 8000
API Endpoints
| Endpoint | Description |
|---|---|
GET /api/health |
Service health + tool availability |
GET /api/enclosures |
List all discovered SES enclosures |
GET /api/enclosures/{id}/drives |
List drive slots for an enclosure |
GET /api/drives/{device} |
SMART detail for a block device |
GET /api/overview |
Aggregate enclosure + drive health |
GET /docs |
Interactive API docs (Swagger UI) |
Description
Languages
Python
50.1%
JavaScript
47.9%
Dockerfile
1%
Shell
0.6%
HTML
0.4%