"Мониторинг" в Telegram запуском скрипта через Netwatch

Обсуждение ПО и его настройки
Ответить
bxxround
Сообщения: 1
Зарегистрирован: 11 апр 2024, 13:49

Всем привет.

Реализовал небольшой "мониторинг" активных соединений на VPN сервере с отправкой с помощью API в телеграм.
Принцип таков, что в Netwatch в случае On Down выполняет скрипт с следующим содержанием:

Код: Выделить всё

:local ipadd [:len [/ppp/active/ find name=TEST]];\
:local TimeNow [/system clock get time];\
:if ($TimeNow <= 22:30:00 or $TimeNow >= 08:00:00) do=\ # Проверяем, что бы скрипт работал только в дневное время.
{\
:if ($ipadd = 0)\ # Проверяется было ли переподключение соединения, если нет - отправляет ALARM
	do={tool fetch output=none url=("https://api.telegram.org/botTEST/sendMessage?chat_id=-TEST&message_thread_id=TEST&text=ALARM = TEST")};\
:delay 1; \ 
	{\
	:do	{\
	:local ipadd [:len [/ppp/active/ find name=TEST]];\ # Запускаем цикл, где после появления соединения отправляется сообщение, что всё ОК.
	:if ($ipadd !=0) do=\
	{tool fetch output=none url=("https://api.telegram.org/botTEST/sendMessage?chat_id=-TEST&message_thread_id=TEST&text=OK = TEST")}\
		}\
	 while=([:len [/ppp/active/ find name=TEST] =0)
	}\
};
Всё хорошо, всё работает, но есть пару НО.
1. Иногда сообщение ОК из цикла не прилетает в чат. Пока не понял почему.
2. Как сильно будет грузиться система, если единовременно будут отрабатывать 20-30 циклов?

p.s. (On Up отрабатывает некорректно в рамках задачи, поэтому нещадно вырезал этот вариант для использования после тестов)


-13-
Сообщения: 125
Зарегистрирован: 18 мар 2021, 12:45

а может проще все это реализовать в профиле/ях PPP? там есть закладка скрипт.


Ответить