Сейчас просматривают тему: 0 -> --, и гостей: 1

Скрипт мониторинга доступности портов в сети с уведомлением на email – Mikrotik (Metarouter-OpenWrt)

Ссылка на пост #1 Добавлено: 11 декабря 2014 00:49
Автор темы
Макс
Администраторы
Азъ: библиАтекарь
Возраст: 38 Водолей
Пол:
С нами: 13 лет 11 месяцев
Сообщений: 7781
Поблагодарил: 6645
Благодарностей: 25051
Предупреждений: 0

Награды:

       

Скрипт предназначен для мониторинга состояния хостов по портам в локальной сети или интернет.
Для использования данного скрипта необходимо воспользоваться возможностью создания виртуальной системе на роутерах Mikrotik
Для начала импортируем образ openwrt-mr-mips-rootfs-31411-basic.tar.gz в качестве операционной системы (как это сделать опишем в другой статье, советуем поискать в интернете, есть описания с картинками)
После чего нам понадобиться редактор nano (по желанию), обязательно пакет msmtp – для отправки почты с Mikrotik и сам скрипт.
Код:[Выделить]
opkg install nano opkg install msmtp


Закидываем все в каталог /www/ping/ и даем права на выполнение всем файлам каталога.
Код:[Выделить]
chmod 755 -R /www/ping/


Сам скрипт /www/ping/monitor:

Код:[Выделить]
DATENOW=$(date +%d-%m-%Y--%T) echo "Subject: Monitoring hosts sms Mikrotik" > /www/ping/mail echo "From: mail@hd.zp.ua.ru" >> /www/ping/mail ### Создаем при каждом запуске скрипта шапку письма echo "To: mail@hdtv.zp.ua" >> /www/ping/mail echo "CC: mail2@hdtv.zp.ua" >> /www/ping/mail echo "" >> /www/ping/mail echo "server time is $DATENOW" >> /www/ping/mail ### Делаем выборку из nmap 5 раз с задержкой 5 секунд результат открытости порта for i in 1 2 3 4 5 do cat /www/ping/servers | while read a; do /usr/bin/nmap `echo $a | sed -e 's/:/ -p /'` | grep -q "/tcp *open " || echo $a done >> /www/ping/serverlist_n echo "Console number is $i" sleep 5; done ### Сортируем записи недоступных портов и копируем уникальную запись для отправки в тело письма /usr/bin/sort -u /www/ping/serverlist_n > /www/ping/serverlist ### Проверяем количество ошибок в запросе, если равен 5 - то сообщаем о проблеме, если меньше - считаем что неполадки в интернете if [[ $(cat /www/ping/serverlist_n | /usr/bin/wc -w) -ge 5 ]] then cat /www/ping/serverlist >> /www/ping/mail echo "" >> /www/ping/mail echo "serv" else echo "All OK" >> /www/ping/mail echo "" >> /www/ping/mail echo "ok" fi ### Проверяем не пропал ли интернет if [[ $(cat /www/ping/servers | /usr/bin/wc -w) -eq $(cat /www/ping/serverlist | /usr/bin/wc -w) ]] then cat /dev/null > /www/ping/serverlist_n echo "lost internet" exit 1 fi ### Если статус доступности порта изменился - сообщаем об этом на e-mail (при абсолютном значении) + заносим запись в лог a=`expr $(cat /www/ping/serverlist_n | /usr/bin/wc -w) % 5` b=`expr $(cat /www/ping/serverlist_old | /usr/bin/wc -w) % 5` if [[ $(cat /www/ping/serverlist_old | /usr/bin/wc -w) -ne $(cat /www/ping/serverlist_n | /usr/bin/wc -w) && $a -eq 0 && $b -eq 0 ]] then cat /www/ping/serverlist_n | /usr/bin/wc -w >> /www/ping/mail cat /www/ping/serverlist_old | /usr/bin/wc -w >> /www/ping/mail /www/ping/sendmail > /dev/null echo "------------" >> /www/ping/log echo $DATENOW >> /www/ping/log cat /www/ping/serverlist >> /www/ping/log cat /www/ping/serverlist_n | /usr/bin/wc -w >> /www/ping/log cat /www/ping/serverlist_old | /usr/bin/wc -w >> /www/ping/log echo "------------" >> /www/ping/log echo "send" fi ### заносим данные в архив для проверки измненения if [[ $a -eq 0 ]] then cat /www/ping/serverlist_n > /www/ping/serverlist_old echo "end" fi cat /dev/null > /www/ping/serverlist_n exit fi


