Pull to refresh

Comments 23

оно действительно… только под винду?
NUT есть под все платформы, php и sql тоже. По факту там минимальные изменения в скрипте сбора данных, фактически две строчки. Но тестирована вся система под Windows, просто в силу доступной инфраструктуры.
есть один удалённый сайт, где NUT стоит на роутере со своим, встроенным, аккамулятором и в опенврт и к нему, через USB хаб подключенно нужное количество мониторящихся ИБПшек, так же, в нём есть симка и он пищит в тг-чатик, если что случается
лет пять уже работает схема
если думать\смотерть в сторону винды, то, конечно, можно взять не новый ноут, заменить на нём батарейку и даже выкинуть USB хаб внешний, но…
если вдруг, будет возможность допилить этот весьма и весьма полезный инструмент аналитики под *nix, буду весьма благодарен, если опишите свой опыт тут
спасибо!
Из оригинального get_ups_list_mysql.cmd минимально нужно только
FOR /F "tokens=*" %%I IN ('mysql.exe --silent -s -r -h localhost --user^=root --password^=mypass ups_list ^< ups_query.sql') DO (
IF %%I NEQ main START /WAIT /min get_remote_ups_data.cmd %%I
)


На баше это будет что-то вроде:
for i in `mysql --silent -s -r -h localhost --user=root --password=mypass ups_list<ups_query.sql`
do
get_remote_ups_data.sh $i
done


get_remote_ups_data.sh будет что-то вроде:
UPSNAME=$1
HOSTNAME=
KEYS=id,ts,
RAWDATA=
UPSNOTOL=0
BMFRD=0

timeout 2000 upsc $UPSNAME

for z in `upsc $UPSNAME`
do
IFS=':'
array=( $z )
grep -rnw 'standart_fieldset.txt' -e '${array[0]}'
if [ $? -eq 1 ]
then
KEYS="$KEYS,${array[0]}"
RAWDATA="$RAWDATA,${array[1]}"
fi
done

QRY="INSERT INTO `$UPSNAME` ($KEYS) VALUES ($RAWDATA);"

mysql -e "$QRY%" -h localhost --user=root --password=mypass ups_list


Будет время, проверю на виртуалке.
большое спасибо, весьма признателен, пойду применять в кровавый энтерпрайз -)
Расскажите потом обязательно )
Обновил git, там теперь есть скрипты под linux на bash, рабочие.
Как там энтерпрайз?

На APC по поводу battery runtime — достаточно корректно работает на новом ибп после покупки, отслеживает время работы без батарей от полного заряда до низкого уровня напряжения, при определенном уровне нагрузки, и соответственно пишет прогнозируемое время работы от батарей в регистры (которые в обычном режиме работы могут только уменьшаться).
Проблемы начинаются после самостоятельной замены батарей (хоть кто-то здесь возил ибп в СЦ schneider-electric за этим? не думаю). Так вот после простой замены — значения регистров сами не сбрасываются, а остаются такими, какие были на старых батареях перед смертью. Именно в этот момент показатель прогнозируемого времени работы от батарей и начинает показывать погоду на Марсе. Чтобы восстановить нормальное функционирование необходимо делать сброс регистров и последующую калибровку — регистры перезаписываются на максимальное значение, батареи заряжаются до 100% и не менее 12 часов, затем подключается нагрузка не менее 40% от номинала ибп, и начинается работа на батареях, разряд до низкого уровня напряжения. По завершении алгоритм ибп сможет примерно рассчитать прогнозируемое время работы, запишет регистры, а показания станут более достоверными. Такую процедуру придется проводить при каждой замене.

С удовольствием проводил бы описанные процедуры, но как? Мои APC команды сброса не имеют, через apcupsd тоже вроде нет такой опции.
Не программатор же к ним специализированный покупать.

