通知¶
BombVault は、バックアップが失敗したとき、成功したとき、遅れているとき、そして週に 1 回、状況のまとめを知らせることができます。設定はすべて 設定、通知 にあります。何がメッセージのきっかけになるかは通知カード、メッセージの送り先はチャンネルカード、チェックイン用の ping は Healthchecks カードです。

メッセージが送られる条件¶
通知カードは、すべてのチャンネルに共通の規則を決めます。
- 通知する:下のすべてのチャンネルに対して、なし、失敗時のみ、成功時と失敗時のどれか。新規インストールでは失敗時のみから始まるので、入力したチャンネルはバックアップが失敗したときに知らせてくれます。
- スケジュール実行をまとめて通知:コンテナや VM ごとではなく、スケジュール実行 1 回につき 1 通のメッセージにします。たとえば 45 件中 42 件が成功 のようにです。手動で開始したバックアップは、これまでどおり単独でメッセージを送ります。凍結したゲスト、失敗した保持処理、超過した増加予算は、まとめ通知がオンでもすぐに送られます。
- コンテナ更新時に通知:バックアップ成功後にコンテナを更新で新しいイメージに更新されたコンテナごとに 1 通のメッセージを送るので、まだ動いていることを確認できます。
- 遅延したバックアップを報告:1 日 1 回 09:00 に、オンになっているバックアップが遅れていないか(スケジュールの 2 倍より古いかどうか)を確認し、該当するたびに、遅れた項目の名前を挙げて 1 通のメッセージを送ります。次にバックアップが成功すると解消されます。
- Unraid 通知:Unraid 自身の通知システムに送信します。そこから Pushover、メール、Discord へ転送できます。設定、連携、ホスト SSH の SSH 接続経由で動作するため、その鍵が承認されている必要があります。TrueNAS やほかのホストではオフのままです。
- 週次ダイジェスト:実行回数、新しいバックアップデータ、遅れているセクション、オフサイトコピーが最新かどうか、主な失敗をまとめた週 1 回のまとめ。プランはほかのプランと同じボタンで、オフで切れます。スケジュールを参照してください。
どの異常がメッセージを送るかは 設定、検証 で決めます。異常を参照してください。延期されたバックアップは、待機を始めたときに 1 通、待機が終わったときに 1 通のメッセージを送り、試行ごとには送りません。
カードの一番下のテスト送信は、オンになっているすべてのチャンネルに、フォームの現在の値でテストメッセージを送り、失敗したチャンネルをそれぞれ名前で示します。Healthchecks のチェックにはログに記録が 1 件残り、状態はそのままです。
チャンネル¶
各チャンネルはチャンネルカードに専用のスイッチを持ち、オンにするとフィールドが表示されます。すべてのチャンネルは、独自のタイムアウトで単独に送信するため、応答しないホストが 1 つあっても、ほかのチャンネルは待たされません。どのチャンネルにも受け取られなかった遅延、予算、異常のアラートは再送され、週次ダイジェストも同様です。単独のバックアップのメッセージやまとめは 1 回だけ送られます。
| チャンネル | フィールド | 備考 |
|---|---|---|
| Webhook | Webhook URL、Webhook 形式 | 形式:Generic JSON、Discord、Slack、Gotify、ntfy。Generic JSON は title、message、ok を POST します。 |
| Apprise | Apprise API の URL、タグ(任意) | Apprise API コンテナの /notify/<key> エンドポイントを指定すると、100 以上のサービスに届きます。タグで、そのキーの宛先の一部だけを選べます。 |
| Matrix | Homeserver URL、アクセストークン、ルーム ID | トークンはサーバーに残り、二度と表示されません。 |
| Gotify | サーバー URL、アプリトークン、失敗時の優先度、成功時の優先度 | 優先度は 0 から 10 で、標準は失敗が 8、成功が 5 です。 |
| メール (SMTP) | SMTP ホスト、ポート、暗号化、ユーザー名、パスワード、送信元アドレス、宛先アドレス | 暗号化は STARTTLS、TLS (implicit)、なし のどれかです。 |
Matrix のトークン、Gotify のアプリトークン、SMTP のパスワードなどのシークレットは、暗号化して保存されます。保存済みのシークレットのフィールドの下には 保存済みです。そのままにするには空欄のままにします。 と表示されます。サーバーのアドレスを変えると、BombVault は古いシークレットを新しい宛先に送りません。フィールドが再び入力を求め、入力すると新しいアドレスが保存されます。
Healthchecks¶
Healthchecks.io などのサービスは、BombVault からのチェックインが途絶えるとアラームを出します。チェックの ping URL を貼り付けると、BombVault はすべてのバックアップのライフサイクル全体にわたって ping を送ります。開始時、そして成功時、または /fail 付きで失敗時です。URL が設定されていれば、通知するの設定に関係なく送るので、失敗時のみのメッセージにしていても、成功時にはチェックが緑のままになります。バックアップ先がどこにもないセクションは失敗として数えるので、そのチェックは成功の知らせを受ける代わりに赤になります。
同じ URL を使うセクションは、1 つのチェックを共有します。そのうち 1 つのバックアップが失敗すると、ほかのセクションの正常なバックアップも /fail で ping を送り、失敗したものの名前を伝えます。そのため、その項目にもう一度正常なバックアップができるか、要対応で失敗を確認済みにするまで、チェックは赤のままです。
セクションは専用のアドレスに ping を送ることもできます。カードの例外で追加でき、行には それ以外のすべてのセクションがこの URL に ping を送ります。 と表示されます。
例:スマートフォンで Gotify¶
https://gotify.example.com で Gotify を動かしていて、失敗はスマートフォンで音を鳴らし、成功は静かに届くようにしたいとします。
- Gotify でアプリを開き、
BombVaultというアプリケーションを作成して、そのトークンをコピーします。 - BombVault で 設定、通知 を開きます。通知で通知するを成功時と失敗時にし、スケジュール実行をまとめて通知をオンにします。45 件のバックアップがある夜でも、45 通ではなく 1 通だけ送られます。
- チャンネルで Gotify をオンにします。
- サーバー URL に
https://gotify.example.comを入力します。/messageは BombVault が自分で追加します。 - トークンをアプリトークンに貼り付けます。
- 失敗時の優先度は 8、成功時の優先度は 5 のままにします。Gotify の Android アプリは 8 以上を高優先として扱うので、音が鳴るのは失敗のときだけです。
- テスト送信を押します。カードの下の行に、Gotify が受け取ったかどうかが表示され、トークンが拒否された場合はそう表示されます。
次のスケジュール実行では、優先度 5 で 1 通のまとめが送られます。その中に失敗があれば、優先度 8 になります。
例:Webhook として ntfy¶
ntfy は、公開トピックならアカウントが不要です。トピック名は推測されにくいものにしてください。知っている人は誰でも読めてしまうからです。
- チャンネルで Webhook をオンにします。
- Webhook URL にトピックのアドレスを入力します。たとえば
https://ntfy.sh/bombvault-tower-7f3kや、自分の ntfy サーバーのアドレスです。 - Webhook 形式を ntfy にします。
- ntfy アプリで同じトピックを購読し、テスト送信を押します。
BombVault は、メッセージ本文を本体として、タイトルを X-Title に入れて POST します。失敗は優先度 high とタグ warning で送られるため、アプリの中で目立ちます。
メッセージが届かないとき¶
トラブルシューティングの通知が届かないを参照してください。