mirror of
				https://github.com/eworm-de/routeros-scripts.git
				synced 2024-05-11 05:55:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			97 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
Notify about health state
 | 
						||
=========================
 | 
						||
 | 
						||
[](https://github.com/eworm-de/routeros-scripts/stargazers)
 | 
						||
[](https://github.com/eworm-de/routeros-scripts/network)
 | 
						||
[](https://github.com/eworm-de/routeros-scripts/watchers)
 | 
						||
[](https://mikrotik.com/download/changelogs/)
 | 
						||
[](https://t.me/routeros_scripts)
 | 
						||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A4ZXBD6YS2W8J)
 | 
						||
 | 
						||
[⬅️ 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:
 | 
						||
 | 
						||
* high CPU utilization
 | 
						||
* high RAM utilization (low available 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 and RAM utilization (available processing and memory
 | 
						||
resources) 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
 | 
						||
 | 
						||
  
 | 
						||

 | 
						||
 | 
						||
#### RAM utilization (low available RAM)
 | 
						||
 | 
						||
  
 | 
						||

 | 
						||
 | 
						||
#### Voltage
 | 
						||
 | 
						||

 | 
						||
 | 
						||
#### Temperature
 | 
						||
 | 
						||
  
 | 
						||

 | 
						||
 | 
						||
#### PSU state
 | 
						||
 | 
						||
  
 | 
						||

 | 
						||
 | 
						||
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`](../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),
 | 
						||
[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)
 |