docs: Update tracking for Metrics Dashboard v2 + caching
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
a53d2b1d63
commit
cb59c58617
@ -1,20 +1,23 @@
|
||||
# SecuBox UI & Theme History
|
||||
|
||||
_Last updated: 2026-03-17 (LuCI Metrics Dashboard + WAF hot-reload)_
|
||||
_Last updated: 2026-03-17 (Metrics Dashboard KISS UI + double-buffer caching)_
|
||||
|
||||
0. **LuCI Metrics Dashboard + WAF Hot-Reload (2026-03-17)**
|
||||
- NEW: `luci-app-metrics-dashboard` package - Real-time system metrics dashboard
|
||||
- RPCD backend: `luci.metrics` with 9 methods (overview, certs, vhosts, metablogs, streamlits, waf_stats, connections, firewall_stats, all)
|
||||
- Shows: uptime, memory, load, vHosts, certificates, MetaBlogs, Streamlits, LXC containers
|
||||
- WAF stats: active bans, alerts today, threats detected, blocked requests
|
||||
- Connections: HTTP, HTTPS, SSH, total TCP (live counts)
|
||||
- Service status: HAProxy, mitmproxy, CrowdSec running indicators
|
||||
- Auto-refresh every 5 seconds via poll.add()
|
||||
- Menu: Status → Metrics Dashboard
|
||||
- WAF Filters page: Stats layout changed from 3 boxes to single compact line
|
||||
- Discovered mitmproxy haproxy_router.py already has hot-reload (checks file mtime every request)
|
||||
- Updated metablogizerctl to use hot-reload instead of restart for faster publishing
|
||||
- Fixed HAProxy 503 errors: Disabled health check on mitmproxy backend (mitmproxy returns 404 without valid Host)
|
||||
0. **LuCI Metrics Dashboard v2 (2026-03-17)**
|
||||
- NEW: `luci-app-metrics-dashboard` package - Real-time system metrics
|
||||
- **KISS-styled UI**:
|
||||
- Card grid with colored stat values (green, cyan, purple, orange)
|
||||
- Services status bar with glowing dots (HAProxy, WAF, CrowdSec)
|
||||
- Two-panel layout for WAF/Security and Connections
|
||||
- Live clock with pulsing indicator, auto-refresh every 5s
|
||||
- **Double-buffer caching** (per CLAUDE.md pattern):
|
||||
- Cache: `/tmp/secubox/metrics-cache.json` with 30s TTL
|
||||
- Cron job refreshes every 30 seconds
|
||||
- RPCD reads from cache instantly (eliminates XHR timeouts)
|
||||
- Stats: Uptime, Memory%, vHosts (274), Certs (92), MetaBlogs (127), Streamlits (27), LXC (21)
|
||||
- WAF Blocked: Counts CrowdSec mitmproxy decisions (1031 blocks)
|
||||
- WAF Filters page: Stats layout changed to single compact line
|
||||
- Discovered mitmproxy hot-reload (checks routes file every request)
|
||||
- Fixed HAProxy 503: Disabled health check on mitmproxy backend
|
||||
- Cleaned up test sites (testsite, lblstest)
|
||||
|
||||
0. **HAProxy/mitmproxy WAF Routing Fix (2026-03-17)**
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Work In Progress (Claude)
|
||||
|
||||
_Last updated: 2026-03-17 (LuCI Metrics Dashboard + WAF hot-reload)_
|
||||
_Last updated: 2026-03-17 (Metrics Dashboard KISS UI + double-buffer caching)_
|
||||
|
||||
> **Architecture Reference**: SecuBox Fanzine v3 — Les 4 Couches
|
||||
|
||||
@ -10,13 +10,15 @@ _Last updated: 2026-03-17 (LuCI Metrics Dashboard + WAF hot-reload)_
|
||||
|
||||
### 2026-03-17
|
||||
|
||||
- **LuCI Metrics Dashboard (Complete)**
|
||||
- **LuCI Metrics Dashboard v2 (Complete)**
|
||||
- New `luci-app-metrics-dashboard` package with real-time system metrics
|
||||
- RPCD backend: `luci.metrics` with 9 methods (overview, certs, vhosts, metablogs, streamlits, waf_stats, connections, firewall_stats, all)
|
||||
- Dashboard shows: uptime, memory, load, vHosts, certificates, MetaBlogs, Streamlits, LXC containers
|
||||
- WAF stats: active bans, alerts today, threats detected, blocked requests
|
||||
- Connections: HTTP, HTTPS, SSH, total TCP (live counts)
|
||||
- Service status: HAProxy, mitmproxy, CrowdSec running indicators
|
||||
- **KISS-styled UI**: Card grid, colored stat values, services status bar with glowing dots
|
||||
- **Double-buffer caching**: Cache at `/tmp/secubox/metrics-cache.json` with 30s TTL
|
||||
- Cron job refreshes cache every 30 seconds (no computation on request)
|
||||
- Stats: Uptime, Memory%, vHosts (274), SSL Certs (92), MetaBlogs (127), Streamlits (27), LXC (21), TCP Conns
|
||||
- WAF panel: Active Bans (43), Alerts 24h (44), WAF Blocked (1031 from CrowdSec mitmproxy decisions)
|
||||
- Connections panel: HTTPS, HTTP, SSH, Total TCP
|
||||
- Service status: HAProxy, mitmproxy WAF, CrowdSec with live indicators
|
||||
- Auto-refresh every 5 seconds via poll.add()
|
||||
- Menu: Status → Metrics Dashboard
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user