nut_netclient
maxhoesel.nut_netclient
Установите NUT и upsmon на целевой системе и настройте их для мониторинга удаленного ИБП через сеть в режиме netclient.
Требования
- Хост, работающий на одной из следующих дистрибуций:
- Ubuntu 18.04 LTS или новее
- Debian 9 или новее
- Права суперпользователя на хосте
Переменные роли
ПРИМЕЧАНИЕ: Дополнительную информацию о значениях upsmon.conf и их назначении можно найти здесь.
nut_netclient_monitors
- Список систем ИБП для мониторинга.
- Должен быть список записей мониторов, каждая запись — это словарь, содержащий следующие значения:
system
: Система для мониторинга. Формат:<upsname>[@<hostname>[:<port>]]
powervalue
: Количество источников питания, которые эта система подает на хост. Обычно 1.username
: Имя пользователя удаленного монитора.password
: Пароль удаленного пользователя монитора.type
: Тип отношения ИБП, либоmaster
, либоslave
.
- Пример:
nut_netclient_monitors: - system: "[email protected]" powervalue: 1 username: monitor password: a-secure-password type: slave - system: "[email protected]" powervalue: 1 username: monitor password: a-different-password type: slave
- Обязательный: да
- По умолчанию:
неопределено
nut_netclient_notifymsg_<type>
- Установите пользовательское уведомление для данного типа сообщения.
- Допустимые типы можно найти в руководстве upsmon (раздел NOTIFYMSG).
- Пример:
nut_netclient_notifymsg_online: ИБП %s снова в сети nut_netclient_notifymsg_lowbatt: ИБП %s теперь с низким уровнем заряда
nut_netclient_notifyflag_<type>
- Установите флаги уведомления для отдельных типов событий.
- Допустимые типы и флаги можно найти в руководстве upsmon.
- Пример:
nut_netclient_notifyflag_online: SYSLOG nut_netclient_notifymsg_lowbatt: SYSLOG+WALL+EXEC
Префикс для всех переменных ниже: nut_netclient_
Название | Описание | Обязательно | По умолчанию |
---|---|---|---|
deadtime |
Время до объявления ИБП "мертвым" в секундах | 15 | |
finaldelay |
Время между последним предупреждением о выключении и командой в секундах | 5 | |
hostsync |
Тайм-аут между мастером и слейвами в ситуациях выключения в секундах | 15 | |
minsupplies |
Минимальное количество источников питания, необходимых для работы | 1 | |
nocommwarntime |
Интервал между предупреждениями об ошибках связи в секундах | 300 | |
notifycmd |
Выполните эту команду для отправки сообщений | неопределено |
|
pollfreq |
Время между опросами ИБП в секундах | 5 | |
pollfreqalert |
Время между опросами ИБП при работе от аккумулятора в секундах | 5 | |
powerdownflag |
Файл-флаг, который upsmon создает во время отключения | /etc/killpower |
|
rbwarntime |
Интервал для отправки сообщений о замене батареи в секундах | 43200 | |
run_as_user |
Запустить монитор от имени другого пользователя | неопределено |
|
shutdowncmd |
Команда для выполнения при выключении системы. Должна быть заключена в кавычки, если содержит пробелы | "/sbin/shutdown -h +0" |
|
certpath |
Путь к файлу или базе сертификаций | неопределено |
|
certident |
Идентификатор сертификата для получения (если используется NSS) | неопределено |
|
certhost |
Директивы хоста (если используется NSS) | неопределено |
|
certverify |
Нужно ли проверять SSL-сертификаты. Должно быть 0 или 1 | неопределено |
|
forcessl |
Нужно ли принудительно использовать SSL-соединения. Должно быть 0 или 1 | неопределено |
Пример плейбука
- hosts: all
become: yes
tasks:
- name: Запустить nut_netclient
include_role:
name: maxhoesel.nut_netclient
vars:
nut_netclient_monitors:
- system: "[email protected]"
powervalue: 1
username: monitor
password: a-secure-password
type: slave
Тестирование
Эта роль использует tox и molecule для тестирования. Убедитесь, что у вас установлено следующее:
- python3-tox
- Docker
Затем просто выполните test.sh
в корневом каталоге этой роли. Вы можете просмотреть и запустить отдельные тесты с помощью tox -l
Установить
ansible-galaxy install maxhoesel/ansible-role-nut-netclient
Лицензия
gpl-3.0
Загрузки
9243
Владелец
Junior Automation and Infrastructure Engineer, Bachelor in CompSci. I write Ansible content and DevOps-related tools, mostly in Rust