Matthew Stern
1de36625a4
[Agent] feat: parse ATA device statistics for temperature and future metrics ( #1689 )
...
* feat: add ATA Device Statistics parsing and fall back for SMART temp reading
* simplify ata device statistics structs and fix smartctl args tests
* simplify ata device statistics lookup to use page number only
---------
Co-authored-by: henrygd <hank@henrygd.me >
2026-01-26 19:05:55 -05:00
henrygd
cb5f944de6
battery: ensure current charge doesn't exceed full capacity ( #1668 )
2026-01-22 13:01:21 -05:00
henrygd
23c4958145
increase smartctl --scan timeout to 10 seconds ( #1465 )
2026-01-21 19:09:57 -05:00
henrygd
edb2edc12c
use name-only matching for unique SMART devices ( #1655 )
...
Fall back to name-only matching (previous behavior) when a device name
appears only once, preserving RAID composite key support added in #1655 .
2026-01-21 18:25:03 -05:00
Julian Nadeau
648a979a81
Add SMART_DEVICES_SEPARATOR + allow drives with the same name to be added with different types (e.g. raid controllers) ( #1655 )
...
* Add SMART_DEVICES_SEPARATOR to override ,
* Allow composite keys in smart devices for raid controller support
2026-01-21 17:58:20 -05:00
Tamás Vince
acaa9381fe
fix: update smartctlArgs call to use hasExistingData flag ( #1645 )
2026-01-16 15:30:52 -05:00
henrygd
9ad3cd0ab9
fix: GPU ID collision between Intel and NVIDIA collectors ( #1522 )
...
- Prefix Intel GPU ID as i0 to avoid NVML/NVIDIA index IDs like 0
- Update frontend GPU engines chart to select a GPU by id instead of
assuming g[0]
- Adjust tests to use the new Intel GPU id
2026-01-12 17:27:35 -05:00
henrygd
383913505f
agent: fix tegrastats VDD_SYS_GPU parsing
...
- Parse VDD_SYS_GPU <mW>/<mW> correctly
- Add regression test for GPU@ temp + VDD_SYS_GPU power
2026-01-12 16:12:36 -05:00
Vascolas007
ca8cb78c29
Jetson tegrastats regex pre jetpack5 ( #1631 )
...
* feat:Adding regex catching groups for GPU temperature and power in pre jetpack 5
2026-01-12 16:11:22 -05:00
henrygd
3279a6ca53
agent: add separate glibc build with NVML support ( #1618 )
...
purego requires dynamic linking, so split the agent builds:
- Default: static binary without NVML (works on musl/alpine)
- Glibc: dynamic binary with NVML support via purego
Changes:
- Add glibc build tag to conditionally include NVML code
- Add beszel-agent-linux-amd64-glibc build/archive in goreleaser
- Update ghupdate to use glibc binary on glibc systems
- Switch nvidia dockerfile to golang:bookworm with -tags glibc
2026-01-12 15:38:13 -05:00
henrygd
6a1a98d73f
update build constraints to exclude nvml collector on arm64 ( #1618 )
2026-01-11 20:27:34 -05:00
henrygd
618e5b4cc1
fix purego build errors on non-supported architectures
2026-01-11 17:48:19 -05:00
henrygd
0c6c53fc7d
fix isSystemdAvailable in containers and update alpine to 3.23
2026-01-11 16:07:24 -05:00
henrygd
5da7a21119
agent: fix container logs decoding for raw streams ( #1535 )
2026-01-08 13:57:56 -05:00
henrygd
3d970defe9
refactor: small comment / structure updates
2026-01-05 16:25:30 -05:00
Sven van Ginkel
6282794004
Add systemd check ( #1550 )
2026-01-05 15:59:17 -05:00
crimist
475c53a55d
nvml: add rtd3 memory workaround, fix slog imports ( #1587 )
...
* NVML: only read memory usage if utilization > 0% to allow rtd3, #1522
* logging: /x/exp/slog -> log/slog everywhere, fixes log instance inconsistencies
2026-01-05 15:26:59 -05:00
henrygd
4547ff7b5d
refactor: unify agent communication with Transport interface
...
- Introduce `Transport` interface to abstract WebSocket and SSH
communication
- Add generic `Data` field to `AgentResponse` for streamlined future
endpoints
- Maintain backward compatibility with legacy hubs and agents using
typed fields
- Unify fetch operations (SMART, systemd, containers) under a single
`request` method
- Improve `RequestManager` with deadline awareness and legacy response
support
- Refactor agent response routing into dedicated `agent/response.go`
- Update version to 0.18.0-beta.2
2026-01-05 13:13:55 -05:00
henrygd
e7b4be3dc5
fix(agent): update GPU average calculation tests to account for suspended state detection
2026-01-05 13:09:17 -05:00
henrygd
2bd85e04fc
add experimental nvml gpu collector ( #1522 )
2025-12-21 17:10:42 -05:00
henrygd
a9068a11a9
add SMART_INTERVAL env var with background smart data fetching
2025-12-19 16:14:31 -05:00
Jesper Ek
d17685c540
fix non unique fingerprint ( #1556 )
2025-12-18 18:21:19 -05:00
henrygd
e59f8eee36
add system_details collection for infrequently updated data
...
- add includedetails flag to data requests for better efficiency
- integrate docker host info api for better os detection
- pull more OS details as well as cpu arch
- separate info bar component and refactor for new info
2025-12-18 17:26:05 -05:00
henrygd
96196a353c
smart: fallback to nvme namespace path if base controller path fails ( #1504 )
2025-12-10 14:09:20 -05:00
henrygd
8d41a797d3
add battery charge to systems table
2025-12-08 18:20:51 -05:00
henrygd
4c9b00a066
add low battery alert ( #1507 )
2025-12-08 15:19:46 -05:00
henrygd
7d1f8bb180
raise smartctl timeout to 15 seconds ( #1465 )
2025-12-05 14:59:11 -05:00
henrygd
fe550c5901
refactor decodeDockerLogStream
2025-12-02 18:22:22 -05:00
henrygd
394c476f2a
strip ansi escape sequences from docker logs ( #1478 )
2025-11-30 14:36:00 -05:00
henrygd
86e8a141ea
add DISK_USAGE_CACHE env var ( #1426 )
2025-11-30 14:21:00 -05:00
henrygd
ca4988951f
add SKIP_SYSTEMD env var ( #1448 )
2025-11-19 17:21:30 -05:00
henrygd
4bfe9dd5ad
add missing systemd methods for nonlinux
2025-11-14 17:28:40 -05:00
henrygd
3650482b09
refactor: move getRootMountPoint to disk.go
2025-11-14 14:06:46 -05:00
Arush Wadhawan
79adfd2c0d
fix: detect and handle immutable filesystems like Fedora Silverblue ( #1405 )
2025-11-14 14:03:26 -05:00
henrygd
f64478b75e
add SERVICE_PATTERNS env var ( #1153 )
2025-11-13 16:11:24 -05:00
henrygd
854a3697d7
add services column to all systems table
2025-11-13 15:09:48 -05:00
henrygd
b722ccc5bc
show additional disk percentages in systems table ( #1365 )
2025-11-12 14:15:45 -05:00
henrygd
f64a361c60
add EXCLUDE_SMART env var ( #1392 )
2025-11-11 16:05:00 -05:00
henrygd
01d20562f0
add basic systemd service monitoring ( #1153 )
...
Co-authored-by: Shelby Tucker <shelby.tucker@gmail.com >
2025-11-10 17:04:51 -05:00
henrygd
cbe6ee6499
fix battery nil pointer error ( #1353 )
2025-11-10 15:16:50 -05:00
henrygd
1af7ff600f
embed smartctl in the windows binary ( #1362 )
2025-11-05 13:03:47 -05:00
henrygd
954400ea45
fix intel_gpu_top parsing when engine instance id is in column ( #1230 )
2025-11-04 16:02:20 -05:00
henrygd
d77ee5554f
add fallback paths for smartctl lookup ( #1362 , #1363 )
2025-11-04 14:06:28 -05:00
henrygd
fc0947aa04
fix windows extra disk backslash issue ( #1361 )
2025-11-03 17:42:08 -05:00
henrygd
6a562ce03b
add more cpu metrics ( #1356 )
...
- adds monitoring for cpu state time and per-core usage
Co-authored-by: Sven van Ginkel <svenvanginkel@icloud.com >
2025-11-01 12:57:58 -04:00
henrygd
3dbc48727e
add INTEL_GPU_DEVICE env var ( #1285 )
2025-11-01 11:12:05 -04:00
henrygd
85ac2e5e9a
update env var name to EXCLUDE_CONTAINERS #1352
2025-10-30 19:30:01 -04:00
Sven van Ginkel
af6bd4e505
[Feature] Add env var to exclude containers from being monitored ( #1352 )
2025-10-30 19:02:09 -04:00
henrygd
85169b6c5e
improve parsing of edge case smart power on times ( #1347 )
2025-10-30 16:32:06 -04:00
henrygd
e898768997
fix battery nil pointer error #1353
2025-10-30 12:52:33 -04:00