jared and Claude Sonnet 4.6
c8e183fc4f
feat: terminal aesthetic rewrite + link debug page
...
- Full dark terminal aesthetic (Pulse/TinkerTickets style):
- #0a0a0a background, #00ff41 green, #ffb000 amber, #00ffff cyan
- CRT scanline overlay, phosphor glow, ASCII corner pseudoelements
- Bracket-notation badges [CRITICAL], monospace font throughout
- style.css, base.html, index.html, suppressions.html all rewritten
- New Link Debug page (/links, /api/links):
- Per-host, per-interface cards with speed/duplex/port type/auto-neg
- Traffic bars (TX cyan, RX green) with rate labels
- Error/drop counters, carrier change history
- SFP/DOM optical panel: vendor, temp, voltage, bias, TX/RX power dBm bars
- RX-TX delta shown; color-coded warn/crit thresholds
- Auto-refresh every 60s, anchor-jump to #hostname
- LinkStatsCollector in monitor.py:
- SSHes to each host (one connection, all ifaces batched)
- Parses ethtool + ethtool -m (SFP DOM) output
- Merges with Prometheus traffic/error/carrier metrics
- Stores as link_stats in monitor_state table
- config.json: added ssh section for ethtool collection
- app.js: terminal chip style consistency (uppercase, ● bullet)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-02 12:43:11 -05:00
jared
124a8c4ea2
chore: remove deploy test line from README
2026-03-02 12:08:16 -05:00
jared
565bd4ee24
chore: test auto-deploy pipeline
2026-03-02 12:05:59 -05:00
jared
150300ff91
chore: clean up deploy test line from README
2026-03-02 12:00:46 -05:00
jared
997c626c3c
chore: trigger deploy test
2026-03-02 11:58:42 -05:00
jared and Claude Sonnet 4.6
c201604dca
docs: update README for storage-01 Prometheus migration
...
- storage-01 now monitored via Prometheus node_exporter (10.10.10.11:9100),
removed from ping_hosts
- Updated data sources table (6 hosts via Prometheus, pbs only via ping)
- Added storage-01 to monitored hosts table
- Fixed Authelia reload command (restart, not reload)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-01 23:05:27 -05:00
jared and Claude Sonnet 4.6
04a5182259
Complete rewrite: full-featured network monitoring dashboard
...
- Two-service architecture: Flask web app (gandalf.service) + background
polling daemon (gandalf-monitor.service)
- Monitor polls Prometheus node_network_up for physical NIC states on all
6 hypervisors (added storage-01 at 10.10.10.11:9100)
- UniFi API monitoring for switches, APs, and gateway device status
- Ping reachability for hosts without node_exporter (pbs only now)
- Smart baseline: interfaces first seen as down are never alerted on;
only UP→DOWN regressions trigger tickets
- Cluster-wide P1 ticket when 3+ hosts have genuine simultaneous
interface regressions (guards against false positives on startup)
- Tinker Tickets integration with 24-hour hash-based deduplication
- Alert suppression: manual toggle or timed windows (30m/1h/4h/8h)
- Authelia SSO via forward-auth headers, admin group required
- Network topology: Internet → UDM-Pro → Agg Switch (10G DAC) →
PoE Switch (10G DAC) → Hosts
- MariaDB schema, suppression management UI, host/interface cards
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-01 23:03:18 -05:00
jared
4a66c41d18
added git ignore
2025-03-01 13:34:25 -05:00
jared
517843886b
interface update
2025-02-08 00:32:25 -05:00
jared
ec1e8055de
fixed indent
2025-02-08 00:16:45 -05:00
jared
773802815a
lots logs
2025-02-08 00:16:06 -05:00
jared
3688cf6d62
added raw back
2025-02-08 00:13:06 -05:00
jared
c8fb605dbb
more dynamic
2025-02-08 00:11:28 -05:00
jared
2498388715
fix syntax error
2025-02-08 00:04:42 -05:00
jared
640a3b9993
dynamic devices
2025-02-08 00:03:01 -05:00
jared
a7b164f340
interfaces update
2025-02-07 23:57:34 -05:00
jared
6f79dc905d
update index
2025-02-07 23:54:28 -05:00
jared
705be36c3f
updated index html
2025-02-07 23:51:13 -05:00
jared
9188401374
update html
2025-02-07 23:38:49 -05:00
jared
59546cd080
json update
2025-02-07 23:26:41 -05:00
jared
6b0ef3fcb6
v2 api
2025-02-07 23:24:36 -05:00
jared
2b1af750f4
wrong indentation
2025-02-07 23:20:14 -05:00
jared
361e85fd69
Bearer token
2025-02-07 23:19:50 -05:00
jared
b3b118395a
Auth order plz
2025-02-07 23:17:12 -05:00
jared
bc2590dc34
CSRF token
2025-02-07 23:14:36 -05:00
jared
df460afe68
bearer token
2025-02-07 23:12:29 -05:00
jared
0438bd32ce
updated stats
2025-02-07 23:09:11 -05:00
jared
05671360cd
acquire site id
2025-02-07 23:06:49 -05:00
jared
f3b9d26ec2
site id to default
2025-02-07 23:01:58 -05:00
jared
27a1707b81
DEBUG BROSKI
2025-02-07 22:54:43 -05:00
jared
dfdafc07c4
fixed endpoint
2025-02-07 22:52:19 -05:00
jared
8c72a1494a
new header
2025-02-07 22:50:52 -05:00
jared
3115b714aa
raw data
2025-02-07 22:48:55 -05:00
jared
4edffca6af
new endpoints again
2025-02-07 22:47:04 -05:00
jared
231de5714b
legacy endpoints
2025-02-07 22:44:45 -05:00
jared
bb2f6b96cf
device and site id
2025-02-07 22:42:47 -05:00
jared
d37e58af15
initializes the session before attempting to use it
2025-02-07 22:31:07 -05:00
jared
4f126f1ffb
get site id
2025-02-07 22:29:26 -05:00
jared
071f5e954d
x-api-
2025-02-07 22:27:26 -05:00
jared
646a1c3687
json instead of html
2025-02-07 22:24:32 -05:00
jared
0894f35cde
raw response
2025-02-07 22:23:15 -05:00
jared
09823f8619
updated json parsing
2025-02-07 22:21:34 -05:00
jared
62a4ec16a2
revert
2025-02-07 22:20:20 -05:00
jared
bd5707160a
Bearer token
2025-02-07 22:17:27 -05:00
jared
a21c21fbfc
attempt new login method
2025-02-07 22:14:57 -05:00
jared
786c4be2ff
updated auth
2025-02-07 22:09:09 -05:00
jared
1a4ffa107d
updated api endpoint
2025-02-07 22:04:41 -05:00
jared
637b9876a3
more loggging
2025-02-07 22:03:19 -05:00
jared
d7b7b1d17a
debug api
2025-02-07 21:58:35 -05:00
jared
b2a183b0e2
debug more
2025-02-07 21:56:30 -05:00