adam 861f9279c4 Implement full JBOD monitor frontend from design JSX
- Dark/light theme toggle, grid/table view toggle
- Expanded DriveHealthSummary with wwn, firmware, capacity, SMART
  counters, and computed health_status field
- Drive detail modal with identity, WWN, ZFS membership, SMART health
- 30s auto-refresh
2026-03-07 03:41:35 +00:00

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 — for smartctl (SMART data)
  • sg3-utils — for sg_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
REST API for monitoring drive health in JBOD enclosures on Linux
Readme 244 KiB
Languages
Python 50.1%
JavaScript 47.9%
Dockerfile 1%
Shell 0.6%
HTML 0.4%