Підключаємо ДБЖ через NUT, Unix Tips - Tricks

Дістався мені вже старенький ДБЖ (джерело безперебійного живлення) моделі APC SMART 420. Підключається до комп'ютера через порт com. Почав дивитися програми для коректного підключення його до комп'ютера. На диску з цим ДБЖ знайшов програму під linux розміром аж 27Mb! Я так зрозумів, вона цілком графічна і вимагає роботи Java. А я на цьому комп'ютері навіть графічного інтерфейсу не має, навіщо роутеру графіка? Погуглив вибір упав на програму nut. Ця програма може працювати з багатьма типами ДБЖ, наприклад, такими як ippon, dell, mge, powercom та багато інших моделей. Повний список дивіться тут. Отже, завдання вести логи стану UPS, і навіть хочеться web графічний інтерфейс для наочного представлення.

Насамперед йдемо на сайт проекту nut і дивимося чи є підтримка вашого ДБЖ. Мені пощастило, моделі APC мають гарну підтримку у цій програмі.

Встановлення nut та правка конфігів

Встановлення стандартне для кожної ОС, але при установці обов'язково замовте зібрати cgi скрипти (опція --with-cgi). За замовчуванням вони не встановлюються. Ці скрипти будемо використовувати з web-сервером, щоб спостерігати красиві картинки

Після встановлення ми побачимо чимало прикладів конфігураційних файлів

Для роботи перейменуємо їх на нормальні конфіги без префікса sample і виставимо права.

Зверніть увагу на права файлів nut.conf, ups.conf, upsd.conf, upsd.users, upsmon.conf, upssched.conf, upsset.conf. Права мають бути 600, а інакше при запуску nut видаватиметься попередження. Найкраще показати на прикладах моїх файлів як заводити новий ДБЖ. Перший файл host.conf - необхідний cgi скриптів. Якщо вам не треба cgi, можете нічого не заносити сюди.

файл nut.conf. Тип запускупрограми.

Файл ups.conf Сюди заносимо ДБЖ, які збираємось моніторити чи контролювати. Зверніть увагу, що для кожної моделі ДБЖ треба правильно підібрати назву драйвера, а іноді навіть правильно вказати тип кабелю. Але у мене в цьому випадку проблем не виникло. Ще задайте порт, на якому підключено ваш ДБЖ. Для linux зазвичай це порти /dev/ttyS0-1, а freebsd /dev/cua0-1, що відповідають портам com1-2

Файл – upsd.users. Як видно з назви файлів задає параметри доступу користувача. Тут такі важливі параметри, як пароль і який рівень команд користувач може виконувати. Почитайте файл, там розібрано різні приклади налаштувань. У цьому прикладі у мене все дозволено.

Файл – upsmon.conf. У цьому файлі зібрані змінні для контролю за ДБЖ. Наприклад доки доводити критичний рівень, команда відключення та інших. У прикладах все написано. Найголовніше перевірте команду вимкнення комп'ютера. У різних ОС вона може відрізнятись.

Інші конфіги upssched.conf, upsset.conf, upsstats.html, upsstats-single.html я не чіпав. CGI скрипти я поклав у папку cfi-bin на своєму apache сервері.

Запуск nut

Запуск здійснюється у кілька етапів.1. Завантаження драйверів для ДБЖ та встановлення з ним зв'язку. Найголовніший етап. Від рута виконуємо

Якщо програма не знайшла ваш ДБЖ, наступні кроки запуску будуть марними. Перевірте, чи порт підключено ДБЖ, спробуйте замінити драйвер або вказати тип кабелю у файлі ups.conf. Можливо, це допоможе.2. Завантаження демона upsd та синхронізація з вашим ДБЖ

3. Запуск моніторингу ДБЖ. Тут програма працює з тими змінними, які ви задали у файлі upsmon.conf.

Це все, тепер ваш ДБЖ налаштований і буде працювати привідключення мережі як ви поставили.

підключаємо

Інформація про ДБЖ

підключаємо

Візуальна інформація у графіках

Ведемо логи ДБЖ

Я роблю це за допомогою програми upslog, яка ставиться разом із програмою nut. Запускаємо

і у файлі ups.log кожні 30 секунд створюється запис з основними характеристиками ДБЖ. З цієї команди я зробив скрипт і назвав йогоlog. Файл поклав поруч із іншими бінарними файлами nut.

Колонки – дата, час, ємність батареї, вхідна напруга, завантаження ДБЖ, статус, температура, частота мережі. За допомогою цього файлу в майбутньому можна аналізувати стан електричної мережі у вашій будівлі і як реагує на це ваш ДБЖ.

Ну і на закуску команди, якими можна керувати безпосередньо вашим ДБЖ. Ось перелік команд із їх описом. Не спробуйте виконувати команди, якщо не знаєте їх призначення, можете просто вимкнути комп'ютер. показати

Тепер залишається зробити лише загальний скрипт скрипт запуску програми та покласти у стартові скрипти комп'ютера. У мене скрипт для linux вийшов такий.