Не удалось запустить сервис upsmon для мониторинга (и ответа) удаленного ИБП

У меня возникают трудности с установкой моей гайки для простого мониторинга одного удаленного ИБП, подключенного к Buffalo LinkStation Duo. Я могу вручную правильно прочитать его статус, используя upsc ups@buffalo.local и это пользователь / без пароля.

В долгосрочной перспективе я хочу, чтобы моя система контролировала этот удаленный ИБП - если он переходит в режим работы от батареи, я хочу, чтобы моя система отключилась (поведение самого ИБП будет управляться LinkStation Duo).

Соответствующие конфигурационные файлы

#/etc/nut/upsmon.conf

MONITOR ups@buffalo.local
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYMSG ONLINE    "UPS %s on line power"
NOTIFYMSG ONBATT    "UPS %s on battery"
NOTIFYMSG FSD       "UPS %s: forced shutdown in progress"
NOTIFYMSG SHUTDOWN  "Auto logout and shutdown proceeding"
NOTIFYFLAG ONLINE   SYSLOG+WALL
NOTIFYFLAG ONBATT   SYSLOG+WALL
NOTIFYFLAG FSD  SYSLOG+WALL
NOTIFYFLAG SHUTDOWN SYSLOG+WALL
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5

-

#/etc/nut/nut.conf

MODE=netclient

Другие конфигурационные файлы не тронуты - то есть они не реализуют никаких локальных ИБП (так как их нет) - но я думаю, что это может быть частью моей проблемы, как в /var/log/syslog у нас это после загрузки:

upsdrvctl[559]: Network UPS Tools - UPS driver controller 2.7.2
upsmon[588]: fopen /var/run/nut/upsmon.pid: No such file or directory
upsmon[588]: /etc/nut/upsmon.conf line 86: invalid directive MONITOR ups@buffalo.local
upsmon[588]: Using power down flag file /etc/killpower
upsmon[588]: Network UPS Tools upsmon 2.7.2
upsmon[588]: Fatal error: insufficient power configured!
upsmon[588]: Sum of power values........: 0
upsmon[588]: Minimum value (MINSUPPLIES): 1
upsmon[588]: Edit your upsmon.conf and change the values.

Таким образом, upsmon не считает, что я правильно настроил удаленный ИБП, но я не знаю, как настроить его для пользователя / без пароля. Любая помощь будет принята с благодарностью - я потратил немало времени с Google на это и застрял.

1 ответ

Вам нужно отредактировать /etc/nut/upsd.users (на buffalo.local в вашем случае) и определите пользователя upsmon, например, так:

[yourupsmonuser]
password = somerandompassword
upsmon master

Затем в /etc/nut/upsmon.conf (на "контрольной" машине) установите MONITOR линия к

MONITOR yourups@yourhost 1 yourupsmonuser somerandompassword master

С systemctl enable nut-monitor так и должно быть. Просто следите за тем, чтобы SystemD запускал ваш экземпляр upsmon до того, как сеть станет доступной - он не сможет установить MINSUPPLIES 1 и вызвать отключение компьютера, прежде чем вы сможете редактировать /etc/nut/upsmon.conf увеличить DEADTIME, Кий много "веселья".

По каким-то нелепым причинам клиентский upsmon требует пароль для работы только для чтения. Поддельные пароли не работают (например, nut-monitor их примет). Это может вызвать проблемы, если пароли не используются / не видны пользователю, особенно для устройств. Некоторые пользователи будут настраивать конфигурацию, запускать службу (часто об ошибках не сообщается) и поддерживать работу дисфункциональной конфигурации в течение многих лет.

К счастью, миллионы устройств будут иметь некоторые учетные данные, собранные ниже, чтобы попробовать небольшую атаку по словарю:

  • памятник / секрет
  • памятник / проход
  • upsmon / 123456
  • upsmon / pass
  • админ / 123456
  • UPSMON / UPSMON
  • upsmon / fixmepass
  • realadminuser / realadminpassword (если дистрибутив немного позаботится об этом, но обычно только для администраторов)

Если есть доступ к хосту ИБП, имеет смысл поискать копию файла конфигурации, если он не помещен в /etc/nut:

find / -name uspd.users
Другие вопросы по тегам