Skip to content

v0.2.0-beta.15

Pre-release
Pre-release

Choose a tag to compare

@UniqueDroid UniqueDroid released this 27 Oct 17:23
· 49 commits to main since this release
1de540f

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

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_agentd 7.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 user zabbix: 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.run is 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 with shareos-zabbix set (JSON, see docs/MONITORING.md / docs/UEBERWACHUNG.md); settings and key are in the settings backup. Buildroot's zabbix package needs glibc, so the firmware tree has its own package/shareos-zabbix-agent (agent only, musl). New: a system app may say "flash": true to 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 test tests/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 test tests/test-power.sh (also in CI).