Windows Tips & News

Як контролювати стан USB UPS через SNMP

click fraud protection
РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність системи

Як контролювати стан USB UPS через SNMP

Існує кілька комп’ютерів із USB-підключеним ДБЖ. Усі комп’ютери використовують програму apcupsd. Скажімо, ви хочете зібрати інформацію про стан джерела живлення для кожного блоку в одному місці. Оскільки snmpd там уже працює, логічно було б розширити його функціональність.

Реклама

Наведене нижче рішення, надане Блог адміністратора, збиратиме дані з усіх одиниць snmpd одночасно.

Щоб відстежувати стан USB UPS через SNMP, нам потрібно спочатку змінити конфігурацію демона snmp.

Змістприховати
Препарати
Як контролювати стан USB UPS через SNMP

Препарати

Додає наступне до конфігурації snmpd.conf.

# ДБЖ APC
передати .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Вміст сценарію /etc/snmp/apcupsd.sh виглядає наступним чином.

#!/bin/sh -f # Перевірте, чи apcupsd онлайн. apcaccess > /dev/null 2>&1 || вихід 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Запрошений OID # # Обробляйте запити SET, просто реєструючи призначене значення. # Зауважте, що такі "призначення" не є постійними, # не перевіряються синтаксис чи запитане значення. # якщо [ "$1" = "-s" ]; тоді. echo $* >> /tmp/passtest.log. вихід 0. fi # # Запити GETNEXT - визначити наступний дійсний екземпляр. # якщо [ "$1" = "-n" ]; тоді. випадок "$REQ" у. $PLACE| \ $PLACE.0| \ $PLACE.0.*| \ $PLACE.1| \ $PLACE.1.1.0*) RET=$PLACE.1.1.1.0;; $PLACE.1*| \ $PLACE.2.0| \ $PLACE.2.0.*| \ $PLACE.2.1| \ $PLACE.2.2.0*) RET=$PLACE.2.2.1.0;; $PLACE.2.2.1*) RET=$PLACE.2.2.2.0;; $PLACE.2.2.2*) RET=$PLACE.2.2.3.0;; $PLACE.2.2.3*) RET=$PLACE.2.2.4.0;; $PLACE.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $PLACE.3.2.0*) RET=$PLACE.3.2.1.0;; $PLACE.3.2.1*| \ $PLACE.3.2.2*| \ $PLACE.3.2.3*) RET=$PLACE.3.2.4.0;; $PLACE.3.2.4*) RET=$PLACE.3.2.5.0;; $PLACE.3.2*| \ $PLACE.4.0*| \ $PLACE.4.1*| \ $PLACE.4.2.0*) RET=$PLACE.4.2.1.0;; $PLACE.4.2.1*) RET=$PLACE.4.2.2.0;; $PLACE.4.2.2*) RET=$PLACE.4.2.3.0;; $PLACE.4.2.3*) RET=$PLACE.4.2.4.0;; $PLACE.4.2.*| \ $PLACE.5*| \ $PLACE.6*| \ $PLACE.7.0*| \ $PLACE.7.1*| \ $PLACE.7.2.0*| \ $PLACE.7.2.1*| \ $PLACE.7.2.2*) RET=$PLACE.7.2.3.0;; $PLACE.7.2.3*) RET=$PLACE.7.2.4.0;; $PLACE.7*| \ $PLACE.8.0*) RET=$PLACE.8.1.0;; *) вихід 0;; esac. інше. # # Запити GET - перевірте дійсний екземпляр. # випадок "$REQ" у. $PLACE.1.1.1.0| \ $PLACE.2.2.1.0| \ $PLACE.2.2.2.0| \ $PLACE.2.2.3.0| \ $PLACE.2.2.4.0| \ $PLACE.3.2.1.0| \ $PLACE.3.2.4.0| \ $PLACE.3.2.5.0| \ $PLACE.4.2.1.0| \ $PLACE.4.2.2.0| \ $PLACE.4.2.3.0| \ $PLACE.4.2.4.0| \ $PLACE.7.2.3.0| \ $PLACE.7.2.4.0| \ $PLACE.8.1.0) RET=$REQ;; *) вихід 0;; esac. fi # # "Обробити" запити GET* - повернути жорстко запрограмоване значення. # луна "$RET" справа "$RET" у. $PLACE.1.1.1.0) echo "рядок"; apcaccess -u -p МОДЕЛЬ; вихід 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; вихід 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; вихід 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); вихід 0;; $PLACE.2.2.4.0) echo "рядок"; apcaccess -u -p BATTDATE; вихід 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; вихід 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; вихід 0;; $PLACE.3.2.5.0) echo "рядок"; apcaccess -u -p LASTXFER; вихід 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p OUTPUTV; вихід 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; вихід 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; вихід 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; вихід 0;; $PLACE.7.2.3.0) echo "рядок"; apcaccess -u -p САМОТЕСТ; вихід 0;; $PLACE.7.2.4.0) echo "рядок"; apcaccess -u -p САМОТЕСТ; вихід 0;; $PLACE.8.1.0) echo "Gauge32"; відлуння 1; вихід 0;; *) echo «рядок»; луна "підтвердити... $RET $REQ"; вихід 0;; # Не повинно статися. esac.

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

Тепер ви готові.

Як контролювати стан USB UPS через SNMP

Щоб контролювати стан USB UPS через SNMP, виконайте таку команду: snmpwalk -v 1 -c загальнодоступна 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Вихід буде таким:

SNMPv2-SMI:: enterprises.318.1.1.1.1.1.1.0 = STRING: «Smart-UPS 750»
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.3.0 = Timeticks: (432000) 1:12:00.00
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.5.0 = STRING: "Автоматична або явна самоперевірка"
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.4.0 = Gauge32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.3.0 = STRING: "НІ"
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.4.0 = STRING: "НІ"
SNMPv2-SMI:: enterprises.318.1.1.1.8.1.0 = Gauge32: 1

Якщо ви додатково налаштуєте сценарій моніторингу, ви можете отримати ці чудові графіки:

ЗавантажитиНапругаТемпература акумулятораЧас виконання
РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність системи
Приховати або показати програми в Microsoft Store My Library

Приховати або показати програми в Microsoft Store My Library

У Windows 10 універсальні програми можна встановлювати й оновлювати одним клацанням миші завдяки ...

Читати далі

Вимкніть програми Microsoft Store у Windows 10

Вимкніть програми Microsoft Store у Windows 10

Як ви, можливо, вже знаєте, Windows 10 поставляється з власним додатком Store. Як на Android є Go...

Читати далі

Як вимкнути Reader View у Firefox

Як вимкнути Reader View у Firefox

З Firefox 38.0.5, який на момент написання цього тексту перебуває на стадії бета-версії, Mozilla ...

Читати далі