Scripts MikroTik: Notification de surchauffe de l’appareil

Notification lorsque la température de l’appareil dépasse le seuil. Envoie une notification à un e-mail ou un message Telegram

Le script envoie la température de l’appareil MikroTik et la charge du processeur. Si la température de l’appareil a dépassé la valeur de seuil et que la charge du processeur de l’appareil est minimale, il peut y avoir un problème dans l’environnement externe (par exemple, la panne d’un climatiseur dans une salle de serveurs).

Exemple d'e-mail sur la surchauffe de l'appareil MikroTik. Obtenir la température de l'appareil et la charge du processeur
Exemple d’e-mail sur la surchauffe de l’appareil MikroTik

Fonctions utilisées:

Le script MikroTik convient aux appareils équipés d’un capteur de température. Testé sur Mikrotik RB3011UiAS-RM, RouterOS 6.46.4 (stable).

La valeur sûre de la température du processeur sera différente pour chaque modèle d’appareils MikroTik, définissez la valeur de la température de déclenchement du script (MaxCPUTemp) en fonction du modèle de votre appareil (voir les spécifications).

Article dans d’autres langues:
?? – MikroTik Scripts: Device overheating notification
?? – MikroTik Scripts: Notificación de sobrecalentamiento del dispositivo
?? – MikroTik Скрипты: Уведомление о перегреве устройства
?? – MikroTik-Scripts: Benachrichtigung über Überhitzung des Geräts
?? – MikroTik-scripts: Melding over oververhitting van het apparaat

Créer un script

Le paramètre MaxCPUTemp est le seuil de température de l’appareil après lequel une notification sera envoyée.

Le script de vérification de la température de l’appareil nécessite des autorisations: read, write, test, policy.

[System] -> [Scripts] -> [+] -> [Name: DeviceOverheatingScript] -> [Policy: read, write, test, policy]

Code de script:

# 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.";
Script - Notification de surchauffe de l'appareil MikroTik

Ajouter un script au planificateur

Pour exécuter le script afin de vérifier la température du périphérique MikroTik, des autorisations sont requises: lecture, écriture, test, stratégie.

[System] -> [Schedule] -> [+] -> [Name:CheckDeviceOverheating] —>  [Interval: 00:01:00] -> [Policy: read, write, policy, test]

Ou entrez dans un terminal:

/system scheduler add name=CheckDeviceOverheating policy=read,write,policy,test on-event="/system script run DeviceOverheatingScript" interval=1m comment="Checking device overheating"
Ajouter un script pour vérifier la surchauffe de l'appareil à la planification

Vous pouvez désormais augmenter le contrôle de votre appareil en surveillant un paramètre important: la température de l’appareil!


? Comment créer un script pour vérifier la surchauffe d’un appareil MikroTik et envoyer une notification à un e-mail ou un message Telegram a été abordé dans cet article. J’espère que vous pouvez maintenant recevoir une notification sur la surchauffe de l’appareil MikroTik et la charge du processeur à temps. Cependant, si vous rencontrez des problèmes lors de la configuration du script, n’hésitez pas à écrire dans les commentaires. J’essaierai d’aider.

Laisser un commentaire