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

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

? Для работы скрипта вы должны иметь Токен Телеграм бота и 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."
}
MikroTik Скрипты: Telegram уведомление о включении устройства

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

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

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

Код скрипта:

/system script run CheckPowerOn
 Добавление скрипта проверки запуска устройства и отправки сообщения Телеграм, в планировщик заданий MikroTik

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

Источник: MHelp.pro