MYCSS

2017-09-14

pfSence з зовнішнім ДБЖ APC, APCUPSD, SNMP, PowerChute Business Edition


Використовується спільне ДБЖ фірми APC by Schneider Electric, модель Smart-UPS 750, між двома серверами.
APC Smart-UPS 750VA LCD RM 2U (SMT750RMI2U)
Головний сервер це гіпервізор Microsoft  HV-Server 2016, підлеглий це сервер маршрутизатор з системою pfSence.
Для керуванням ДБЖ встановлено програму PowerChute Business Edition (9.2.0.604), для керування підлеглим сервером використовується протокол SNMP.

Віддалено на сервері  Microsoft  HV-Server 2016 через PowerShell  встановлюються компонент SNMP. Через віддалене керування з іншого комп'ютера налаштовується служба  SNMP Service, властивості, безпека (Security),   додаються Comunity public, private, а також адреса з яких відкривається доступ.
Налаштування SNMP Service
Надалі в налаштуваннях PowerChute Business Edition через веб інтерфейс https://hv.local:6547/snmpsettings, налаштовуємо роботу через SNMP.
Перезапускаємо службу SNMP Service.
Надалі встановлюємо компонент Apcupsd, до сервера з pfSence, та налаштовуємо.
pfSence, Apcupsd, General

UPS Cable - ether
UPS Type  - snmp
Device    - hv.local:161:APC:public 
NIS IP    - 127.0.0.1 

Зберігаємо, і тепер у статусі бачимо інформацію про ДБЖ.
pfSence, Apcupsd,Status

У додаток, можна налаштувати  SNMP Trap.
SNMP Trap.

Так як починаючи з apcupsd-3.11.14 введено підтримку SNMP trap catching. І тепер майстер сервер може першим ініціювати передачу даних SNMP до підлеглого. Ось приклад переданих даних при подіях у ДБЖ:
Enterprise Specific Trap (.8) Uptime: 0:00:20.82, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "Communication Established"
Enterprise Specific Trap (.10) Uptime: 0:01:03.88, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "Self Test Passed"
Enterprise Specific Trap (.10) Uptime: 0:03:29.20, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "Self Test Passed"
Enterprise Specific Trap (.10) Uptime: 0:04:10.79, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "Self Test Passed"
Enterprise Specific Trap (.6) Uptime: 2 days, 6:42:24.58, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "AVR Boost Active"
Enterprise Specific Trap (.34) Uptime: 2 days, 6:42:36.76, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "AVR Boost No Longer Active
Enterprise Specific Trap (.5) Uptime: 3 days, 6:42:45.75, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "Power Failed"
Enterprise Specific Trap (.9) Uptime: 3 days, 6:42:46.79, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "Power Restored"
Enterprise Specific Trap (.6) Uptime: 3 days, 6:42:50.90, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "AVR Boost Active"
Enterprise Specific Trap (.34) Uptime: 3 days, 6:43:12.20, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "AVR Boost No Longer Active
Enterprise Specific Trap (.6) Uptime: 3 days, 8:04:59.59, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "AVR Boost Active"
Enterprise Specific Trap (.34) Uptime: 3 days, 8:18:08.84, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "AVR Boost No Longer Active
Enterprise Specific Trap (.6) Uptime: 3 days, 8:33:27.19, SNMPv2-SMI::enterprises.318.2.3.3.0 = STRING: "AVR Boost Active"

До уваги, при цьому pfSence починає прослухувати UDP порт 162 (SNMP trap), на всіх інтерфесах:
netstat -na | grep 162
udp4       0      0 *.162                  *.*
sockstat | grep apcupsd
root     apcupsd    77968 4  tcp4   127.0.0.1:3551        *:*
root     apcupsd    77968 5  dgram  -> /var/run/logpriv
root     apcupsd    77968 7  udp4   *:8929                *:*
root     apcupsd    77968 8  udp4   *:162                 *:*
 
Тому потрібно додати правило що дозволить прийняти UDP порт 162, на Вашому інтерфейсі, наприклад так:
Додавання правила на дозвіл UDP порт 162.
Додатково перевірив роботу з програмою  NUT через драйвер ups-snmp:

Налаштування NUT
Стан і статус

Немає коментарів:

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready