Найти тему
MHelp.pro

MikroTik Скрипты: Уведомление о включении устройства, в Telegram

При отправке сообщения в Telegram, так же запишет событие в журнал системы.MikroTik скрипт отправляет уведомление о включении устройства, в Телеграм. Позволит узнать о неожиданных перезагрузках устройства или проблемах питания оборудования, дополняя систему мониторинга.

🔔 Для работы скрипта вы должны иметь Токен Телеграм бота и ID чата или персональный ID. Создание Telegram бота и получение необходимых ID не является темой этой статьи.

Сообщение Телеграм содержит:

  1. идентификатор устройства;
  2. информационное сообщение о запуске устройства.

Изменить идентификатор устройства

Измените идентификатор устройства, чтобы лучше понимать, какое устройство присылает запрос.

[System] -> [Identity]

или

/system identity set name="WhiteHouseMikroTik"

Создать скрипт уведомление о запуске устройства

Скрипт создает переменную RebootStatus. Если переменная RebootStatus не имеет значения (что случается при первом запуске скрипта) происходит отправка сообщения в Телеграм. После чего переменной RebootStatus присваивается значение True.

Для работы скрипта необходимо установить следующие разрешения: read, write, policy, test.

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

Код скрипта:

# 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."
}

Добавить запуск скрипта в расписание

Для работы скрипта необходимо установить следующие разрешения: read, write, policy, test.

[System] -> [Schedule] -> [+] -> [Name: CheckPowerOn script] - > [Interval: 00:05:00] -> [Policy: read, write, policy, test]

Код скрипта:

/system script run CheckPowerOn

-2

Теперь каждые 5 минут устройство будет проверять переменную перезагрузки и отправлять уведомление в Телеграм, если устройство было перезагружено.

Задать вопросы можно здесь: https://mhelp.pro/ru/mikrotik-skripty-otpravit-uvedomlenie-o-vklyuchenii-ustroystva-v-telegram/

-3