Не удалось запустить сервис 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