Благодаря небольшим доработкам в парсинге кода скрипт TLGRM может теперь не только выполнять функции с параметрами и прямые команды ROS, но также исполнять скрипты, передавая им параметры напрямую.
Вторая доработка коснулась адресации команд. Доработанная версия TLGRM теперь поддерживает как адресную (конкретному роутеру или всем, но с ключом /forall), так и широковещательную рассылку команд без указания адресата (сразу всем, «слушающим» чат).
Третьим новшеством, является создание нами специально для работы с TLGRM, библиотеки скриптовых функций, названной «SATELLITE» («Спутник»), о которой пойдет речь далее.
Библиотека SATELLITE версии lite 1.45 от 25/03/2022 содержит около 30 специальных функций управления или получения информации от роутеров Микротик. Также в работе ряда функций SATELLITE используются некоторые служебные и специальные функции, отображаемые в списке функций библиотеки отдельно. Библиотека «СПУТНИК» создана специально для работы совместно со скриптом уведомителем и парсером мессенджера – скриптом TLGRM, который умеет вызывать функции SATELLITE и при необходимости дополнительно отображать результаты их работы.
Библиотека скриптовых функций SATELLITE совместно со скриптом TLGRM работают только в ROS6 (работа в ROS7 пока не поддерживается) и теперь поставляются в одном скриптовом файле T&S250322.rsc. Для использования библиотеки необходимо переписать этот файл в раздел /files Роутер ОС, что удобно сделать через программу WinBox. Далее необходимо в терминале ROS выполнить команду /import file=T&S250322.rsc для «распаковки» и помещения скриптов библиотеки в репозиторий роутера. В скрипте SATELLITEstart следует настроить необходимые для работы переменные и флаги, после чего запустить стартовый скрипт. Все необходимые дальнейшие действия будут произведены автоматически.
Список команд библиотеки с коротким описанием их предназначений представлен ниже:
FuncSATLogo выдать copyright скрипта СПУТНИК
FuncSATList список команд библиотеки
FuncArp список /ip arp
FuncAddress список /ip addresses
FuncBackup сохранение настроек и скриптов
FuncLease список DHCP liase
FuncReport отчет роутера о готовности
FuncStatus выдать параметры системы
FuncVPN настроенные VPN-пользователи с паролями
FuncVpnUser серверы и клиенты VPN роутера
FuncWifi wifi-интерфейсы роутера
FuncWifiReg зарегистрированные в сети wifi-пользователи
FuncWifiAccess разрешенные wifi-пользователи
FuncWifiPass пароли wifi-сети/ей
FuncScriptList список скриптов репозитория роутера
FuncFuncList список активных функций из окружения
FuncSchedList список заданий Планировщика
FuncGlobalVarList список глобальных переменных окружения
FuncDHCPclient роутер-клиент DHCP
FuncWifiConnect список подключенных wifi-клиентских станций
FuncUsers пользователи роутера
FuncLog выдать строки лога роутера
FuncLogReset очистить лог и установить его длину
FuncPing проверка хоста на пинг
FuncMail отправка сообщения на почту
FuncSMSsend отправка SMS-сообщения
FuncModemInfo информация о модемах роутера
FuncSATMirror *конвертер имён функций
FuncSATClear выгрузить библиотеку SAТELLITE
FuncTelegramSender функция отправки сообщения в Телеграмм
FuncSchedFuncAdd установка задания на запуск произвольной функции в Планировщик
FuncSchedScriptAdd установка задания на запуск скрипта в Планировщик
FuncSchedRemove удаление задания из Планировщика
FuncEpochTime вычисление времени UNIXtime
FuncUnixTimeToFormat преобразование UNIXtime в пользовательский формат времени
В основном вышеуказанные функции созданы для возможности вывода в чат Телеграмм важной информации, касающейся состояния и функционирования роутера. Некоторые команды могут устанавливать также определенные параметры системы.
Подробно работа каждой команды описана в руководстве. Скачать файл T&S250322.rsc, содержащий парсер/уведомитель TLGRM, библиотеку SATELLITE lite и руководство по их установке и использованию можно по ссылкам соответственно cloud.mail.ru/public/tK3Z/EENSC7YGH и cloud.mail.ru/public/xfyv/9jjKstV52.
Планируется пополнение библиотеки Спутник новыми функциями с расширением возможностей (создание версии PRO). Но уже сейчас можно считать созданный тандем из TLGRM и SATELLITE одним из лучших решений по работе Микротик с Телеграмм. Наш проект существенно дополняет мобильное приложение WinBox компании Микротик, так как в ряде случаев оказывается более удобным и нагляднее представляет запрашиваемую информацию на смартфон или планшет, а также без участия пользователя, в автоматическом режиме сообщает в чат Телеграмм важные данные из лога.
Бесплатно распространяем настоящую версию lite от 25.03.2022 г. библиотеки SATELLITE и желаем приятной работы. Если у Вас есть готовые скрипты или функции, которые Вы хотели бы включить в SATELLITE, тем самым способствуя развитию возможностей скриптовой библиотеки, — обращайтесь к авторам, мы обязательно рассмотрим такую возможность.
Контакты: Sertik, Drpioneer, e-mail проекта: satellite_tlgrm@mail.ru
Комментарии (5)
zolti
08.04.2022 19:18Что будет с моим телеграм каналом, когда я начну работать с вашей библиотекой на 10000 устройствах mikrotik? Подозреваю, что его завалит флудом.
Самое полезное, что может сделать ваша библиотека это начать отдавать метрики, которые потом можно собирать, посмотрите для примера подход.
Sertik13 Автор
08.04.2022 20:03Не думаю, что Вы реально работаете с 10.000 роутеров Микротик. Вы тогда супер админ с баснословным доходом ?!!! Я при работе с 20 Микротиками уже "разделяю" их в разные чаты.
Sertik13 Автор
08.04.2022 20:08+1Prometheus посмотрел, не вижу необходимости громоздить ещё Rasberri между Микротиком и программой SNMP мониторинга. Мы работает с Телеграмм и Микротик и не обсуждаем другие подходы.
executor13
11.04.2022 09:02Пользую тг только на удаленных лте-микротах чтоб флаговали когда один из каналов ложится. Правда приходится делать двойную проверку: сами модемоносители палят есть ли у них инет и едели нет, то ребутают лте, а вот дальше уже корневой проверяет по маршрутам, прописанным с разными лте в качестве гейтвеев есть ли инет и уже сообщает в телегу если что не так. Без скриптов на перезапуск лте все работает, но телегу валятся по 5 сообщений в день от каждого.
olegtsss
Реализовать собственную библиотеку — классная идея. Думаете выполнить ее интеграцию с Zabbix?