При подключении по rs232 (на самом деле не совсем, нужен специальный кабель apc) — из терминала есть команды для этого, либо есть софтина apcfix для win, которая отправку этих команд в gui обернула (http://apc-fix.com/apcfix).

Благодарю, попробую по возможности.
Есть еще UpsDiag для APCов, я, вроде, через нее регистры сбрасывал.

Верно, тоже ей пользовался, но неоднократно видел мнение что upsdiag правильно работает только со старыми моделями, а при использовании на новых может напортачить записав не то и не туда.

О да, их 232 — это замечательное извращение. При подключении обычным кабелем APC тупо вырубается полностью (и байпаса не остаётся). Потрясающий опыт, когда видишь моментально потухшие сервера.
Для APC есть простой, не отображенный в мануале, но вполне работающий метод.
После замены дать ИБП позаряжать новую батарею хотябы сутки. Лучше двое.
Подключить к ИБП нагрузку насколько можно близкую к номиналу, но без перегруза. Желательно что-нибудь некритичное (лампочки, или калорифер для мощных моделей). Главное — (!!! это действительно важно !!!) что должно быть не меньше 30% от номинала. Отключить ИБП от сети. Дать ИБП выключиться по разряду батарей. (Тщательно затыкать уши и не реагировать, когда ИБП почти сразу начинает орать, что батарея уже вот прямо сейчас разрядится совсем и «мы все умрем»)
(блин… это в форуме «корпуса, блоки питания, ИБП» на IXBT в 2000-х написано было раз 100… или 200?.. Хотя, может быть, и 400...)
В момент выключения по разряду батареи ИБП сам себе записывает соответствующие состоянию батареи значения в правильные регистры, которые отвечают за вычисление времени автономной работы. Грубо, если вы вставите батарею 7 Ач в ИБП, где «родная» батарея 12 Ач — после описанной выше процедуры ИБП будет знать правильную кривую разряда сразу, а не через десяток переключений на питание от батарей.
По идее, этот метод должен работать и для большинства других производителей, хотя, конечно, нет никакого смысла менять батарею ценой 1800 рублей в пятилетнем ИБП, который сейчас новый стоит 2800 рублей.
Это вполне очевидно, только при количестве компов 100+ придётся отдельный отдел для этого держать.
Я систему-то писал как раз для уменьшения количества телодвижений на основе информации, которая и так есть, но не утилизирована при большинстве подходов.

Кстати, по моим наблюдениям, battery runtime становится куда адекватнее даже после 10-минутного отключения из розетки компа с запущенной 100% нагрузкой на проц.

>затыкать уши
Во всех попавшихся мне бесперебойниках через NUT можно отключить бипер. Практически единственная команда, которая есть и работает у всех.

Простите, не читал первую часть.
Замеряли вы руками напряжение, до которого офисные ИБП(10 летней давности и более свежие) заряжают АКБ? А так-же по какому принципу поддерживается заряд АКБ?

Нет, внутрь ИБП не лазал (ну, кроме замен батарей), только писал оболочку для тех данных, что с них поступают.

>А так-же по какому принципу поддерживается заряд АКБ?
Знал бы я. Вероятно, знает производитель. Подозреваю, что принцип «херак-херак-вот-те-14-вольт-сойдёт»
Во всех попавшихся мне бесперебойниках через NUT можно отключить бипер. Практически единственная команда, которая есть и работает у всех.

Делов том, что при проведении описанной выше процедуры, большую часть времени работы от батарей ИБП думает, что у него состояние Low Battery. И у очень большого количесва моделей сигнализация о Low Battery — не отключается кроме как выпаиванием бипера.

Это вполне очевидно, только при количестве компов 100+ придётся отдельный отдел для этого держать.

Ну как бы при таком количестве компов такой отдел уже в каком-то виде должен быть. ИБП у «клиента» заменяется на подменный, ИБП «клиента» тащится в каморку «ты же программистов», меняется батарея, калибруется, проверяется. Если все хорошо — или тащится обратно, или уходит в «подменный фонд». И да, есть организации, где компов с индивидуальными ИБП большие сотни. И да, там почти всегда есть человек, который целый рабочий день носится по зданию и филиалам, меняет ИБП с дохлой батареей на ИБП с новой батареей.
>человек, который целый рабочий день носится по зданию и филиалам, меняет ИБП с дохлой батареей на ИБП с новой батареей

Такое действительно бывает? Тогда точно систему надо до энтерпрайза пилить.
Вы правда честно ожидали увидеть от ИБП, в цене которого доставка и растаможка составляют 80%, что-то вменяемое в мониторинге? От этих ИБП нужен сигнал о переходе на батарею, сигнал о возврате сети, сигнал о перегрузе. Ну еще в сладких снах можно помечтать о сигнале, что батарея зарядилась. Логика проста — время работы от батарей для _вашей_ нагрузки достаточно хорошо вычисляется как функция от модели батарей, года их выпуска, уровня нагрузки. При переходе на батарею — отсчитываем заданное время (которое ориентировочное время работы от батарей минус время на шатдаун минус минута запаса) и гасим оборудование. Если электричество вернулось — счетчик останавливаем, но не сбрасываем. Как батарея зарядилась — счетчик сбрасываем.

И да. Много лет назад я ставил бесчеловечные опыты над ИБП приличного производителя, который пытается бить себя в грудь и говорить, что их ИБП лучше APC, против аналогичного ИБП APC. Простой факт. ИБП APC с переменной нагрузкой, подключенной к нему впервые, уже через пару минут показал оставшееся время работы от батарей, которое совпало с реальным с точностью примерно ±2 минуты (из примерно 15 минут реального времени работы от батарей). Еще через пару минут он уже показал время, которое совпало с точностью до небольших десятков секунд.
«Конкурент», который «лучше», с примерно теми же номинальными характеристиками и функционалом, с такой нагрузкой показывал направление то на Юпитер, то на Марс. Иногда — время заката в Шеньжене.
И, наверное через все эти годы уже можно сказать. Нагрузкой был банкомат. Он потребляет около 100 Вт пока человек вставляет карточку и тыкает в кнопочки, а потом около 300 Вт пока механика отгружает банкноты из кассеты.
И да, со стороны APC выступал тогда еще весьма новый SURT, а со стороны конкурентов что-то из серии GXT или 91xx.

зарегистрирован хотя бы один провал self-test

Если зарегистрирован хотябы один провал self-test — замена батарей должна была состояться год назад. В 99% случаев для мелких ИБП селфтест случается каждый день… Но по простому сценарию — включили ИБП, дождались окончания селфтеста, включили компьютер. Если ИБП проваливает селфтест без нагрузки — в нем есть сырье для производства грузил, но нет аккумулятора.
В «больших» ИБП, которые не отключаются на ночь, есть свои особенности. Например, APC тому лет 10 назад почти официально рекомендовали отключать функцию селф-теста и не использовать «Runtime Calibration» в ИБП Symmetra, Smart VT и т.п. Это из-за особенности свинцово-кислотных АКБ. Если АКБ заряжена — она энергию отдаст, сколько сможет. Но 100% гарантии, что она после этого зарядится — нет.

убрана бесполезная информация с главного экрана и добавлена полезная

С этим все очень сложно. С одной стороны, нужно выводить только информацию о проблемах. Приятно видеть столбец зеленых кружочков, но бесполезно. Т.е. по умолчанию должны отображаться только аварийные и предаварийные ситуации. При выходе срока службы АКБ через неделю после первого предупреждения должно выводиться модальное окно поверх всего. Что-нибудь на тему «ИБП такой-то там-то требует замены батарей. Введите сумму чисел IP адреса и цифр в названии ИБП для того, чтобы скрыть это сообщение на неделю.» (ага, чтобы на другом компьюетере лезли смотреть IP и считать на калькуляторе...)
(Шучу, конечно. Но иногда… Нет. Нельзя.)
Это, кстати, отдельная история. Красные кружочки должны требовать действия. «Всегда». Если каждый из красных кружочков не требует к себе постоянного внимания и ежедневных отчетов, отличающихся от остальных отчетов про красные кружочки — практика показывает, что в достаточно больших компаниях их с удивлением замечают только когда 100500 пользователей не смогли оплатить покупку или забронировать авиабилет. Ну или вдруг проливной дождь в машзале…
Это я к тому, что в главном окне нужно сообщать об изменениях в статусе. И, время от времени, но не слишком часто, и со случайно меняющимся интервалом, пилить на тему не устраненных «красных кружочков».
Ого! Богато.
Спасибо, разберу и учту.
>Вы правда честно ожидали увидеть от ИБП, в цене которого доставка и растаможка составляют 80%, что-то вменяемое в мониторинге

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

>Если зарегистрирован хотябы один провал self-test — замена батарей должна была состояться год назад

Полностью согласен, но тем не менее где-то такие ситуации всё равно могут случиться в реальности, потому и постарался их предусмотреть в системе.

>С инерфейсом все очень сложно… Красные кружочки должны требовать действия

Думал об этом. Информация о текущем состоянии и кое-какая справочная информация по работе на главном экране всё равно должна быть: во-первых, не факт, что в системе всё предусмотрено, во-вторых, можно заметить необычное поведение заранее, в-третьих, просто приятно смотреть.
Обязательные действия думаю добавить, но после ещё некоторого количества тестов, и отдельным модулем.

За развернутый комментарий и за то, что поделились опытом, – спасибо!
Sign up to leave a comment.

Articles