Файл конфига тулзы msmtp, для отправки почты через внешний smtp почтовый сервер:
nano /www/ping/sendmail

Код:[Выделить]
MAIL_SERVER=smtp.mail.ru MAIL_PORT=465 MAIL_DATE=`date +"%d %b %Y %T"` MAIL_FROM=mail@mail.ru MAIL_TO=mail@hd.zp.ua MAIL_PASSWORD=pass cat /www/ping/mail | /usr/bin/msmtp --host=${MAIL_SERVER} --port=${MAIL_PORT} --tls=on --tls-certcheck=off --tls-starttls=off --auth=login --user=${MAIL_FROM} --passwordeval="echo ${MAIL_PASSWORD}" -f ${MAIL_FROM} ${MAIL_TO} -d


nano /www/ping/servers – список хостов для мониторинга
192.168.0.31:80
192.168.0.30:80
hd.zp.ua:80

собственно после проделанного, добавляем наш скрипт в crontab для выполнения, например раз в час.
Чаще не советую, из-за слабого процессора на Mikrotik
Наша группа в Viber, Наша группа в Telegram, Наша группа в ФБ, Наша группа в ВК, Мы на Youtube, maxya Тётя шура тут
«Все постоянно твердят об авторских правах, но никогда - об авторских обязанностях.» © Жан-Люк Годар

Мой телевизор: Samsung LE-32C550J1WXUA, Samsung UE55D6100, Samsung UE65°ES8007

Мой ресивер: Sat-Integral S-1248 HD Heavy Metal, VU+ Ultimo 4K

Мои спутники: 4°W+4.8°E+9°E+13°E+36°E+75°E+85°E+90°E

Cказали Спасибо: 1 : leha87
Информация

Посетители, находящиеся в группе Гости, не могут оставлять сообщения в данной теме.

    Вещание осуществляется в штатном режиме

    23.10.2021 г. с 23:56 вещание каналов от Триколора осуществляется в штатном режиме.

    Возможны перерывы в вещании каналов от Триколора

    По техническим причинам приём некоторых каналов, входящих в состав пакетов Триколора, может быть затруднен.

    Вещание осуществляется в штатном режиме

    23.10.2021 г. с 20:43 вещание каналов от Триколора осуществляется в штатном режиме.

    Вещание осуществляется в штатном режиме

    23.10.2021 г. с 18:22 вещание каналов от Триколора осуществляется в штатном режиме.

    Возможны перерывы в вещании каналов от Триколора

    По техническим причинам приём некоторых каналов, входящих в состав пакетов Триколора, может быть затруднен.

Футбол

