maxhoesel.nut_netclient
maxhoesel.nut_netclient
NUTとupsmonをターゲットシステムにインストールし、ネットワーク上でリモートUPSをモニタリングするためにnetclientモードで設定します。
要件
- 次のいずれかのディストリビューションを実行しているホスト
- Ubuntu 18.04 LTS以上
- Debian 9以上
- ホスト上で特権を持つこと
ロール変数
注意: upsmon.confの値とその目的についての詳細はこちらを参照してください。
nut_netclient_monitors
- 監視するUPSシステムのリスト
- 各エントリが次の値を含む辞書である監視エントリのリストである必要があります:
system
: 監視するシステム。形式:<upsname>[@<hostname>[:<port>]]
powervalue
: このシステムがホストに供給する電源の数。通常は1username
: リモートモニタユーザーの名前password
: リモートモニタユーザーのパスワードtype
: UPSの関係のタイプ、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: UPS %s がオンラインに戻りました nut_netclient_notifymsg_lowbatt: UPS %s は低バッテリーです
nut_netclient_notifyflag_<type>
- 各イベントタイプの通知フラグを設定します
- 有効なタイプとフラグは、upsmonマニュアルで確認できます
- 例:
nut_netclient_notifyflag_online: SYSLOG nut_netclient_notifymsg_lowbatt: SYSLOG+WALL+EXEC
以下のすべての変数の接頭辞: nut_netclient_
名前 | 概要 | 必須 | デフォルト |
---|---|---|---|
deadtime |
UPSが「死亡」と見なされるまでの時間(秒) | 15 | |
finaldelay |
最終的なシャットダウン警告とコマンドの間の時間(秒) | 5 | |
hostsync |
シャットダウン時のマスターとスレーブの間のタイムアウト(秒) | 15 | |
minsupplies |
動作を維持するのに必要な最小供給量 | 1 | |
nocommwarntime |
通信エラー警告の間隔(秒) | 300 | |
notifycmd |
メッセージを送信するためにこのコマンドを呼び出します | 未定義 |
|
pollfreq |
UPSポーリング間の時間(秒) | 5 | |
pollfreqalert |
バッテリー電源使用時のUPSポーリング間の時間(秒) | 5 | |
powerdownflag |
upsmonがシャットオフ中に作成するフラグファイル | /etc/killpower |
|
rbwarntime |
バッテリー交換メッセージを送信する間隔(秒) | 43200 | |
run_as_user |
異なるユーザーとしてモニタを実行します | 未定義 |
|
shutdowncmd |
システムをシャットダウンする際に実行するコマンド。スペースを含む場合は引用符で囲む必要があります | "/sbin/shutdown -h +0" |
|
certpath |
証明書ファイルまたはDBのパス | 未定義 |
|
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.nut_netclient
ライセンス
gpl-3.0
ダウンロード
11.9k
所有者
Junior Automation and Infrastructure Engineer, Bachelor in CompSci. I write Ansible content and DevOps-related tools, mostly in Rust