MikroTik скрипт отправляет уведомление о включении устройства, в Телеграм. Позволит узнать о неожиданных перезагрузках устройства или проблемах питания оборудования, дополняя систему мониторинга.
При отправке сообщения в Telegram, так же запишет событие в журнал системы.
? Для работы скрипта вы должны иметь Токен Телеграм бота и ID чата или персональный ID. Создание Telegram бота и получение необходимых ID не является темой этой статьи.
Сообщение Телеграм содержит:
- идентификатор устройства;
- информационное сообщение о запуске устройства.
Изменить идентификатор устройства
Измените идентификатор устройства, чтобы понять, какое устройство присылает сообщение.
[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
Теперь каждые 5 минут устройство будет проверять переменную перезагрузки и отправлять уведомление в Телеграм, если устройство было перезагружено.
Источник: MHelp.pro