Alert blackout#

アラートブラックアウトは、特定のサーバーまたはエージェントのアラート評価と通知を一時的に抑制します。停電中、PEMは通常に監視データの収集を継続し、アラートと通知のみが抑制されます。ブラックアウトは、計画的なメンテナンス時間枠またはインフラストラクチャの移行中に、一時的な中断が誤検出アラートをトリガーする場合に役立ちます。

ブラックアウトソース#

すべてのブラックアウトには、それがどのように作成されたかを示すソースがあります。

Source

Description

Created by

manual

終了時間が定義されていない即時オンデマンドのブラックアウト

Alert Blackout checkbox on the Global Overview dashboard, or REST API

scheduled

開始時刻と期間が定義された時間制限のあるブラックアウト

Schedule Alert Blackout dialog, or REST API

auto

到達不能なサーバーまたはエージェントのシステム開始のブラックアウト

Hourly system job (pem.auto_blackout)

オブジェクトサーバーまたはエージェントは、アクティブなブラックアウトレコードが存在する場合、ブラックアウトしているとみなされます。さまざまなソースの複数のブラックアウトがオーバーラップする場合があります。オブジェクトは、最後のアクティブなレコードが終了するまでブラックアウトのままです。

手動ブラックアウト#

手動ブラックアウトは即時かつ無期限です。 Global Overviewダッシュボードの Alert Blackout チェックボックスを使用して、それらを作成およびクリアします。

手動ブラックアウトの有効化#

  1. Global Overviewダッシュボードを開きます。

  2. サーバーまたはエージェントテーブルで Alert Blackout 列を見つけます。

  3. ブラックアウトするサーバーまたはエージェントのチェックボックスを選択します。

PEMはすぐに手動ブラックアウトレコードを作成します。 alert_blackout フラグは数秒以内に同期し、そのオブジェクトのアラート通知は停止します。チェックボックスを複数回選択しても効果はありません。PEMは、オブジェクトごとに1つの手動ブラックアウトレコードのみを作成します。

デフォルトでは、手動ブラックアウトは無期限です。 max_manual_blackout が構成されている場合、システムは制限を超過する手動ブラックアウトを自動的に期限切れにします。詳細は、 ブラックアウト動作の構成 を参照してください。

手動ブラックアウトの無効化#

サーバーまたはエージェントの Alert Blackout チェックボックスをオフにします。

これにより、そのオブジェクトで現在アクティブな すべての ブラックアウト手動、スケジュール、および自動が終了します。アラート通知はすぐに再開されます。まだ始まっていない将来にスケジュールされた停電は影響を受けません。スケジュールされた開始時間にアクティブになります。

PEMアーカイブは、監査のために保存された元のスケジュールされた終了時刻を使用して、pem.blackout_history へのブラックアウトを終了しました。

計画停電#

計画的な停電は、事前にメンテナンスウィンドウを定義します。 PEMは、ウィンドウ中にのみアラートを抑制し、終了時に自動的に再開します。それらをクリアするために手動アクションは必要ありません。

スケジュールされたブラックアウトの作成#

  1. [ Management ] > [ Schedule Alert Blackout ] を選択します。

  2. ダイアログで、ブラックアウトするオブジェクトに応じて、 Servers または Agents タブを選択します。

  3. 右上隅にあるプラス記号 + を選択して、新しい行を追加します。

  4. 次のフィールドに入力します。

  • Start time — ブラックアウトが開始する日時。

  • Duration — ブラックアウトの時間1〜24時間。

  • サーバー または エージェント — 含める1つ以上のオブジェクトを選択します。選択したすべてのオブジェクトは、同じブラックアウトウィンドウを共有します。

  1. Save を選択します。

PEMは、選択したオブジェクトごとに1つのブラックアウトレコードを作成します。同じ保存操作のすべてのレコードは、共通のバッチIDを共有し、ダイアログに単一の行として表示されます。

開始時刻が将来の場合、アラートはその時刻まで通常通り継続されます。開始時刻が現在または過去の場合、PEMはすぐにアラートを抑制します。

注釈

保存されたブラックアウトレコードは不変です。ウィンドウの開始時間または期間を変更するには、レコードを削除し、新しいレコードを作成します。

