Скрип измерение скорости интернете и запись журнал + email

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

# ни где не нашел пришлось самому писать без документации на ping-speed
# может кому пригодится
# еще в tool нужна настройка почтового ящика откуда пускать почту
# скрипт запускается каждый час с Scheduler
{
:local avg 0;
:local curr 0;
:local atxt [/tool ping-speed address=8.8.8.8 duration=10 as-value];
:local avg ($atxt->"average");
:local avg ($avg / 1048576);
:local curr ($atxt->"current");
:local curr ($curr / 1048576);

/log info "=Speed internet average=$avg Mbps,current=$curr Mbps";
:if (curr < 10) do={
:local myEmail "xxxxxxxxx@yandex.ru";
:local myMsg "=Speed internet average=$avg Mbps,current=$curr Mbps";
:local mod5 [/system routerboard get model];
:local monthToNum;
:local dateToPick;
:local dateToLog;
:local timeToLog;
:set monthToNum {jan="01";feb="02";mar="03";apr="04";may="05";jun="06";jul="07";aug="08";sep="09";oct="10";nov="11";dec="12";};
:set dateToPick [/system clock get date];
:set dateToLog ( [:pick $dateToPick 4 6] . "." . ( $monthToNum -> [:pick $dateToPick 0 3] ) . "." . [:pick $dateToPick 7 11] );
:set timeToLog [/system clock get time];
#
:local mySubj "=Speed internet < 10 Mbps,$mod5,$dateToLog,$timeToLog";
:do {/tool e-mail send to=$myEmail subject=$mySubj body=$myMsg ;} on-error={:log error ("impossible to send e-mail for Netwatch");}
}
}


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

Чисто технически интересно. А вот практически, там погрешность +- вселенная. Хотя, кому-то вполне вероятно будет нужно. Спасибо за щедрость


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

Вот еще один скрипт , меряет все скорости (инет , всех устройств из table ARP в том числе Роутер - шлюз провайдера)
{
/system script run pingspeed; ### speed inet 8.8.8.8
### speed unit for table ARP
:local aip [/ip arp find address];
:local nlen [:len $aip];
:local i 1 ;
:local j 0 ;
:local Device [/system identity get name];
/log info "=Speed unit from ARP $Device IP Address($nlen) :";

:for i from=1 to=$nlen do={
:set j ($i-1);
:local IDMessage ($aip ->$j);
:local ctxt [/ip arp get number=$IDMessage address];
:local cmac [/ip arp get number=$IDMessage mac-address];
/delay 1s;
:local cpul [/system resource get cpu-load];
:local atxt [/tool ping-speed address=$ctxt duration=10s as-value]; ## 10s
:local avg ($atxt->"average");
:local avg ($avg / 1048576);
:local curr ($atxt->"current");
:local curr ($curr / 1048576);
/log info "=Speed ip=$ctxt ($cmac) average=$avg Mbps,current=$curr Mbps,cpu-load=$cpul%";
}
}
### если устройво спит будет скорость 0 0
### запуск по требованию (инструмент админа)


Ответить