Linux ups nut snmp: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 148: Строка 148:
 
</PRE>
 
</PRE>
 
тут остановлюсь подробнее:
 
тут остановлюсь подробнее:
RUN_AS_USER root
 
MONITOR UPS6000XL@10.72.0.14:3493 1 upsmon pass master
 
   
  +
* <code>RUN_AS_USER root</code> - от какого пользователя запускать
MINSUPPLIES 1
 
  +
* <code>MONITOR UPS6000XL@10.72.0.14:3493 1 upsmon pass master</code>
SHUTDOWNCMD "/sbin/shutdown -h +0"
 
 
** MONITOR UPS6000XL@10.72.0.14:3493 1 upsmon pass master</code>
 
  +
* <code>MINSUPPLIES 1</code> - указываем количество блоков питания которые должны получать мощность сохраняя систему запущенной. Это значит что для серверов с 2 блоками питания которые заведены на 2 разных UPS и оба из которых мониторятся, команда на выключение будет подана только при условии что оба УПСа сообщат о том что у них низкий заряд батарей. За неимением 2 УПСов проверить этот сценарий я пока не могу.
POLLFREQ 1
 
 
* <code>SHUTDOWNCMD "/sbin/shutdown -h +0"</code>
POLLFREQALERT 1
 
  +
* <code>POLLFREQ 1</code>
HOSTSYNC 15
 
 
* <code>POLLFREQALERT 1</code>
DEADTIME 15
 
 
* <code>HOSTSYNC 15</code>
 
 
* <code>DEADTIME 15</code>
POWERDOWNFLAG /etc/killpower
+
* <code>POWERDOWNFLAG /etc/killpower</code>
 
 
* <code>RBWARNTIME 43200</code>
 
 
* <code>NOCOMMWARNTIME 300</code>
RBWARNTIME 43200
 
 
* <code>FINALDELAY 5</code>
NOCOMMWARNTIME 300
 
 
* <code>NOTIFYCMD /usr/sbin/upssched</code>
FINALDELAY 5
 
 
* <code>NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC</code>
 
 
* <code>NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC</code>
 
 
* <code>NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC</code>
NOTIFYCMD /usr/sbin/upssched
 
NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
+
* <code>NOTIFYFLAG FSD SYSLOG+WALL+EXEC</code>
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
+
* <code>NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC</code>
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
+
* <code>NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC</code>
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
+
* <code>NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC</code>
NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC
+
* <code>NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC</code>
NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC
+
* <code>NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC</code>
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
+
* <code>NOTIFYFLAG NOPARENT SYSLOG+WALL+EXEC</code>
NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC
 
NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC
 
NOTIFYFLAG NOPARENT SYSLOG+WALL+EXEC
 

Версия 14:55, 6 мая 2024


NUT + SNMP

Хочется тушить стойку после того как пропало питание, через 2 минуты (или любое другое время, в процессе настройки я его несколько раз уменьшал), при этом безперпебойник доступен по сети (SNMP)
Возможно настроить на каждом сервере отдельный экзкмпляр NUT или опрашивать по сети один

NUT серверная часть

Driver (nut-driver.service) ups.conf

Предельно простая настройка - нужно знать только адрес и community в файле ups.conf

[UPS6000XL]
    driver = snmp-ups
    port = 10.72.0.8
    desc = "Smart-UPS RT 6000 RM XL"
    community = public
    snmp_version = v1
    pollfreq = 15
  • community = public заменить на актуальное значение

Сервер (nut-server.service)nut.conf upsd.conf upsd.users

nut.conf

Тут настраивается режим сервера, в этом случае

MODE=netserver

upsd.conf

Так как предпологается что запрос будут приходить с других серверов, то нужно разрешить слушать на всех интерфейсах

LISTEN 0.0.0.0 3493

upsd.users

[admin]
    password = admin
    actions = SET
    instcmds = ALL

Проверка работы

Локально проверить можно так