計画的な停電の表示#

Management > Schedule Alert Blackout を開くと、アクティブおよび保留中のスケジュールされた停電がすべて表示されます。 scheduled ブラックアウトのみがこのダイアログに表示されます。手動および自動のブラックアウトは個別に管理されます。

スケジュールされたブラックアウトの削除#

  1. Management > Schedule Alert Blackout を開きます。

  2. 削除するブラックアウト行を選択します。

  3. Delete 、次に Save を選択します。

これにより、バッチ内のすべてのレコードが削除されます。動作は、ブラックアウトが開始されたかどうかによって異なります。

  • まだ開始されていません — PEMはブラックアウトをキャンセルします。履歴レコードは作成されません。

  • 既にアクティブ — ブラックアウトはすぐに終了し、PEMはpem.blackout_history にアーカイブします。

自動ブラックアウト#

PEMは、到達不能になったサーバーとエージェントを自動的にブラックアウトし、インフラストラクチャがダウンした場合のアラートストームを防ぎます。

Blackout unreachable servers/agents システムジョブは1時間ごとに実行されます。各サーバーとエージェントの最後のハートビートタイムスタンプをチェックします。最後のハートビートがserver_contact_timeout しきい値デフォルト48時間よりも古い場合、PEMは自動ブラックアウトレコードを作成します。タイムアウトウィンドウ内にオブジェクトが回復し、ハートビートが再開されると、PEMは自動ブラックアウトを自動的に終了します。

主な動作

  • 自動ブラックアウトは、既にアクティブなブラックアウト手動、スケジュール、または自動があるオブジェクトをスキップします。重複するレコードは作成しません。

  • サーバーが復旧すると、オートブラックアウトのみが終了します。アクティブな手動またはスケジュールされたブラックアウトは有効なままです。

  • 自動ブラックアウトは、[ Schedule Alert Blackout ]ダイアログには表示されません。これらはpem.blackout またはREST API GET /api/v17/blackout/?source=auto を介して可視されます。

  • 自動ブラックアウトを完全に無効にするには、 server_contact_timeout を0 に設定します。 ブラックアウト動作の構成 を参照してください。

重複する停電#

同じオブジェクトでさまざまなタイプのブラックアウトを同時にアクティブにすることができます。スケジュールされたブラックアウトを作成するときにオーバーラップガードはありません。同じまたは異なるソースの複数のブラックアウトは、同じオブジェクトに共存できます。オブジェクトは、最後のアクティブなレコードが終了するまでブラックアウトのままです。

  • 例 — 手動+スケジュールされた共存

スケジュールされたメンテナンスウィンドウが既にアクティブなときに、ユーザーは手動ブラックアウトを有効にします。両方のレコードが共存します。オブジェクトは、最後のものが終了するまでブラックアウトのままです。

  • 例 — 手動オーバーライドを使用した自動ブラックアウト

サーバーが到達不能になり、PEMは自動ブラックアウトを作成します。次に、管理者はブラックアウトも手動で有効にします。サーバーが復旧すると、自動ブラックアウトのみがクリアされます。手動は、管理者がチェックボックスをオフにするまで持続します。

  • 例 — 将来のスケジュールされたウィンドウでチェックを解除する

サーバーには、アクティブな手動ブラックアウトと、将来的にスケジュールされたメンテナンスウィンドウがまだ開始されていません。管理者はチェックボックスをオフにします。アクティブな手動ブラックアウトのみが終了します。将来のスケジュールは残り、その開始時刻にアクティブ化されます。

ブラックアウト動作の構成#

pem.config テーブルの次のパラメーターは、アラートのブラックアウト動作を制御します。

max_manual_blackout#

Setting

Value

Default

NULL (no limit)

Unit

hours

手動ブラックアウトの最大期間を制御します。 システムジョブのプロセスアラートブラックアウト によって実行時に適用されます。この設定を変更すると、既存のすべての手動ブラックアウトに遡って影響します。

Value

Behavior

NULL or 0

制限なし — 手動ブラックアウトは無期限です

> 0

手動ブラックアウトはこの数時間後に有効期限が切れます

24時間のキャップを設定するには

