Страница 1 из 1

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

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

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

: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

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

Добавлено: 06 янв 2022, 20:16
podarok66
Вы вот в этой строке уверены?

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

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

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

Добавлено: 17 мар 2022, 12:34
Nobody
А не проще для данных целей использовать Netwatch ?

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

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