Кто-то подружил Mikrotik с UPS IPPON или это не риально в принципе?
Маршрутизаторы стоят далеко и хотелось бы видить проблемы с питанием по-раньше, а не после того как сядет UPS.
Mikrotik + UPS IPPON
-
- Сообщения: 2360
- Зарегистрирован: 06 фев 2011, 20:44
честно говоря - не тестировали так как просто не на чем тестировать =)
не использую ippon в своих проектах и предпочитаю российские аналоги = у них если что = то с ремонтом никаких проблем
один разработчик даже бесплатно предоставляет отремонтированный аналог, пока наш починяют их сервисмены
--------
В вашем случае я бы посоветовал взять какую-нибуть железку с ip адресом
хоть роутер, хоть принтсервер, хоть что, лишь бы с ethernet-ом и с айпишником
и воткнуть это без UPS в розетку
-----
Скриптом заставляем микротик пинговать железку, и не пингуется (пропало питание) = слать Email на почту support'a
скрипт примерно такой
Скрипт ставим в sheduler (чтоб запускался 1 раз в 5 минут, или в минуту)
/system script run script1
Кстати, советовал бы использовать сервера mail.ru = у них бесплатное sms-оповещение о письме, что очень удобно
не использую ippon в своих проектах и предпочитаю российские аналоги = у них если что = то с ремонтом никаких проблем
один разработчик даже бесплатно предоставляет отремонтированный аналог, пока наш починяют их сервисмены
--------
В вашем случае я бы посоветовал взять какую-нибуть железку с ip адресом
хоть роутер, хоть принтсервер, хоть что, лишь бы с ethernet-ом и с айпишником
и воткнуть это без UPS в розетку
-----
Скриптом заставляем микротик пинговать железку, и не пингуется (пропало питание) = слать Email на почту support'a
скрипт примерно такой
Код: Выделить всё
:local PINGCOUNT 5;
:local PINGIP "192.168.10.1";
:log info message="START PING TO $PINGIP, CHECKING POWER";
:local PINGRESULT [/ping $PINGIP count=$PINGCOUNT];
:if ($PINGRESULT > 0) do={
:log info message="PING TO $PINGIP OK, POWER OK";
} else={
:log info message="POWER FAIL!!!!!!!!!!";
/tool e-mail send ///тут задаем параметры куда и от кого слать письмо//
}
:log info message="PING TO $PINGIP, POWER CHECK END";
Скрипт ставим в sheduler (чтоб запускался 1 раз в 5 минут, или в минуту)
/system script run script1
Кстати, советовал бы использовать сервера mail.ru = у них бесплатное sms-оповещение о письме, что очень удобно
Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
-
- Сообщения: 17
- Зарегистрирован: 21 авг 2012, 09:10
Какие именно UPS поддерживает микротик? Скажите пожалуйста. И где можно найти перечень?
-
- Сообщения: 2360
- Зарегистрирован: 06 фев 2011, 20:44
отвесу ссылкой, http://forum.nag.ru/forum/index.php?showtopic=55014
кстати она третья в гугле по запросу mikrotik ups
кстати она третья в гугле по запросу mikrotik ups
Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
-
- Сообщения: 9
- Зарегистрирован: 03 дек 2012, 13:14
У меня Mikrotik PC v.5.23, ИБП фирмы APC (в Mikrotike прекрасно определяется) и 3G huawei e1550. Хочу создать скрипт который будет отравлять смс на номер администратора когда ИБП-от АКБ и когда переходит назад на питание от сети. Еще хотелось бы чтобы по мере разряда АКБ он присылал сколько осталось заряда в АКБ (наример 75%, 50%, 25% и 5% - т.е. "скоро все кончится").
Пишу в терминале
/tool sms send usb3 "номер телефона" message="текст сообщения"
через 5 секунд смс уже на моем мобильнике.
Пишу в терминале
/tool sms send usb3 "номер телефона" message="текст сообщения"
через 5 секунд смс уже на моем мобильнике.
-
- Сообщения: 9
- Зарегистрирован: 03 дек 2012, 13:14
Исходя из выше изложенной информации немножко модифицировал скрипт "Ping to Mail"
:local PINGCOUNT 5;
:local PINGIP "192.168.10.1";
:log info message="START PING TO $PINGIP, CHECKING POWER";
:local PINGRESULT [/ping $PINGIP count=$PINGCOUNT];
:if ($PINGRESULT > 0) do={
:log info message="PING TO $PINGIP OK, POWER OK";
} else={
:log info message="POWER FAIL!!!!!!!!!!";
/tool sms send usb3 "+79291234567" message="No ping 192.168.10.1"
}
:log info message="PING TO $PINGIP, POWER CHECK END";
:local PINGCOUNT 5;
:local PINGIP "192.168.10.1";
:log info message="START PING TO $PINGIP, CHECKING POWER";
:local PINGRESULT [/ping $PINGIP count=$PINGCOUNT];
:if ($PINGRESULT > 0) do={
:log info message="PING TO $PINGIP OK, POWER OK";
} else={
:log info message="POWER FAIL!!!!!!!!!!";
/tool sms send usb3 "+79291234567" message="No ping 192.168.10.1"
}
:log info message="PING TO $PINGIP, POWER CHECK END";
-
- Сообщения: 9
- Зарегистрирован: 03 дек 2012, 13:14
УРА!!!! У меня все получилось как и хотел!!!
Допилил найденный вчера скрипт под свои нужды, вроде четко работает.
Как итог:
- при пропадании питания от сети отправляется e-mail сообщение, смс сообщение через 3г модем, и в слог строка добавляется. Сообщение имеет текст содержащий "идентификатор микротика", дату и время отключения.
- при появлении питания от сети приходит аналогичное сообщение.
- при низком заряде батарей тоже шлет сообщение.
Используемое оборудование:
- Mikrotik PC v.5.24,
- ИБП фирмы APC подключенный к MikroTik через Usb2com (Usb со стороны ПК, Com-порт со стороны APC)
- 3G huawei e1550.
В итоге скрипт:
1) Делаем запуск скрипта через определенный промежуток (у меня 30 секунд.)
/system scheduler
add comment="" disabled=no interval=1m name="ups-powermonitor" on-event=ups-powermonitor \
start-date=jan/01/1970 start-time=00:00:00
2) Создаем новый скрипт с именем "ups-powermonitor"
В тексте скрипта вместо числа 1234567 вписываем свои значения.
===================================================================================
# UPS-Script powerfail
# © steinmann und weidinger OEG
# www.stone-rich.at
#
# Watches ups status and sends emails on power failure and low battery.
# This script will FAIL if:
# - Policies write, test, and read are not set
# - The system name contains non-standard characters (space, /, ...)
# - The UPS is not named ups1 (fixed by adding configurable variable)
#
# This script was tested up to ROS 3.23
# user-configurable parameters below:
:local mailserver "94.100.177.1";
:local mailfrom "1234567@mail.ru";
:local mailto "1234567@mail.ru";
:local user "1234567@mail.ru";
:local password "1234567";
:local upsName "ups1";
#
# do NOT make changes below!
#
:global flagonbatt;
:global flagbattlow;
:local battalarm 15;
:local battok 40;
:local curonbatt;
:local curcharge;
:local sysname [/system identity get name];
:local datetime "$[/system clock get date] $[/system clock get time]";
# First run? If so, we need to initialize the global flags
:if ([:typeof $flagonbatt]="nothing") do={:set flagonbatt 0}
:if ([:typeof $flagbattlow]="nothing") do={:set flagbattlow 0}
:set curonbatt false;
:set curcharge 100;
/system ups monitor [/system ups find name=$upsName] once do={
:set curonbatt $"on-battery";
:set curcharge $"battery-charge";
}
:if (($curonbatt) && ($flagonbatt=0)) do={
:set flagonbatt 1;
/tool e-mail send from=$mailfrom to=$mailto server=$mailserver user=$user password=$password subject="$sysname: Power failure!"
body="$sysname is on battery since $datetime";
:log info "Power-Fail: EMail sent to $mailto";
/tool sms send usb3 "+79281234567" message="$sysname: Power failure! Is on battery since $datetime";
}
:if ((!$curonbatt) && ($flagonbatt=1)) do={
:set flagonbatt 0;
/tool e-mail send from=$mailfrom to=$mailto server=$mailserver user=$user password=$password subject="$sysname: Power is back"
body="$sysname is back on power since $datetime";
:log info "Power-Restore: Email sent to $mailto";
/tool sms send usb3 "+79281234567" message="$sysname: Power is back! Is back on power since $datetime";
}
:if (($curcharge <= $battalarm) && ($flagbattlow=0)) do={
:set flagbattlow 1;
/tool e-mail send from=$mailfrom to=$mailto server=$mailserver user=$user password=$password subject="$sysname: Low battery!"
body="$sysname battery is at $curcharge %! $datetime";
:log info "Batt-Low: Email sent to $mailto";
/tool sms send usb3 "+79281234567" message="$sysname: Low battery!! Battery is at $curcharge %! $datetime";
}
:if (($curcharge >= $battok) && ($flagbattlow=1)) do={
:set flagbattlow 0;
/tool e-mail send from=$mailfrom to=$mailto server=$mailserver user=$user password=$password subject="$sysname: Battery
recharged" body="$sysname Battery recharged to $curcharge% $datetime";
:log info "Batt-Recharged: Email sent to $mailto";
/tool sms send usb3 "+79281234567" message="$sysname: Battery recharged! Battery recharged to $curcharge% $datetime";
}
===========================================================================================================================
Допилил найденный вчера скрипт под свои нужды, вроде четко работает.
Как итог:
- при пропадании питания от сети отправляется e-mail сообщение, смс сообщение через 3г модем, и в слог строка добавляется. Сообщение имеет текст содержащий "идентификатор микротика", дату и время отключения.
- при появлении питания от сети приходит аналогичное сообщение.
- при низком заряде батарей тоже шлет сообщение.
Используемое оборудование:
- Mikrotik PC v.5.24,
- ИБП фирмы APC подключенный к MikroTik через Usb2com (Usb со стороны ПК, Com-порт со стороны APC)
- 3G huawei e1550.
В итоге скрипт:
1) Делаем запуск скрипта через определенный промежуток (у меня 30 секунд.)
/system scheduler
add comment="" disabled=no interval=1m name="ups-powermonitor" on-event=ups-powermonitor \
start-date=jan/01/1970 start-time=00:00:00
2) Создаем новый скрипт с именем "ups-powermonitor"
В тексте скрипта вместо числа 1234567 вписываем свои значения.
===================================================================================
# UPS-Script powerfail
# © steinmann und weidinger OEG
# www.stone-rich.at
#
# Watches ups status and sends emails on power failure and low battery.
# This script will FAIL if:
# - Policies write, test, and read are not set
# - The system name contains non-standard characters (space, /, ...)
# - The UPS is not named ups1 (fixed by adding configurable variable)
#
# This script was tested up to ROS 3.23
# user-configurable parameters below:
:local mailserver "94.100.177.1";
:local mailfrom "1234567@mail.ru";
:local mailto "1234567@mail.ru";
:local user "1234567@mail.ru";
:local password "1234567";
:local upsName "ups1";
#
# do NOT make changes below!
#
:global flagonbatt;
:global flagbattlow;
:local battalarm 15;
:local battok 40;
:local curonbatt;
:local curcharge;
:local sysname [/system identity get name];
:local datetime "$[/system clock get date] $[/system clock get time]";
# First run? If so, we need to initialize the global flags
:if ([:typeof $flagonbatt]="nothing") do={:set flagonbatt 0}
:if ([:typeof $flagbattlow]="nothing") do={:set flagbattlow 0}
:set curonbatt false;
:set curcharge 100;
/system ups monitor [/system ups find name=$upsName] once do={
:set curonbatt $"on-battery";
:set curcharge $"battery-charge";
}
:if (($curonbatt) && ($flagonbatt=0)) do={
:set flagonbatt 1;
/tool e-mail send from=$mailfrom to=$mailto server=$mailserver user=$user password=$password subject="$sysname: Power failure!"
body="$sysname is on battery since $datetime";
:log info "Power-Fail: EMail sent to $mailto";
/tool sms send usb3 "+79281234567" message="$sysname: Power failure! Is on battery since $datetime";
}
:if ((!$curonbatt) && ($flagonbatt=1)) do={
:set flagonbatt 0;
/tool e-mail send from=$mailfrom to=$mailto server=$mailserver user=$user password=$password subject="$sysname: Power is back"
body="$sysname is back on power since $datetime";
:log info "Power-Restore: Email sent to $mailto";
/tool sms send usb3 "+79281234567" message="$sysname: Power is back! Is back on power since $datetime";
}
:if (($curcharge <= $battalarm) && ($flagbattlow=0)) do={
:set flagbattlow 1;
/tool e-mail send from=$mailfrom to=$mailto server=$mailserver user=$user password=$password subject="$sysname: Low battery!"
body="$sysname battery is at $curcharge %! $datetime";
:log info "Batt-Low: Email sent to $mailto";
/tool sms send usb3 "+79281234567" message="$sysname: Low battery!! Battery is at $curcharge %! $datetime";
}
:if (($curcharge >= $battok) && ($flagbattlow=1)) do={
:set flagbattlow 0;
/tool e-mail send from=$mailfrom to=$mailto server=$mailserver user=$user password=$password subject="$sysname: Battery
recharged" body="$sysname Battery recharged to $curcharge% $datetime";
:log info "Batt-Recharged: Email sent to $mailto";
/tool sms send usb3 "+79281234567" message="$sysname: Battery recharged! Battery recharged to $curcharge% $datetime";
}
===========================================================================================================================
-
- Сообщения: 9
- Зарегистрирован: 03 дек 2012, 13:14
-
- Сообщения: 9
- Зарегистрирован: 03 дек 2012, 13:14
-
- Сообщения: 9
- Зарегистрирован: 03 дек 2012, 13:14
Теперь можно спокойненько ИБП калибровать http://saprjkin.narod.ru/upsdiag.htm
Хороший сайт, есть много чего по счет UPS APC http://saprjkin.narod.ru/UPS_SMART.htm
Хороший сайт, есть много чего по счет UPS APC http://saprjkin.narod.ru/UPS_SMART.htm