Le script MikroTik envoie une notification de mise sous tension de l’appareil à Telegram. Vous permet de connaître les redémarrages inattendus de périphériques ou les problèmes d’alimentation de l’équipement, en complément du système de surveillance.
Lors de l’envoi d’un message à Telegram, il écrira également l’événement dans le journal système.
? Pour que le script fonctionne, vous devez disposer d’un jeton de robot Telegram et d’un identifiant de chat ou d’un identifiant personnel. La création d’un bot Telegram et l’obtention des identifiants requis n’est pas le sujet de cet article.
Le message Telegram contient:
- identifiant de l’appareil;
- message d’information sur le démarrage de l’appareil.
Article dans d’autres langues:
?? – Mikrotik Scripts: sending power on notification to Telegram
?? – Mikrotik Scripts: envío de notificación de encendido a Telegram
?? – MikroTik Скрипты: отправить уведомление о включении устройства в Telegram
?? – MikroTik-Skripte: Senden Sie eine Benachrichtigung, um das Gerät im Telegramm einzuschalten
?? – MikroTik-scripts: melding over het inschakelen van het apparaat, bericht in Telegram
Changer de périphérique Identité
Modifiez l’ID de l’appareil pour mieux comprendre quel appareil envoie la demande.
[System] -> [Identity]
ou
/system identity set name="WhiteHouseMikroTik"
Créer une notification de script sur la mise sous tension de l’appareil
Le script crée la variable RebootStatus.
Si la variable RebootStatus n’a pas d’importance (ce qui se produit lorsque le script est lancé pour la première fois), un message est envoyé à Telegram.
Ensuite, la variable RebootStatus est définie sur True.
Pour que le script fonctionne, vous devez définir les autorisations suivantes: read, write, policy, check.
[System] -> [Scripts] -> [+] -> [Name: CheckPowerOn] -> [Policy: read, write, policy, test]
Code de script:
# Func: Telegram send message
:local TGSendMessage do={
:local tgUrl "https://api.telegram.org/bot$Token/sendMessage?chat_id=$ChatID&text=$Text&parse_mode=html";
/tool fetch http-method=get url=$tgUrl keep-result=no;
}
# Constants
:global RebootStatus;
:local TelegramBotToken "987654321:AAFJIVTAWodBwzGX2CLne6-PK4RFNSy-8OY";
:local TelegramChatID "987654321";
:local DeviceName [/system identity get name];
:local TelegramMessageText "\F0\9F\9F\A2 <b>$DeviceName:</b> start after Power Off.";
# Program
:if ($RebootStatus != true) do={
$TGSendMessage Token=$TelegramBotToken ChatID=$TelegramChatID Text=$TelegramMessageText;
:set RebootStatus true;
:log info "Script CheckPowerOn send Telegram message."
}
Add script launch to schedule
Pour que le script fonctionne, vous devez définir les autorisations suivantes: read, write, policy, test.
[System] -> [Schedule] -> [+] -> [Name: CheckPowerOn script] - > [Interval: 00:05:00] -> [Policy: read, write, policy, test]
Code de script:
/system script run CheckPowerOn
Désormais, toutes les 5 minutes, l’appareil vérifiera la variable de redémarrage et enverra une notification à Telegram si l’appareil a été redémarré.
? Le script Mikrotik pour l’envoi d’une notification de mise sous tension d’un appareil dans Telegram a été abordé dans cet article. J’espère que cela vous aidera à mieux contrôler votre appareil MikroTik. Cependant, si vous rencontrez des problèmes lors de la configuration, n’hésitez pas à écrire dans les commentaires. J’essaierai d’aider.
Le script est vérifié: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stable).