upsc UPS6000XL@localhost
Init SSL without certificate database
ambient.1.humidity.alarm.high: 60.00
ambient.1.humidity.alarm.low: 30.00
ambient.1.temperature.alarm.high: 40.00
ambient.1.temperature.alarm.low: 10.00
battery.charge: 49.00
battery.charge.restart: 0
battery.date: 02/07/15
battery.packs: 1.00
battery.runtime: 360.00
battery.runtime.low: 120
battery.voltage: 218.10
device.mfr: APC
device.model: Smart-UPS RT 6000 RM XL
device.serial: Q123
device.type: ups
driver.name: snmp-ups
driver.parameter.pollfreq: 15
driver.parameter.pollinterval: 2
driver.parameter.port: 10.72.0.8
driver.parameter.snmp_version: v1
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.data: apcc MIB 1.2
driver.version.internal: 0.97
input.frequency: 50.00
input.sensitivity: UNKNOWN
input.transfer.high: 253
input.transfer.low: 161
input.transfer.reason: rateOfVoltageChange
input.voltage: 213.10
input.voltage.maximum: 216.00
input.voltage.minimum: 210.20
output.current: 5.20
output.frequency: 50.00
output.voltage: 231.60
output.voltage.nominal: 230
ups.delay.shutdown: 20
ups.delay.start: 0
ups.firmware: 452.19.W
ups.id: UPS_IDEN
ups.load: 23.00
ups.mfr: APC
ups.mfr.date: 07/07/14
ups.model: Smart-UPS RT 6000 RM XL
ups.serial: QS1428270733
ups.status: OL
ups.temperature: 18.40
ups.test.date: 04/13/2024
ups.test.result: Ok

На этом серверная часть +/- настроена, и можно переходить к настройке клиентской

NUTСетевые клиенты

apt install nut-client

/etc/nut/nut.conf

Одна строчка:

MODE=netclient

/etc/nut/upsmon.conf

RUN_AS_USER root
MONITOR UPS6000XL@10.72.0.14:3493 1 upsmon pass master

MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"

POLLFREQ 1
POLLFREQALERT 1
HOSTSYNC 15
DEADTIME 15

POWERDOWNFLAG /etc/killpower


RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5


NOTIFYCMD /usr/sbin/upssched
NOTIFYFLAG ONLINE       SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT       SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT      SYSLOG+WALL+EXEC
NOTIFYFLAG FSD          SYSLOG+WALL+EXEC
NOTIFYFLAG COMMOK       SYSLOG+WALL+EXEC
NOTIFYFLAG COMMBAD      SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN     SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT     SYSLOG+WALL+EXEC
NOTIFYFLAG NOCOMM       SYSLOG+WALL+EXEC
NOTIFYFLAG NOPARENT     SYSLOG+WALL+EXEC

тут остановлюсь подробнее:

  • RUN_AS_USER root - от какого пользователя запускать
  • MONITOR UPS6000XL@10.72.0.14:3493 1 upsmon pass master
    • MONITOR UPS6000XL@10.72.0.14:3493 1 upsmon pass master
  • MINSUPPLIES 1 - указываем количество блоков питания которые должны получать мощность сохраняя систему запущенной. Это значит что для серверов с 2 блоками питания которые заведены на 2 разных UPS и оба из которых мониторятся, команда на выключение будет подана только при условии что оба УПСа сообщат о том что у них низкий заряд батарей. За неимением 2 УПСов проверить этот сценарий я пока не могу.
  • SHUTDOWNCMD "/sbin/shutdown -h +0"
  • POLLFREQ 1
  • POLLFREQALERT 1
  • HOSTSYNC 15
  • DEADTIME 15
  • POWERDOWNFLAG /etc/killpower
  • RBWARNTIME 43200
  • NOCOMMWARNTIME 300
  • FINALDELAY 5
  • NOTIFYCMD /usr/sbin/upssched
  • NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
  • NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
  • NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
  • NOTIFYFLAG FSD SYSLOG+WALL+EXEC
  • NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC
  • NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC
  • NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
  • NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC
  • NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC
  • NOTIFYFLAG NOPARENT SYSLOG+WALL+EXEC