maxhoesel.nut_netclient
maxhoesel.nut_netclient
Installez NUT et upsmon sur un système cible et configurez-le pour suivre un UPS distant sur le réseau en mode netclient.
Exigences
- Un hôte exécutant l'une des distributions suivantes
- Ubuntu 18.04 LTS ou plus récent
- Debian 9 ou plus récent
- Droits de superutilisateur sur l'hôte
Variables de rôle
REMARQUE : Voir ici pour plus d'informations sur les valeurs de upsmon.conf et leur but.
nut_netclient_monitors
- Liste des systèmes UPS à surveiller
- Doit être une liste d'entrées de moniteurs, chaque entrée étant un dictionnaire contenant les valeurs suivantes :
system
: Le système à surveiller. Format :<upsname>[@<hostname>[:<port>]]
powervalue
: Nombre de sources d'alimentation alimentant l'hôte. En général, 1username
: Nom de l'utilisateur moniteur distantpassword
: Mot de passe de l'utilisateur moniteur distanttype
: Type de relation UPS, soitmaître
soitesclave
- Exemple :
nut_netclient_monitors: - system: "[email protected]" powervalue: 1 username: monitor password: un-mot-de-passe-sécurisé type: esclave - system: "[email protected]" powervalue: 1 username: monitor password: un-autre-mot-de-passe type: esclave
- Requis : oui
- Par défaut :
indéfini
nut_netclient_notifymsg_<type>
- Définir un message de notification personnalisé pour un type de message donné
- Les types valides peuvent être trouvés dans le manuel upsmon (section NOTIFYMSG)
- Exemple :
nut_netclient_notifymsg_online: UPS %s est de nouveau en ligne nut_netclient_notifymsg_lowbatt: UPS %s est maintenant sur batterie faible
nut_netclient_notifyflag_<type>
- Définir des indicateurs de notification pour des types d'événements individuels
- Les types et indicateurs valides peuvent être trouvés dans le manuel upsmon
- Exemple :
nut_netclient_notifyflag_online: SYSLOG nut_netclient_notifyflag_lowbatt: SYSLOG+WALL+EXEC
Préfixe pour toutes les variables ci-dessous : nut_netclient_
Nom | Résumé | Requis | Par défaut |
---|---|---|---|
deadtime |
Temps avant que l'UPS ne soit déclaré "mort" en secondes | 15 | |
finaldelay |
Temps entre l'avertissement de fermeture finale et la commande en s | 5 | |
hostsync |
Délai entre le maître et les esclaves dans les situations d'arrêt en s | 15 | |
minsupplies |
Nombre minimum de sources nécessaires pour continuer à fonctionner | 1 | |
nocommwarntime |
Intervalle entre les avertissements d'erreur de communication en s | 300 | |
notifycmd |
Exécutez cette commande pour envoyer des messages | indéfini |
|
pollfreq |
Temps entre les sondages de l'UPS en s | 5 | |
pollfreqalert |
Temps entre les sondages de l'UPS lorsqu'il fonctionne sur batterie en s | 5 | |
powerdownflag |
Fichier d'indicateur que upsmon crée pendant l'arrêt | /etc/killpower |
|
rbwarntime |
Intervalle pour envoyer des messages de remplacement de batterie en s | 43200 | |
run_as_user |
Exécutez le moniteur en tant qu'utilisateur différent | indéfini |
|
shutdowncmd |
Commande à exécuter lors de l'arrêt du système. Doit être entre guillemets si elle contient des espaces | "/sbin/shutdown -h +0" |
|
certpath |
Chemin vers un fichier ou une DB de cert | indéfini |
|
certident |
Identité du certificat à récupérer (si utilisation de NSS) | indéfini |
|
certhost |
Directives d'hôte (si utilisation de NSS) | indéfini |
|
certverify |
Si l'on doit valider les certificats SSL. Doit être soit 0 ou 1 | indéfini |
|
forcessl |
Si l'on doit forcer les connexions SSL. Doit être soit 0 ou 1 | indéfini |
Exemple de Playbook
- hosts: all
become: yes
tasks:
- name: Exécuter nut_netclient
include_role:
name: maxhoesel.nut_netclient
vars:
nut_netclient_monitors:
- system: "[email protected]"
powervalue: 1
username: monitor
password: un-mot-de-passe-sécurisé
type: esclave
Tests
Ce rôle utilise tox et molecule pour les tests. Vous aurez besoin des éléments suivants installés sur votre système :
- python3-tox
- Docker
Ensuite, il suffit d'exécuter test.sh
dans le répertoire racine de ce rôle. Vous pouvez consulter et exécuter des tests individuels avec tox -l
.
Installer
ansible-galaxy install maxhoesel.nut_netclient
Licence
gpl-3.0
Téléchargements
11.9k
Propriétaire
Junior Automation and Infrastructure Engineer, Bachelor in CompSci. I write Ansible content and DevOps-related tools, mostly in Rust