Скрипт мониторинга интернета и внешних узлов с SMS оповещением

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
anyfix
Сообщения: 1
Зарегистрирован: 06 янв 2022, 01:30

Изображение
Добрый день, дорогие читатели! Сегодня речь пойдет о мониторинге домашнего интернета и любого внешнего узла, например вашего сервера, причем с оповещением по СМС. Для начала осмотрим скрипт:

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

:global inetdown
:global downa
:global downb
:global downc
:local checka [/ping 0.0.0.0 count=5]
:local time [/sys clock get time]

:if (checkdns = 0) do={
:if ($inetdown != true) do={
/log error "INTERNET is DOWN"
:set $inetdown true
}
} else={
:if ($inetdown = true) do={
/log warning "INTERNET is UP"
:set $inetdown false
}
:if (checka = 0) do={
:if ($downa != true) do={
/log error "VDS 0.0.0.0 is DOWN"
/tool fetch url="https://sms.ru/sms/send?api_id=ВашID&to=ВашНомер&msg=$time+Пропал+Сервер&json=1" keep-result=yes
:set $downa true
}
} else={
:if ($downa = true) do={
/log warning "VDS 0.0.0.0 is UP"
/tool fetch url="https://sms.ru/sms/send?api_id=ВашID&to=ВашНомер&msg=$time+Появился+Сервер&json=1" keep-result=yes
:set $downa false
}
}
}
Вам нужно заменить IP 0.0.0.0 на IP вашего сервера. ВашID на ID который Вам дадут на сайте sms.ru. ВашНомер на Ваш мобильный номер телефона. Появился+Сервер это само смс сообщение, меняете по своему усмотрению. Знак + Обязательно сохраняйте как на образце.

Также сделал видеоурок: https://www.youtube.com/watch?v=bEoMtL6 ... =emb_title


Аватара пользователя
podarok66
Модератор
Сообщения: 4358
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Вы вот в этой строке уверены?

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

:if (checkdns = 0) do={ 
checkdns никогда нулю равен не будет. Это же просто 8 символов. Может всё же их в переменную как-то превратите?
Дальше не смотрел, как-то просто глаз зацепился...


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Nobody
Сообщения: 2
Зарегистрирован: 17 мар 2022, 12:26

А не проще для данных целей использовать Netwatch ?


Аватара пользователя
podarok66
Модератор
Сообщения: 4358
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Не проще. Механизм Netwatch предусматривает срабатывание по первому щелчку, если можно так описать. А мониторинг скриптом у нас как правило в самом простом случае проверяет пингом ресурс n-ое количество раз и при значении положительных откликов менее заданного числа или соотношения выдает результат. При части задач необходимо проверять несколько адресов/ресурсов и опять же отрабатывать результатах, ниже заданных. То есть попросту говоря, Netwatch отработает при пропуске одиночного пинга, скрипт такое посчитает единичным сбоем и не отработает.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить