Benachrichtigung, wenn die Gerätetemperatur über den Schwellenwert steigt. Sendet eine Benachrichtigung an eine E-Mail- oder Telegrammnachricht.
Das Skript sendet die Temperatur des MikroTik-Geräts und die CPU-Last. Wenn die Temperatur des Geräts den Schwellenwert überschritten hat und die Prozessorlast des Geräts minimal ist, liegt möglicherweise ein Problem in der externen Umgebung vor (z. B. ein Ausfall der Klimaanlage im Serverraum).
Verwendete Funktionen:
Das MikroTik script eignet sich für Geräte, die mit einem Temperatursensor ausgestattet sind. Getestet auf Mikrotik RB3011UiAS-RM, RouterOS 6.46.4 (stabil).
Der sichere Wert der CPU-Temperatur ist für jedes Modell von MikroTik-Geräten unterschiedlich. Legen Sie den Wert der Skriptauslösertemperatur (MaxCPUTemp) abhängig vom Modell Ihres Geräts fest (siehe Spezifikation).
Artikel in anderen Sprachen:
?? – MikroTik Scripts: Device overheating notification
?? – MikroTik Scripts: Notificación de sobrecalentamiento del dispositivo
?? – MikroTik Скрипты: Уведомление о перегреве устройства
?? – Scripts MikroTik: Notification de surchauffe de l’appareil
?? – MikroTik-scripts: Melding over oververhitting van het apparaat
Skript erstellen
Der Parameter MaxCPUTemp ist der Gerätetemperatur Schwellenwert, nach dem eine Benachrichtigung gesendet wird.
Damit Skripte die Temperatur des Geräts überprüfen können, sind Rechte erforderlich: read, write, test, policy.
[System] -> [Scripts] -> [+] -> [Name: DeviceOverheatingScript] -> [Policy: read, write, test, policy]
Script code:
# Name: DeviceOverheatingNotification v1
# Description: Notification when the device temperature rises above the threshold. Sends notification to email or Telegram message.
# Author: Yun Sergey, MHelp.pro 2020
# License: GPL-3.0 License
# Description, purpose and questions: https://mhelp.pro/mikrotik-scripts-device-overheating-notification/
# More scripts Mikrotik: https://mhelp.pro/tag/mikrotik-scripts/
# Verified: RouterBOARD 3011UiAS, RouterOS 6.47.8 (stable)
:local MaxCPUTemp 65;
:local CurrentTemp [/system health get temperature];
:local CurrentCPULoad [/system resource get cpu-load];
:local DeviceName [/system identity get name ];
:local Time [/system clock get time];
:local Date [/system clock get date];
#:log info "Script DeviceOverheatingNotification - start.";
:if ($CurrentTemp > $MaxCPUTemp) do={
#:log info "Script DeviceOverheatingNotification - Temperature threshold exceeded! Send Telegram message.";
# START Send Telegram Message
:local MessageText "\F0\9F\94\B4 <b>CRITICAL: $DeviceName Device Overheating!</b> %0D%0A Device Temperature: $CurrentTemp %C2%B0 C %0D%0A CPU Load: $CurrentCPULoad %";
:local SendTelegramMessage [:parse [/system script get MyTGBotSendMessage source]];
$SendTelegramMessage MessageText=$MessageText;
# END Send Telegram Message
#:log info "Script DeviceOverheatingNotification - Temperature threshold exceeded! Send Email.";
# START Send Email
:local SendTo "notify@mhelp.pro";
:local Subject "\F0\9F\94\B4 CRITICAL: $DeviceName [$Date $Time]";
:local MessageText "Device Temperature: $CurrentTemp °C, CPU Load: $CurrentCPULoad %";
:local FileName "";
:local SendEmail [:parse [/system script get SendEmailFunction source]];
$SendEmail SendTo=$SendTo TextMail=$MessageText Subject=$Subject FileName=$FileName;
# END Send Email
}
#:log info "Script DeviceOverheatingNotification - end.";
Fügen Sie dem Scheduler ein Skript hinzu
Um das Skript zum Überprüfen der Temperatur des MikroTik-Geräts auszuführen, sind Berechtigungen erforderlich: read, write, test, policy.
[System] -> [Schedule] -> [+] -> [Name:CheckDeviceOverheating] —> [Interval: 00:01:00] -> [Policy: read, write, policy, test]
Oder geben Sie ein Terminal ein:
/system scheduler add name=CheckDeviceOverheating policy=read,write,policy,test on-event="/system script run DeviceOverheatingScript" interval=1m comment="Checking device overheating"
Jetzt können Sie die Kontrolle über Ihr Gerät erhöhen, indem Sie einen wichtigen Parameter überwachen – die Gerätetemperatur!
? In diesem Artikel wird erläutert, wie Sie ein Skript erstellen, um die Überhitzung eines MikroTik-Geräts zu überprüfen und eine Benachrichtigung an eine E-Mail- oder Telegrammnachricht zu senden. Ich hoffe, Sie können jetzt rechtzeitig über MikroTik-Geräteüberhitzung und CPU-Auslastung informiert werden. Wenn Sie jedoch beim Konfigurieren des Skripts auf Probleme stoßen, können Sie diese in die Kommentare eintragen. Ich werde versuchen zu helfen.