aboutsummaryrefslogtreecommitdiffstats
path: root/doc/check-health.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/check-health.md')
-rw-r--r--doc/check-health.md98
1 files changed, 79 insertions, 19 deletions
diff --git a/doc/check-health.md b/doc/check-health.md
index 8e271d6..33847e3 100644
--- a/doc/check-health.md
+++ b/doc/check-health.md
@@ -1,43 +1,66 @@
Notify about health state
=========================
-[◀ Go back to main README](../README.md)
+[![GitHub stars](https://img.shields.io/github/stars/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=red)](https://github.com/eworm-de/routeros-scripts/stargazers)
+[![GitHub forks](https://img.shields.io/github/forks/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=green)](https://github.com/eworm-de/routeros-scripts/network)
+[![GitHub watchers](https://img.shields.io/github/watchers/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=blue)](https://github.com/eworm-de/routeros-scripts/watchers)
+[![required RouterOS version](https://img.shields.io/badge/RouterOS-7.15-yellow?style=flat)](https://mikrotik.com/download/changelogs/)
+[![Telegram group @routeros_scripts](https://img.shields.io/badge/Telegram-%40routeros__scripts-%2326A5E4?logo=telegram&style=flat)](https://t.me/routeros_scripts)
+[![donate with PayPal](https://img.shields.io/badge/Like_it%3F-Donate!-orange?logo=githubsponsors&logoColor=orange&style=flat)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A4ZXBD6YS2W8J)
-🛈 This script can not be used on its own but requires the base installation.
-See [main README](../README.md) for details.
+[⬅️ Go back to main README](../README.md)
+
+> ℹ️ **Info**: This script can not be used on its own but requires the base
+> installation. See [main README](../README.md) for details.
Description
-----------
This script is run from scheduler periodically, sending notification on
-health related events:
+health related events. Monitoring CPU and RAM utilization (available
+processing and memory resources) works on all devices:
+
+* high CPU utilization
+* high RAM utilization (low available RAM)
+
+With additional plugins functionality can be extended, depending on
+sensors available in hardware:
-* voltage jumps up or down more than configured threshold or drops below limit
+* voltage jumps up or down more than configured threshold
+* voltage drops below hard lower limit
+* fan failed or recovered
* power supply failed or recovered
* temperature is above or below threshold
-Note that bad initial state will not trigger an event.
+> ⚠️ **Warning**: Note that bad initial state will not trigger an event! For
+> example rebooting a device that is already too hot will not trigger an
+> alert on high temperature.
-Only sensors available in hardware can be checked. See what your
-hardware supports:
+### Sample notifications
- / system health print;
+#### CPU utilization
-### Sample notifications
+![check-health notification cpu utilization high](check-health.d/notification-01-cpu-utilization-high.avif)
+![check-health notification cpu utilization ok](check-health.d/notification-02-cpu-utilization-ok.avif)
+
+#### RAM utilization (low available RAM)
+
+![check-health notification ram utilization high](check-health.d/notification-03-ram-utilization-high.avif)
+![check-health notification ram utilization ok](check-health.d/notification-04-ram-utilization-ok.avif)
#### Voltage
-![check-health notification voltage](check-health.d/notification-01-voltage.svg)
+![check-health notification voltage](check-health.d/notification-05-voltage.avif)
#### Temperature
-![check-health notification](check-health.d/notification-02-temperature-high.svg)
-![check-health notification](check-health.d/notification-03-temperature-ok.svg)
+![check-health notification temperature high](check-health.d/notification-06-temperature-high.avif)
+![check-health notification temperature ok](check-health.d/notification-07-temperature-ok.avif)
#### PSU state
-![check-health notification](check-health.d/notification-04-psu-fail.svg)
-![check-health notification](check-health.d/notification-05-psu-ok.svg)
+![check-health notification state fail](check-health.d/notification-08-state-fail.avif)
+![check-health notification state ok](check-health.d/notification-09-state-ok.avif)
Requirements and installation
-----------------------------
@@ -45,7 +68,35 @@ Requirements and installation
Just install the script and create a scheduler:
$ScriptInstallUpdate check-health;
- / system scheduler add interval=1m name=check-health on-event="/ system script run check-health;" start-time=startup;
+ /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.
+
+### Plugins
+
+Additional plugins are available for sensors available in hardware. First
+check what your hardware supports:
+
+ /system/health/print;
+
+Then install the plugin for *fan* and *power supply unit* *state*:
+
+ $ScriptInstallUpdate check-health,check-health.d/state;
+
+... or *temperature*:
+
+ $ScriptInstallUpdate check-health,check-health.d/temperature;
+
+... or *voltage*:
+
+ $ScriptInstallUpdate check-health,check-health.d/voltage;
+
+You can also combine the commands and install all or a subset of plugins
+in one go:
+
+ $ScriptInstallUpdate check-health,check-health.d/state,check-health.d/temperature,check-health.d/voltage;
Configuration
-------------
@@ -56,8 +107,17 @@ The configuration goes to `global-config-overlay`, these are the parameters:
* `CheckHealthVoltageLow`: value (in volt*10) giving a hard lower limit
* `CheckHealthVoltagePercent`: percentage value to trigger voltage jumps
-Also notification settings are required for e-mail, matrix and/or telegram.
+> ℹ️ **Info**: Copy relevant configuration from
+> [`global-config`](../global-config.rsc) (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](mod/notification-email.md),
+[gotify](mod/notification-gotify.md),
+[matrix](mod/notification-matrix.md),
+[ntfy](mod/notification-ntfy.md) and/or
+[telegram](mod/notification-telegram.md).
---
-[◀ Go back to main README](../README.md)
-[▲ Go back to top](#top)
+[⬅️ Go back to main README](../README.md)
+[⬆️ Go back to top](#top)