Repository navigation
v0.2.0-beta.15
Pre-release
Pre-release
·
49 commits
to main
since this release
Test version: logs of the last 3 starts are kept (#83), switch off and on by schedule (#82), Zabbix agent as a system app (#84). Details below.
What's Changed
- Keep the logs of the last 3 starts (for #83) by @UniqueDroid in #85
- Power schedule: switch off and on per weekday (#82) by @UniqueDroid in #86
- Zabbix agent as a system app (classic C agent, active mode) (#84) by @UniqueDroid in #89
- Docs for 0.2.0-beta.15 by @UniqueDroid in #90
Full Changelog: v0.2.0-beta.14...v0.2.0-beta.15
- Zabbix agent as a system app (#84). APPS → Store → system apps → Zabbix Agent: the classic agent (
zabbix_agentd7.0 LTS, written in C – not the Go agent 2) for monitoring the box from a Zabbix server, installed only when wanted. It runs in active mode as the userzabbix: it connects to the server and sends at its own pace, no open port and no listener processes (StartAgents=0); passive checks can be switched on. Encryption with a pre-shared key (OpenSSL);system.runis denied. Besides the standard items (CPU, memory, network, file systems) it has NAS items: SMART and temperature of every disk in the bays (from the cache of Storage → Health, read every 30 minutes by root without waking sleeping disks), the state of every RAID (degraded, rebuild progress), temperature and fan of the box – with low-level discovery and a template for Zabbix 7.0 (docs/zabbix/shareos_template.yaml, triggers for failing/hot disks, degraded RAID …). Set up withshareos-zabbix set(JSON, seedocs/MONITORING.md/docs/UEBERWACHUNG.md); settings and key are in the settings backup. Buildroot'szabbixpackage needs glibc, so the firmware tree has its ownpackage/shareos-zabbix-agent(agent only, musl). New: a system app may say"flash": trueto stay on the flash up to 8 MB (the agent with OpenSSL is about 5 MB) – it must keep reporting when the apps drive fails. Tests:tests/test-zabbix-items.sh(host, also in CI),tests/test-zabbix.sh(ARM emulator, agent against a fake Zabbix server, also with TLS-PSK). - Logs of the last starts are kept (#83). The logs of the box live in RAM and were gone after a restart – after a box was unreachable and had to be restarted, nothing showed what went wrong. Now a snapshot is saved 5 minutes after every start (also when the start hangs in a service): system and kernel log, addresses, routes, listening ports, processes, mounts, RAID. The newest 3 stay on the flash (gzip, a few KB, one write per start). System → Protokolle → Start-Protokoll …; on the command line
shareos-bootlog list|show. New host testtests/test-bootlog.sh(also in CI). - Switch off and on by schedule (#82). System → Energie & Reset → Zeitplan: a switch-off and a switch-on time per weekday, as in the D-Link firmware. Switching off is a clean shutdown by cron (skipped while a storage job such as a RAID rebuild runs); switching on uses the wake-up alarm of the device controller (Weltrend MCU of the DNS-320L, DNS-320 rev B and DNS-327L, through dns320l-daemon) – the "internal RTC not ticking" message of the Kirkwood RTC is expected, that clock is not used on these boxes. The alarm holds one time, so ShareOS sets the next switch-on at boot, every hour, after saving and before every shutdown. Boxes without the MCU (DNS-325, DNS-320 rev A) can only switch off by schedule. New tool
shareos-power, host testtests/test-power.sh(also in CI).