mirror of
https://github.com/henrygd/beszel.git
synced 2026-03-23 14:06:18 +01:00
* feat: add outbound heartbeat monitoring to external endpoints Allow Beszel hub to periodically ping an external monitoring service (e.g. BetterStack, Uptime Kuma, Healthchecks.io) with system status summaries, enabling monitoring without exposing Beszel to the internet. Configuration via environment variables: - BESZEL_HUB_HEARTBEAT_URL: endpoint to ping (required to enable) - BESZEL_HUB_HEARTBEAT_INTERVAL: seconds between pings (default: 60) - BESZEL_HUB_HEARTBEAT_METHOD: HTTP method - POST/GET/HEAD (default: POST)
394 lines
11 KiB
Markdown
394 lines
11 KiB
Markdown
## Unreleased
|
|
|
|
- Add outbound heartbeat monitoring to external services (BetterStack, Uptime Kuma, Healthchecks.io, etc.) with system status summary payload. Configured via `BESZEL_HUB_HEARTBEAT_URL`, `BESZEL_HUB_HEARTBEAT_INTERVAL`, and `BESZEL_HUB_HEARTBEAT_METHOD` environment variables.
|
|
|
|
- Add Heartbeat settings page to the admin UI with status display, configuration reference, and test button.
|
|
|
|
## 0.18.3
|
|
|
|
- Add experimental sysfs AMD GPU collector. (#737, #1569)
|
|
|
|
- Update LibreHardwareMonitorLib to 0.9.5. (#1697)
|
|
|
|
- Improve container network stats accuracy.
|
|
|
|
- Fix `SHARE_ALL_SYSTEMS` for system_details, smart_devices, and systemd_services. (#1660)
|
|
|
|
- Parse ATA device statistics for temperature and future metrics. (#1689)
|
|
|
|
- Add `SMART_DEVICES_SEPARATOR` environment variable and allow drives with the same name to be added with different types (e.g. RAID controllers). (#1655)
|
|
|
|
- Add tooltips for navbar buttons. (#1636)
|
|
|
|
- Add icon button for mobile use. (#1687)
|
|
|
|
- Add tooltip to system name in systems table. (#1640)
|
|
|
|
- Improve CJK truncation in UI.
|
|
|
|
- Fix container uptime sorting edge case. (#1696)
|
|
|
|
- Remove stale systemd services from tracking after deletion. (#1594)
|
|
|
|
- Apply SELinux context after binary replacement. (#1678)
|
|
|
|
- Update honeypot field name and autofill ignores. (#1011)
|
|
|
|
- Write health_file to `/dev/shm` instead of `/tmp` if available. (#1455)
|
|
|
|
- Don't force lowercase text for active alerts. (#1682)
|
|
|
|
- Ensure battery current charge doesn't exceed full capacity. (#1668)
|
|
|
|
- Increase `smartctl --scan` timeout to 10 seconds. (#1465)
|
|
|
|
- Use name-only matching for unique S.M.A.R.T. devices. (#1655)
|
|
|
|
- Fix smartctlArgs call to use hasExistingData flag. (#1645)
|
|
|
|
- Ignore alt key combinations when navigating systems with arrow keys. (#1698)
|
|
|
|
- Update Go dependencies
|
|
|
|
## 0.18.2
|
|
|
|
- Add separate dynamically linked glibc build for Linux. (#1618)
|
|
|
|
- Fix GPU ID collision between Intel and NVIDIA collectors. (#1522)
|
|
|
|
- Only hide GPU engine graph if entire usage is 0%. (#1624)
|
|
|
|
- Add Jetson tegrastats regex support for pre-Jetpack 5 versions. (#1631)
|
|
|
|
- Improve Indonesian translations. (#1625)
|
|
|
|
## 0.18.1
|
|
|
|
- Fix bug in 0.18.0 where all containers were cleared from the "All Containers" page when any system returned no containers.
|
|
|
|
## 0.18.0
|
|
|
|
- Add experimental NVML GPU collector. (#1522, #1587)
|
|
|
|
- Add low battery alerts. (#1507)
|
|
|
|
- Add battery charge to systems table.
|
|
|
|
- Add option to make universal token permanent. (#1097, #1614)
|
|
|
|
- Add `--url` and `--token` command line arguments to the agent. (#1524)
|
|
|
|
- Collect S.M.A.R.T. data in the background every hour.
|
|
|
|
- Add `SMART_INTERVAL` environment variable to customize S.M.A.R.T. data collection interval.
|
|
|
|
- Collect system distribution and architecture.
|
|
|
|
- Add `system_details` collection to store infrequently updated system information.
|
|
|
|
- Improve S.M.A.R.T. device path lookup for NVMe devices. (#1504)
|
|
|
|
- Use origin country flags for Spanish, Portuguese, English languages. (#1571)
|
|
|
|
- Raise `smartctl` timeout to 15 seconds. (#1465)
|
|
|
|
- Skip known non-unique product UUID when generating fingerprints. (#1556)
|
|
|
|
- Fix container logs decoding for raw streams. (#1535)
|
|
|
|
- Fix capacity sorting in S.M.A.R.T. table. (#1551)
|
|
|
|
- Fix loader visibility when no systems are present. (#1511)
|
|
|
|
- Rename login honeypot field to prevent password manager autofill (#1011).
|
|
|
|
- Add Serbian and Bahasa Indonesia translations.
|
|
|
|
- Update Go dependencies.
|
|
|
|
## 0.17.0
|
|
|
|
- Add quiet hours to silence alerts during specific time periods. (#265)
|
|
|
|
- Add dedicated S.M.A.R.T. page.
|
|
|
|
- Add alerts for S.M.A.R.T. failures.
|
|
|
|
- Add `DISK_USAGE_CACHE` environment variable. (#1426)
|
|
|
|
- Add `SKIP_SYSTEMD` environment variable. (#1448)
|
|
|
|
- Add hub builds for Windows and FreeBSD.
|
|
|
|
- Change extra disk indicators in systems table to display usage range as dots. (#1409)
|
|
|
|
- Strip ANSI escape sequences from docker logs. (#1478)
|
|
|
|
- Fix issue where the Add System button is visible to read-only users. (#1442)
|
|
|
|
- Fix font ligatures creating unwanted artifacts in random ids. (#1434)
|
|
|
|
- Update Go dependencies.
|
|
|
|
## 0.16.1
|
|
|
|
- Add services column to All Systems table. (#1153)
|
|
|
|
- Add `SERVICE_PATTERNS` environment variable to filter systemd services. (#1153)
|
|
|
|
- Fix detection and handling of immutable filesystems like Fedora Silverblue. (#1405)
|
|
|
|
- Persist alert history page size preference. (#1404)
|
|
|
|
- Add setting for layout width.
|
|
|
|
- Update Go dependencies.
|
|
|
|
## 0.16.0
|
|
|
|
- Add basic systemd service monitoring. (#1153)
|
|
|
|
- Add GPU usage alerts.
|
|
|
|
- Show additional disk percentages in systems table. (#1365)
|
|
|
|
- Embed `smartctl` in the Windows binary (experimental). (#1362)
|
|
|
|
- Add `EXCLUDE_SMART` environment variable to exclude devices from S.M.A.R.T. monitoring. (#1392)
|
|
|
|
- Change alert links to use system ID instead of name.
|
|
|
|
- Update Go dependencies.
|
|
|
|
## 0.15.4
|
|
|
|
- Refactor containers table to fix clock issue causing no results. (#1337)
|
|
|
|
- Fix Windows extra disk detection. (#1361)
|
|
|
|
- Add total line to the tooltip of charts with multiple values. (#1280)
|
|
|
|
- Add fallback paths for `smartctl` lookup. (#1362, #1363)
|
|
|
|
- Fix `intel_gpu_top` parsing when engine instance id is in column. (#1230)
|
|
|
|
- Update `henrygd/beszel-agent-nvidia` Dockerfile to build latest smartmontools. (#1335)
|
|
|
|
## 0.15.3
|
|
|
|
- Add CPU state details and per-core usage. (#1356)
|
|
|
|
- Add `EXCLUDE_CONTAINERS` environment variable to exclude containers from being monitored. (#1352)
|
|
|
|
- Add `INTEL_GPU_DEVICE` environment variable to specify Intel GPU device. (#1285)
|
|
|
|
- Improve parsing of edge case S.M.A.R.T. power on times. (#1347)
|
|
|
|
- Fix empty disk I/O values for extra disks. (#1355)
|
|
|
|
- Fix battery nil pointer error. (#1353)
|
|
|
|
- Add Hebrew with translations by @gabay.
|
|
|
|
- Update `shoutrrr` and `gopsutil` dependencies.
|
|
|
|
## 0.15.2
|
|
|
|
- Improve S.M.A.R.T. device detection logic (fix regression in 0.15.1) (#1345)
|
|
|
|
## 0.15.1
|
|
|
|
- Add `SMART_DEVICES` environment variable to specify devices and types. (#373, #1335)
|
|
|
|
- Add support for `scsi`, `sntasmedia`, and `sntrealtek` S.M.A.R.T. types. (#373, #1335)
|
|
|
|
- Handle power-on time attributes that are formatted as strings (e.g., "0h+0m+0.000s").
|
|
|
|
- Skip virtual disks in S.M.A.R.T. monitoring. (#1332)
|
|
|
|
- Add sorting to the S.M.A.R.T. table. (#1333)
|
|
|
|
- Fix incorrect disk rendering in S.M.A.R.T. device details. (#1336)
|
|
|
|
- Fix `SHARE_ALL_SYSTEMS` setting not working for containers. (#1334)
|
|
|
|
- Fix text contrast issue when container details are disabled. (#1324)
|
|
|
|
## 0.15.0
|
|
|
|
- Add initial S.M.A.R.T. support for disk health monitoring. (#962)
|
|
|
|
- Add `henrygd/beszel-agent:alpine` Docker image and include `smartmontools` in all non-base agent images.
|
|
|
|
- Remove environment variables from container details (#1305)
|
|
|
|
- Add `CONTAINER_DETAILS` environment variable to control access to container logs and info APIs. (#1305)
|
|
|
|
- Improve temperature chart by allowing y-axis to start above 0 for better readability. (#1307)
|
|
|
|
- Improve battery detection logic. (#1287)
|
|
|
|
- Limit docker log size to prevent possible memory leak. (#1322)
|
|
|
|
- Update Go dependencies.
|
|
|
|
## 0.14.1
|
|
|
|
- Add `MFA_OTP` environment variable to enable email-based one-time password for users and/or superusers.
|
|
|
|
- Add image name to containers table. (#1302)
|
|
|
|
- Add spacing for long temperature chart tooltip. (#1299)
|
|
|
|
- Fix sorting by status in containers table. (#1294)
|
|
|
|
## 0.14.0
|
|
|
|
- Add `/containers` page for viewing current status of all running containers. (#928)
|
|
|
|
- Add ability to view container status, health, details, and basic logs. (#928)
|
|
|
|
- Probable fix for erroneous network stats when interface resets (#1267, #1246)
|
|
|
|
# 0.13.2
|
|
|
|
- Add ability to set custom name for extra filesystems. (#379)
|
|
|
|
- Improve WebSocket agent reconnection after network interruptions. (#1263)
|
|
|
|
- Allow more latency in one minute charts before visually disconnecting points. (#1247)
|
|
|
|
- Update favicon and add add down systems count in bubble.
|
|
|
|
## 0.13.1
|
|
|
|
- Fix one minute charts on systems without Docker. (#1237)
|
|
|
|
- Change system permalinks to use ID instead of name. (#1231)
|
|
|
|
## 0.13.0
|
|
|
|
- Add one minute chart with one second interval.
|
|
|
|
- Improve accuracy of disk I/O statistics.
|
|
|
|
- Add `SYSTEM_NAME` environment variable to override system name on universal token registration. (#1184)
|
|
|
|
- Add `noindex` HTML meta tag. (#1218)
|
|
|
|
- Update Go dependencies.
|
|
|
|
## 0.12.12
|
|
|
|
- Fix high CPU usage when `intel_gpu_top` returns an error. (#1203)
|
|
|
|
- Add `SKIP_GPU` environment variable to skip GPU data collection. (#1203)
|
|
|
|
- Add fallback cache/buff memory calculation when cache/buff isn't available ([#1198](https://github.com/henrygd/beszel/issues/1198))
|
|
|
|
- Fix automatic agent update / restart on OpenRC. (#1199)
|
|
|
|
## 0.12.11
|
|
|
|
- Adjust calculation of cached memory (fixes #1187, #1196)
|
|
|
|
- Add pattern matching and blacklist functionality to `NICS` env var. (#1190)
|
|
|
|
- Update Intel GPU collector to parse plain text (`-l`) instead of JSON output (#1150)
|
|
|
|
## 0.12.10
|
|
|
|
Note that the default memory calculation changed in this release, which may cause a difference in memory usage compared to previous versions.
|
|
|
|
- Add initial support for Intel GPUs (#1150, #755)
|
|
|
|
- Show connection type (WebSocket / SSH) in hub UI.
|
|
|
|
- Fix temperature unit and bytes / bits settings. (#1180)
|
|
|
|
- Add `henrygd/beszel-agent-intel` image for Intel GPUs (experimental).
|
|
|
|
- Update Go dependencies. Shoutrrr now supports notifications for Signal and WeChat Work (WeCom).
|
|
|
|
## 0.12.9
|
|
|
|
- Fix divide by zero error introduced in 0.12.8 :) (#1175)
|
|
|
|
## 0.12.8
|
|
|
|
- Add per-interface network traffic charts. (#926)
|
|
|
|
- Add cumulative network traffic charts. (#926)
|
|
|
|
- Add setting for time format (12h / 24h). (#424)
|
|
|
|
- Add experimental one-time password (OTP) support.
|
|
|
|
- Add `TRUSTED_AUTH_HEADER` environment variable for authentication forwarding. (#399)
|
|
|
|
- Add `AUTO_LOGIN` environment variable for automatic login. (#399)
|
|
|
|
- Add FreeBSD support for agent install script and update command.
|
|
|
|
- Fix status alerts not being resolved when system comes up. (#1052)
|
|
|
|
## 0.12.7
|
|
|
|
- Make LibreHardwareMonitor opt-in with `LHM=true` environment variable. (#1130)
|
|
|
|
- Fix bug where token was not refreshed when adding a new system. (#1141)
|
|
|
|
- Add `USER_EMAIL` and `USER_PASSWORD` environment variables to set the email and password of the initial user. (#1137)
|
|
|
|
- Display system counts (active, paused, down) in All Systems 'view' options. (#1078)
|
|
|
|
- Remember All Systems sort order during session.
|
|
|
|
## 0.12.6
|
|
|
|
- Add maximum 1 minute memory usage.
|
|
|
|
- Add status filters to All Systems table.
|
|
|
|
- Virtualize All Systems table to improve performance with hundreds of systems. (#1100)
|
|
|
|
- Fix Safari system link CSS bug.
|
|
|
|
- Use older cuda image for increased compatibility (#1103)
|
|
|
|
- Truncate long system names in All Systems table. (#1104)
|
|
|
|
- Fix update mirror and add `--china-mirrors` flag. (#1035)
|
|
|
|
## 0.12.5
|
|
|
|
- Downgrade `gopsutil` to `v4.25.6` to fix panic on FreeBSD (#1083)
|
|
|
|
- Exclude FreeBSD from battery charge monitoring to fix deadlock. (#1081)
|
|
|
|
- Minor hub UI improvements.
|
|
|
|
## 0.12.4
|
|
|
|
- Add battery charge monitoring.
|
|
|
|
- Add fallback mirror to the `update` commands. (#1035)
|
|
|
|
- Fix blank token field in insecure contexts.
|
|
|
|
- Allow opening internal router links in new tab.
|
|
|
|
- Add `/api/beszel/user-alerts` endpoint. Remove use of batch API for alerts in hub.
|
|
|
|
- Require auth for `/api/beszel/getkey` endpoint that returns the public key.
|
|
|
|
- Change `GET /api/beszel/send-test-notification` endpoint to `POST /api/beszel/test-notification`.
|
|
|
|
- Update Go and JS dependencies.
|
|
|
|
- New translations by @Radotornado, @AlexVanSteenhoven, @harupong, @dymek37, @NaNomicon, Tommaso Cavazza, Caio Garcia, and others.
|
|
|
|
## Older
|
|
|
|
Release notes are available at <https://github.com/henrygd/beszel/releases>
|