UPDATE pem.config SET value = 24 WHERE param = max_manual_blackout;

キャップを取り外すには

UPDATE pem.config SET value = NULL WHERE param = max_manual_blackout;

server_contact_timeout#

Setting

Value

Default

48

Unit

hours

自動ブラックアウト機能を制御します。最後のハートビートがこのしきい値より古いサーバーとエージェントは、自動的にブラックアウトされます。

タイムアウトを24時間に変更するには

UPDATE pem.config SET value = 24 WHERE param = server_contact_timeout;

自動ブラックアウトを完全に無効にするには

UPDATE pem.config SET value = 0 WHERE param = server_contact_timeout;

blackout_history_retention#

Setting

Value

Default

30

Unit

days

完了したブラックアウトレコードがpem.blackout_history に保持される期間を制御します。 プロセスアラートブラックアウト システムジョブは、この制限より古いレコードを自動的にパージします。

Value

Behavior

NULL or 0

永久に保持します — 自動パージなし

> 0

この日数より古い履歴レコードをパージ

履歴を90日間保持するには

UPDATE pem.config SET value = 90 WHERE param = blackout_history_retention;

ブラックアウト履歴#

PEMは、完了したブラックアウトをpem.blackout_history テーブルに自動的にアーカイブします。アーカイブされた各レコードには次のものが含まれます。

  • actual_end_time — 停電が実際に終了したとき。

  • scheduled_end_time — 当初計画された終了時間早期に終了した停電の場合、 actual_end_time とは異なる場合があります。

完了したブラックアウトを直接照会するには

- - All completed blackouts
SELECT * FROM pem.blackout_history ORDER BY actual_end_time DESC;

- - Completed blackouts for a specific server (object_id = 5)
SELECT id, start_time, actual_end_time, source
FROM pem.blackout_history
WHERE object_type = 200 AND object_id = 5
ORDER BY actual_end_time DESC;

?include_history=true をリストエンドポイントに追加することにより、REST APIを介して履歴を取得することもできます。アーカイブされたレコードはアクティブなレコードとともに返され、それらを区別するためのarchived: true フィールドが含まれます。

よくある質問#

  • Alert Blackoutチェックボックスのチェックを外しましたが、アラートは再開されていません。

alert_blackout フラグは、チェックボックスをオフにするとすぐにクリアされます。数秒後もアラートが再開されない場合は、 プロセスアラートブラックアウト システムジョブが有効になっていること、およびPEMエージェントが実行されていることを確認します。

  • チェックボックスをオフにすると、スケジュールされた停電はキャンセルされますか?

そのオブジェクトのすべての 現在アクティブな ブラックアウト手動、スケジュール、および自動を終了します。まだ始まっていない将来にスケジュールされた停電は影響を受けません。スケジュールされた開始時間にアクティブになります。将来のスケジュールされたブラックアウトをキャンセルするには、 Schedule Alert BlackoutダイアログまたはREST APIを使用します。

  • 特定のアラートのみをブラックアウトできますか?

いいえ。ブラックアウトは、選択したサーバーまたはエージェント上のすべてのアラートに適用されます。アラートごとのブラックアウトの粒度はありません。

  • 停電中に監視データはどうなりますか?

プローブは通常通りデータの収集を継続します。アラートの評価と通知のみが抑制されます。ブラックアウト中に収集された履歴データは、ブラックアウトが終了すると確認できます。

  • 定期的なブラックアウトたとえば、毎週日曜日の午前2~6時などを作成できますか?

UIから直接ではありません。各ブラックアウトは1回限りのウィンドウです。定期的なメンテナンスウィンドウの場合、 cronジョブまたは外部スケジューラーとREST APIを使用して、ブラックアウトの作成を自動化します。

  • 現在ブラックアウトしているオブジェクトを確認するにはどうすればよいですか?

UIから、グローバル概要ダッシュボードのAlert Blackoutチェックボックスは、各サーバーとエージェントの現在の状態を反映しています。 SQL経由

SELECT object_type, object_id, source, start_time, end_time
FROM pem.blackout
WHERE start_time <= now()
AND (end_time IS NULL OR end_time > now())
ORDER BY start_time;