Италия. Серия А, 9 тур
24 октября 2021
13:30 Аталанта Аталанта -:- УдинезеУдинезе
Украина. Премьер-лига, 12-й тур
24 октября 2021
14:00 Рух Рух -:- МинайМинай
Франция. Лига 1, 11 тур
24 октября 2021
14:00 Ницца Ницца -:- ЛионЛион
Испания. Ла Лига, 10 тур
24 октября 2021
15:00 Севилья Севилья -:- ЛевантеЛеванте
Англия. Премьер-лига, 9-й тур
24 октября 2021
16:00 Брентфорд Брентфорд -:- ЛестерЛестер
16:00 Вест Хэм Вест Хэм -:- ТоттенхэмТоттенхэм
Италия. Серия А, 9 тур
24 октября 2021
16:00 Фиорентина Фиорентина -:- КальяриКальяри
16:00 Верона Верона -:- ЛациоЛацио
Франция. Лига 1, 11 тур
24 октября 2021
16:00 Ланс Ланс -:- МецМец
16:00 Лорьян Лорьян -:- БордоБордо
16:00 Реймс Реймс -:- ТруаТруа
16:00 Ренн Ренн -:- СтрасбурСтрасбур
Германия. Бундеслига, Тур 9
24 октября 2021
16:30 Кельн Кельн -:- БайерБайер
Украина. Премьер-лига, 12-й тур
24 октября 2021
17:00 Динамо Киев Динамо Киев -:- Днепр-1Днепр-1
Испания. Ла Лига, 10 тур
24 октября 2021
17:15 Барселона Барселона -:- Реал МадридРеал Мадрид
Франция. Лига 1, 11 тур
24 октября 2021
18:00 Монако Монако -:- МонпельеМонпелье
Англия. Премьер-лига, 9-й тур
24 октября 2021
18:30 Манчестер Юнайтед Манчестер Юнайтед -:- ЛиверпульЛиверпуль
Германия. Бундеслига, Тур 9
24 октября 2021
18:30 Штутгарт Штутгарт -:- Унион БерлинУнион Берлин
Италия. Серия А, 9 тур
24 октября 2021
19:00 Рома Рома -:- НаполиНаполи
Украина. Премьер-лига, 12-й тур
24 октября 2021
19:30 Заря Заря -:- КолосКолос
Испания. Ла Лига, 10 тур
24 октября 2021
19:30 Бетис Бетис -:- Райо ВальеканоРайо Вальекано
Германия. Бундеслига, Тур 9
24 октября 2021
20:30 Бохум Бохум -:- Айнтрахт ФранкфуртАйнтрахт Франкфурт
Италия. Серия А, 9 тур
24 октября 2021
21:45 Интер Интер -:- ЮвентусЮвентус
Франция. Лига 1, 11 тур
24 октября 2021
21:45 Марсель Марсель -:- ПСЖПСЖ
Испания. Ла Лига, 10 тур
24 октября 2021
22:00 Атлетико Атлетико -:- Реал СосьедадРеал Сосьедад

Обновлено: 09:37 24.10.2021

Телепрограмма

СТБ
09:00 - "МастерШеф", 11 сезон, 10 эп.
13:45 - "СуперМама", 4 сезон, 13 эп.
14:55 - "СуперМама", 4 сезон, 14 эп.
16:25 - "СуперМама", 4 сезон, 15 эп.
Футбол 1
08:10 - Украина - Фарерские Острова. Женщины. Чемпионат мира 2023. Отборочный турнир.
15:55 - Футбол News.
15:25 - "УПЛ Online".
15:45 - Черноморец - Львов. Чемпионат Украины.
ICTV
08:50 - Секретный фронт.
59:55 - Гражданская оборона.
15:55 - Х/ф "Я, робот", 1 ч.
12:45 - Факты. День.
Кинопремьера HD
09:05 - Х/ф "Охотник на монстров".
15:45 - Х/ф "Дать дуба в округе Юба".
12:25 - Х/ф "Детские игры".
13:55 - Х/ф "Хозяин".
Вся телепрограмма

Мы в Вконтакте

Мы в Facebook

Голосование

Сколько спутников вы принимаете?

1
1-3
3-5
5-7
7-10
10-15

Случайное фото

Sat-integral club

ПО Sat-Integral S-1432 HD COMBO/S-1412 HD ROCKET версии 1.04/1.58

Цитата: sergijuk от Вчера в 19:45:00Багов с EPG много, нужны правки в ПО. Здесь я описывал: ...

Вопросы новичков

Цитата: sergijuk от Вчера в 20:08:53Такая возможность есть на ресиверах S-1412 Rocket, S-1432 ...

Вопросы новичков

Цитата: Василь_52 от 20 Октябрь 2021, 15:51:26цікавить трансляція ТБ з тюнера на планшет Такая ...

ПО Sat-Integral S-1432 HD COMBO/S-1412 HD ROCKET версии 1.04/1.58

Цитата: Yuriy Protas от Вчера в 18:49:36Так это НТВ+,там не работает.А на предыдущем ПО НТВ+ ...

ПО Sat-Integral S-1432 HD COMBO/S-1412 HD ROCKET версии 1.04/1.58

Цитата: sergijuk от Вчера в 16:50:22А вы попробуйте посмотреть как работает EPG на 36°Е. Так это ...

Киевстар списал всё

Не успели ...

Mixed Content при обращении к WebSocket

Ситуация, когда у ...