routeros-scripts/doc/check-health.md
Christian Hesse 5932586ee4 introduce mod/notification-ntfy...
... for sending notifications via Ntfy (https://ntfy.sh/).

TODO: use proper formatting once supported in Android app:
https://github.com/binwiederhier/ntfy/issues/889
2023-10-17 14:05:03 +02:00

3 KiB
Raw Blame History

Notify about health state

⬅️ Go back to main README

Info: This script can not be used on its own but requires the base installation. See main README for details.

Description

This script is run from scheduler periodically, sending notification on health related events:

  • high CPU utilization
  • low available free RAM
  • voltage jumps up or down more than configured threshold
  • voltage drops below hard lower limit
  • power supply failed or recovered
  • temperature is above or below threshold

Note that bad initial state will not trigger an event.

Monitoring CPU utilization and available free RAM works on all devices. Other than that only sensors available in hardware can be checked. See what your hardware supports:

/system/health/print;

Sample notifications

CPU utilization

check-health notification cpu utilization high
check-health notification cpu utilization ok

Available free RAM

check-health notification free ram low
check-health notification free ram ok

Voltage

check-health notification voltage

Temperature

check-health notification temperature high
check-health notification temperature ok

PSU state

check-health notification psu fail
check-health notification psu ok

Requirements and installation

Just install the script and create a scheduler:

$ScriptInstallUpdate check-health;
/system/scheduler/add interval=53s name=check-health on-event="/system/script/run check-health;" start-time=startup;

Info: Running lots of scripts simultaneously can tamper the precision of cpu utilization, escpecially on devices with limited resources. Thus an unusual interval is used here.

Configuration

The configuration goes to global-config-overlay, these are the parameters:

  • CheckHealthTemperature: an array specifying temperature thresholds for sensors
  • CheckHealthVoltageLow: value (in volt*10) giving a hard lower limit
  • CheckHealthVoltagePercent: percentage value to trigger voltage jumps

Info: Copy relevant configuration from global-config (the one without -overlay) to your local global-config-overlay and modify it to your specific needs.

Also notification settings are required for e-mail, matrix, ntfy and/or telegram.


⬅️ Go back to main README
⬆️ Go back to top