henrygd
704cb86de8
refactor: change ExpiryMap.store to be a pointer
2026-03-16 17:44:45 -04:00
henrygd
2854ce882f
fix(ui): centralize default layout width and update default setting
2026-03-16 15:23:32 -04:00
henrygd
ed50367f70
fix(agent): add fallback for podman container health ( #1475 )
2026-03-15 17:59:59 -04:00
henrygd
4ebe869591
ui: virtualize smart table
2026-03-15 15:20:07 -04:00
henrygd
c9bbbe91f2
ui: improve table col widths and hide text showing above header
2026-03-15 14:59:25 -04:00
henrygd
5bfe4f6970
agent: include ip in container port if not 0.0.0.0 or ::
2026-03-15 14:58:21 -04:00
henrygd
380d2b1091
add ports column to containers table ( #1481 )
2026-03-14 19:29:39 -04:00
henrygd
a7f99e7a8c
agent: support new Docker API Health field ( #1475 )
2026-03-14 15:26:44 -04:00
henrygd
bd94a9d142
agent: improve disk discovery / IO mapping and add tests ( #1811 )
2026-03-13 16:03:27 -04:00
henrygd
8e2316f845
refactor: simplify/improve status alert handling ( #1519 )
...
also adds new functionality to restore any pending down alerts
that were lost by hub restart before creation
2026-03-12 15:53:40 -04:00
Sven van Ginkel
0d3dfcb207
fix(hub): check if status alert is triggered before sending up alert ( #1806 )
2026-03-12 13:38:42 -04:00
henrygd
b386ce5190
hub: add ExpiryMap.UpdateExpiration and sync SMART fetch intervals ( #1800 )
...
- Update smartFetchMap expiration when agent smart interval changes
- Prevent background SMART fetching before initial system details are
loaded
- Add buffer to SMART fetch timing check
- Get rid of unnecessary pointers in expirymap
2026-03-11 16:25:52 -04:00
henrygd
e527534016
ensure deprecated system fields are migrated to newer structures
...
also removes refs to legacy load avg fields (l1, l5, l15) that were
around for a very short period
2026-03-10 18:46:57 -04:00
Victor Eduardo
ec7ad632a9
fix: Use historical records to average disk usage for extra disk alerts ( #1801 )
...
- Introduced a new test file `alerts_disk_test.go` to validate the behavior of disk alerts using historical data for extra filesystems.
- Enhanced the `HandleSystemAlerts` function to correctly calculate disk usage for extra filesystems based on historical records.
- Updated the `SystemAlertStats` struct to include `ExtraFs` for tracking additional filesystem statistics.
2026-03-09 18:32:35 -04:00
VACInc
963fce5a33
agent: mark mdraid rebuild as warning, not failed ( #1797 )
2026-03-09 17:54:53 -04:00
Sven van Ginkel
d38c0da06d
fix: bypass NIC auto-filter when interface is explicitly whitelisted via NICS ( #1805 )
...
Co-authored-by: henrygd <hank@henrygd.me >
2026-03-09 17:47:59 -04:00
henrygd
cae6ac4626
update go version to 1.26.1
2026-03-09 16:10:38 -04:00
henrygd
6b1ff264f2
gpu(amd): add workaround for misreported sysfs filesize ( #1799 )
2026-03-09 14:53:52 -04:00
henrygd
35d0e792ad
refactor(expirymap): optimize performance and add StopCleaner method
2026-03-08 19:09:41 -04:00
henrygd
654cd06b19
respect SMART_INTERVAL across agent reconnects ( #1800 )
...
Move tracking of the last SMART data fetch from individual System
instances to the SystemManager using a TTL-based ExpiryMap.
This ensures that the SMART_INTERVAL is respected even if an
agent connection is dropped and re-established, preventing
redundant data collection on every reconnect.
2026-03-08 19:03:50 -04:00
henrygd
5e1b028130
refactor(smart): improve perf by skipping ata_device_statistics parsing if unnecessary
2026-03-08 15:19:50 -04:00
henrygd
638e7dc12a
fix(smart): handle negative ATA device statistics values ( #1791 )
2026-03-08 13:34:16 -04:00
henrygd
73c262455d
refactor(agent): move GetEnv to utils package
2026-03-07 14:12:17 -05:00
henrygd
0c4d2edd45
refactor(agent): add utils package; rm utils.go and fs_utils.go
2026-03-07 13:50:49 -05:00
henrygd
8f23fff1c9
refactor: mdraid comments and organization
...
also hide serial / firmware in smart details if empty, remove a few
unnecessary ops, and add a few more passed state values
2026-02-27 14:23:10 -05:00
VACInc
02c1a0c13d
Add Linux mdraid health monitoring ( #1750 )
2026-02-27 13:42:47 -05:00
henrygd
69fdcb36ab
support ZFS ARC on freebsd
2026-02-26 18:38:54 -05:00
henrygd
b91eb6de40
improve root I/O device detection and fallback ( #1772 )
...
- Match FILESYSTEM directly against I/O devices if partition lookup
fails
- Fall back to the most active I/O device if no root device is detected
- Add WARN logs in final fallback case to most active device
2026-02-26 18:11:33 -05:00
henrygd
ec69f6c6e0
improve disk I/O device matching for partition-to-disk mismatches ( #1772 )
...
findIoDevice now normalizes device names and falls back to prefix-based
matching when partition names differ from IOCounter names (e.g. nda0p2 →
nda0 on FreeBSD). The most-active prefix-related device is selected,
avoiding the broad "most active of all" heuristic that caused Docker
misattribution in #1737 .
2026-02-26 16:59:12 -05:00
henrygd
a86cb91e07
improve install scripts with retries, validation, and better error messages
...
Add curl retries/timeouts, archive integrity checks, binary existence
checks, and temp dir cleanup on all failure paths. Unify --mirror flag
handling in hub script to match agent. Use cat instead of tee for
systemd service file, quiet systemctl output.
2026-02-26 12:29:05 -05:00
henrygd
004841717a
add checks for non-empty CPU times during initialization ( #401 )
2026-02-25 19:04:29 -05:00
henrygd
096296ba7b
fix: ensure rc.d directory exists for minimal FreeBSD installs in install-agent.sh
2026-02-25 16:22:37 -05:00
ilya
b012df5669
Fix volume path in Docker run command ( #1764 )
2026-02-24 15:47:16 -05:00
henrygd
12545b4b6d
fix: dedupe root-mirrored extra filesystems during disk discovery ( #1428 )
2026-02-24 15:41:29 -05:00
henrygd
9e2296452b
fix: compute bandwidth alerts from byte-per-second source ( #1770 )
...
Use Info.BandwidthBytes converted to MB/s with float division so
bandwidth alert checks are based on current data without integer
truncation near thresholds.
2026-02-24 13:07:27 -05:00
henrygd
ac79860d4a
dev: update biome schema and disable assist/source/organizeImports
v0.18.4
2026-02-20 15:50:44 -05:00
henrygd
e13a99fdac
ui: add fallback to display language code if no emoji / flag
2026-02-20 15:46:24 -05:00
henrygd
4cfb2a86ad
0.18.4 release
2026-02-20 15:00:15 -05:00
henrygd
191f25f6e0
ui: refactor heartbeat settings page
2026-02-20 14:48:59 -05:00
henrygd
aa8b3711d7
update translations
2026-02-19 19:22:54 -05:00
henrygd
1fb0b25988
testing: improve flaky hub cleanup in agent_connect_test.go
2026-02-19 18:35:31 -05:00
henrygd
04600d83cc
refactor: small go 1.26 updates and go fix changes
2026-02-19 18:04:33 -05:00
henrygd
5d8906c9b2
amd gpu: small refactor + trim "series" from device name
2026-02-19 17:39:13 -05:00
henrygd
daac287b9d
ui: fix race issue with meter threshold colors
...
also increase the default container width
2026-02-19 17:37:57 -05:00
henrygd
d526ea61a9
ui: freeze header of smart device details table
2026-02-19 17:35:12 -05:00
henrygd
79616e1662
update translations
2026-02-19 16:21:59 -05:00
Sven van Ginkel
01e8bdf040
feat: allow precise value entry for alerts via text input ( #1718 )
2026-02-19 13:15:12 -05:00
henrygd
1e3a44e05d
agent: improve multiplexed logs detection for podman ( #1755 )
2026-02-18 17:45:37 -05:00
henrygd
311095cfdd
harden against docker api path traversal
...
Validate container IDs (12-64 hex) in hub container endpoints and agent
Docker requests, and build Docker URLs with escaped path segments. Add
regression tests for traversal/malformed container inputs and safe
endpoint construction.
2026-02-18 17:33:00 -05:00
henrygd
4869c834bb
fix(ui): update bandwidth fallback to 0 when data is empty (avoid NaN)
2026-02-18 16:28:18 -05:00