Commit graph

12 commits

Author SHA1 Message Date
rcourtman
2ddd222911 Add smartctl text fallback parsing (#1254)
Some checks are pending
Build and Test / Secret Scan (push) Waiting to run
Build and Test / Frontend & Backend (push) Waiting to run
Core E2E Tests / Playwright Core E2E (push) Waiting to run
2026-03-28 00:13:37 +00:00
rcourtman
30283e1b0f Probe FreeBSD SCT SMART temperatures (#1254) 2026-03-27 22:43:28 +00:00
rcourtman
ad10e1f116 Discover controller-backed SMART wearout paths (#1368) 2026-03-27 15:42:44 +00:00
rcourtman
f4085480b6 Fix smartctl coverage tests for sysfs-first enumeration 2026-03-27 09:46:22 +00:00
rcourtman
0f70aa053e Honor disk-exclude for sleeping and Proxmox disks (#1142) 2026-03-26 00:01:59 +00:00
rcourtman
ec93de1a59 Retry FreeBSD SMART probes after false standby (#1254) 2026-03-25 22:34:24 +00:00
rcourtman
98c9de7c91 Fix FreeBSD SMART disk detection for ada/da/nvd devices (#1254)
FreeBSD disk discovery now falls back to scanning /dev for ada*, da*,
nvd*, nda* and other FreeBSD disk names when kern.disks misses them.
Probe order prefers the correct device type first (sat for ada, nvme
for nvd). Standby disks are preserved as valid results instead of
being dropped.
2026-03-08 22:16:24 +00:00
rcourtman
82c615b3b9 Filter virtual disks from SMART checks to prevent false positives (#1329)
ZFS zvols (zd*), device-mapper, virtio disks, and other virtual block
devices don't support SMART and were being reported as FAILED. Use lsblk
JSON metadata to filter by device prefix, transport, subsystem, and
vendor/model. Also treat missing smart_status as unknown rather than
failed, and ignore UNKNOWN health in Patrol/AI signals.
2026-03-08 22:16:24 +00:00
rcourtman
499ab812e3 Fix post-release regressions and lock v5 to single-tenant runtime 2026-03-05 23:46:35 +00:00
rcourtman
47adcbd8af feat(agent): add FreeBSD S.M.A.R.T. disk collection support (#1236)
Relax the Linux-only gate on SMART collection to also run on FreeBSD.
Add FreeBSD disk discovery via sysctl kern.disks (lsblk is Linux-only).
The smartctl invocation and JSON parsing are already platform-agnostic.
2026-02-10 12:44:15 +00:00
rcourtman
c1f4b8f40b feat: PULSE_DISK_EXCLUDE now applies to SMART monitoring. Related to #983
Previously, the PULSE_DISK_EXCLUDE environment variable and --disk-exclude
flag only filtered mount points in the hostmetrics collector. This change
extends the exclusion to SMART data collection.

Changes:
- Updated smartctl.CollectLocal() to accept diskExclude patterns
- Added matchesDeviceExclude() for block device pattern matching
- Patterns support: exact match (sda), prefix (nvme*), contains (*cache*)
- Updated hostagent to pass DiskExclude to SMART collector
- Added comprehensive tests for pattern matching
- Updated documentation
2025-12-31 23:07:01 +00:00
rcourtman
c6bd8cb74c Improve internal package test coverage 2025-12-29 17:25:21 +00:00