Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

アラートの監視

アラートは特定のイベントでトリガされたり、しきい値を超えた場合にトリガされる自動的な通知です。この章では、アラートの構成および監視方法について説明します。以下のトピックが含まれています。

アラートの概要

アラートは、プロダクションが正常にオペレーションを継続するために迅速に解決する必要がある重大な問題や状況について Ensemble からユーザに自動的に通知する手段を提供します。Ensemble を適切に構成したときには、重大になる可能性がある問題についてアラートが生成され、プロダクションの通常のパフォーマンスの変動によってアラートは生成されないはずです。

このドキュメントで説明されているその他の監視機能では、ユーザが積極的に問題の確認を行う必要があります。通常、ユーザは、問題がプロダクションのパフォーマンスに顕著な影響を与えるようになった場合にのみ、その問題を確認します。アラートを自動的にユーザに通知するように構成すれば、問題がパフォーマンスに重大な影響を与え、致命的な問題になる前に、アラートによって解決できる可能性があります。

Ensemble では、指定されたしきい値を超えた場合、指定されたイベントが発生した場合、またはユーザ・コードが明示的にアラートを生成した場合に、自動的にユーザにアラート・メッセージを送信できます。アラートはいくつかの方法で処理できます。

  • アラートがログ・ファイルのみに書き込まれ、自動的な通知はない。

  • すべてのアラートがユーザのリストに送信される単純なアラート通知システム。

  • 選択されたアラートが、アラートの種類と生成元のコンポーネントに応じて異なるユーザに送信される、アラート通知のルーティング。

  • ユーザにアラートについて通知し、未解決のアラートを昇格し、現在の状態やアラートを解決したアクションの履歴を記録するアラート管理フレームワーク。

アラート通知システムの構成では、アラートをトリガするレベルの調整と、通知を受けるユーザがアラートを理解でき、応答する方法を把握していることが重要です。トリガ・レベルの設定が高すぎる場合は、Ensemble がユーザに通知する前に、既に問題がパフォーマンスに大きな影響を与えている可能性があります。トリガ・レベルの設定が低すぎる場合は、Ensemble によってプロダクションの通常のオペレーション時に多くの通知が送信され、ユーザはそれらの通知を無視するようになり、それらの中の少数の重要な通知に対応しなくなる可能性があります。

アラートは、Ens.AlertRequestOpens in a new tab タイプのメッセージであり、任意のビジネス・サービス、プロセス、またはプロダクションのオペレーションによって生成可能です。Ensemble は常にアラート・メッセージをログに格納します。Ens.Alert という名前のプロダクション・コンポーネントがある場合、Ensemble はすべてのアラート・メッセージをこのコンポーネントに送信します。Ens.Alert は通常は EnsLib.Email.AlertOperation などのオペレーション、ルーティング・プロセス、または Ens.Alerting.AlertManagerOpens in a new tab クラスを持つアラート・マネージャです。

アラートの処理方法の選択

プロダクションでアラートを処理する方法を選択するには、最初に以下の設問に答える必要があります。

  • ユーザに自動的に送信されるアラート通知が必要ですか、それとも自動的な通知は必要とせず、ユーザにログのアラートの参照を要求しますか。

  • 同じグループのユーザに同じ転送メカニズムですべてのアラートを送信する必要がありますか、それとも異なるユーザのグループに送信するアラートを選択する必要がありますか。さらに、場合によっては異なるメカニズムで送信したり、一部のアラートをユーザに送信しなかったりしますか。

  • アラートに所有者を割り当てる必要がありますか。問題が処理済みでアラートが閉じられているかどうかを追跡する必要がありますか。場合によってはアラートを昇格および再割り当てする必要がありますか。さらに、問題を解決するまでにかかった時間など、アラートのステータスや履歴を参照できるようにする必要がありますか。

すべての状況で、アラートを生成する条件を定義する必要があります。"アラートの感度の調整" を参照してください。回答が終わったら、以下の手順に従います。

  1. 自動通知が必要ない場合は、何もする必要はありません。プロダクションに Ens.Alert という名前のコンポーネントが含まれていてはいけません。Ensemble によってアラートがログ・ファイルに書き込まれますが、それらのアラートに関してそれ以外の処理は行われません。

  2. すべてのアラートを同じメカニズムでユーザの 1 つのリストに送信する必要はあるが、アラートの追跡や管理を行う必要はない場合、EnsLib.Email.AlertOperation などのクラスを持つオペレーションを追加し、そのコンポーネントの名前を Ens.Alert とします。Ensemble によってすべてのアラートがそのオペレーションに送信され、構成されたユーザに通知が行われます。"単純な通知の構成" を参照してください。

  3. 特定のアラート群を特定のユーザ群にルーティングする一方で、それ以外のアラート群を他のユーザ群にルーティングする (またはどのユーザにもルーティングしない) 機能を必要としているが、アラートの追跡と管理を希望しない場合は、ルーティング・エンジンをプロダクションに追加し、Ens.Alert という名前を付けます。さらに、EnsLib.Email.AlertOperation などのアラート・オペレーションを追加する必要もあります。"アラートのルーティングの構成" を参照してください。

  4. 最後に、アラートを管理し、アラートをユーザに割り当て、アラートのステータスを追跡し、アラートを管理する場合は、アラート・マネージャ、通知マネージャ、1 つ以上のアラート・オペレーション、およびオプションでアラート・モニタをプロダクションに追加します。"アラート管理の構成" を参照してください。

アラートの感度の調整

理想的には、調査や解決が必要な状況のみにアラートを生成し、プロダクションが通常の動作をしているときはアラートを生成しないことが望まれますが、すべての重大な状況に対してアラートを生成する場合、たいていはプロダクションの実行における通常の変動によっていくつかのアラートが発生してしまいます。例えば、ビジネス・サービスに 300 秒で非活動タイムアウトを設定できます。ピークの時間帯では、このビジネス・サービスへ 300 秒間に多数の要求が送信される可能性があり、この期間にまったく要求が来ない場合、高い確率で問題であることを表し、アラートを生成する必要があります。ただし、オフピークの時間帯の場合、長い期間要求がなくてもすべてのシステムが正常に動作している可能性があります。負荷がピークの時間帯に重要なアラートを取得するようにシステムを設定すると、オフピークの時間帯に誤検出となるアラートを生成することになります。ルータやアラート・マネージャを使用している場合は、このようなオフピークのアラートの通知を抑制できます。

プロダクションのビジネス・サービス、プロセス、およびオペレーションのそれぞれが、エラーを検出したり、制限を超えた場合にアラートを生成できます。アラートの感度は、ビジネス・サービス、プロセス、およびオペレーションのそれぞれにアラートとエラーを構成することで調整します。これらのプロダクション設定を構成したら、通常のオペレーション時にプロダクションを監視する必要があります。誤検出のアラートや、重大な状況での未検出のアラートが多数発生している場合は、設定を調整する必要があります。

以下の設定は、Ensemble がアラートを生成する条件を指定しています。

エラー時に警告

コンポーネントがエラーを検出したときに、アラートを生成する必要があるときは、このオプションにチェックを付けます。他のプロダクション設定はエラーと見なす条件を制御します。それらの設定は、この節で後から説明します。

[エラー時に警告] はアラートの配信または処理に関係するコンポーネントに対してはチェックを付けないでください。

警告再試行猶予期間

これは、コンポーネントがアラートを発行するまで、出力の送信を再試行する秒単位の時間です。この設定を最もよく使用するのは、ビジネス・オペレーションです。コンポーネントがこの時間内に再試行し、最終的に成功した場合、アラートは発生しません。これに 60 秒程度の値を設定した場合、ネットワークの接続が切断され自己解決した場合など、一時的な問題についてアラートが抑制されます。真の問題についてアラートするまでの待機時間として長すぎることもありません。

非活動タイムアウト

これは、コンポーネントがアラートを発行するまで、要求を待機する秒単位の時間です。これは通常ビジネス・サービスで使用されます。処理頻度の高いシステムに対して 300 秒程度の値を設定した場合、メッセージの受信を停止すると、かなり早くアラートが生成されます。さほど処理頻度の高くないシステムの場合は、間隔をもっと長くすべきです。 この値は 1 日中適用されるため、トラフィックが通常よりも大幅に少ないオフピークの時間帯に誤検出が発生する可能性がありますが、必要に応じてアラート・ハンドラで誤検出をフィルタすることができます。

キュー待ちアラート

これは、アラートが発行されるまでメッセージがキューに待機できる秒単位の時間です。この設定の最初の値には 300 秒程度が適当です。クリティカルなシステムでは、5 分は長すぎる可能性があり、さほどクリティカルではないシステムではこれより間隔を長くする方が適当な場合があります。

キュー・カウント

キューに入るアイテムの数を指定します。キューの長さがこの数になった場合、Ensemble によってアラートが生成されます。これを 10 程度の値に設定すると、クリティカルなアイテムに対してキューの作成が開始されるときにはアラートに多少遅延が生じます。ただし、キューによっては通常のオペレーションでこの値を長くすることもでき、さらにコンポーネントが夜間バッチ処理を受けた場合、このパラメータの設定により不要なアラートを生じる可能性があります。

[不正メッセージに関するアラート]

HL7 ルータなど検証を提供するルータでは、この設定により、指定された検証に失敗したメッセージがアラートを生成するように指定します。さらに、このアラートは元のメッセージを、不正メッセージ・ハンドラに送信します。

Ensemble がエラーとして処理する条件を制御する設定は多数あります。Alert On Error にチェックを付けた場合、それらの設定によってアラートを生成する条件を制御できます。以下に、エラー条件を制御するために一般的に使用されるいくつかの設定を示します。

接続を維持

これが正の整数の場合、非活動状態が指定秒数続いた後に、接続が切断されエラーが発行されます。 これを -1 に設定すると、接続の切断は行われず、相手側からの切断でもエラーは発生しません。 99999 などの大きな値は、極めて長い時間非活動状態が続いた後に、接続が切断されることを意味します。ただし、相手側が接続を切断した場合にエラーを発生しないという副次的な影響があります。

再試行タイムアウト

失敗しエラーと見なすまでの、メッセージの送信を再試行する秒数を指定します。このプロパティを -1 に設定すると、メッセージ送信の再試行を無期限に継続し、失敗としないように指定されます。通常、これは、HL7 メッセージなど FIFO の順序で処理が必要なクリティカルなメッセージに使用される設定です。Failure Timeout を正の整数に設定した場合、この秒数が経過するとオペレーションが失敗し、現在のメッセージが破棄されて、次のメッセージの処理が試行されます。

リプライコード・アクション

HL7 のこの設定は、ターゲット・アプリケーションがエラーの応答コードを返したときにオペレーションがどのように対応するかを決定します。これは、失敗に対するオペレーションの動作を決定する重要な設定です。この値はかなり複雑ですが、構成設定タブの ‘リプライコード・アクション’ をクリックすることで、ツールチップ・テキスト・ヘルプを利用できます。 通常、メッセージ送信のエラーがある場合、オペレーションは無期限に再試行を行う必要があります。すべての NACK の後に無期限の再試行を行うようにするには、FailureTimeout を-1 に設定し、ReplyCodeAction を :?R=RF および :?E=RF に設定します。 ターゲット・アプリケーションが、メッセージ (AR) を拒否する場合、再試行はおそらく同じ結果になるため、何か別の処理を実行する必要があります。ただし、ACK コードを正しく使用するためにアプリケーションを常に頼りにできるわけではなく、アプリケーションごとに個別に検討することが必要です。 選択肢の 1 つとして、メッセージの拒否後にビジネス・オペレーションを無効にする方法がありますが、この場合すべてのトラフィックが停止してしまいます。問題が修復可能になるまでメッセージの拒否を保留する方法によって、他のメッセージの送信が可能になりますが、FIFO の順序は破綻します。

アラートの監視の構成

アラートは、プロダクション・コンポーネントによって生成されるメッセージです。Ensemble は自動的にアラートをログ・ファイルに書き込み、Ens.Alert という名前のプロダクション・コンポーネントに送信します。プロダクションに Ens.Alert という名前のコンポーネントが含まれていない場合、Ensemble はアラートをログ・ファイルに書き込みますが、どのコンポーネントにもアラートを送信しません。Ens.Alert という名前のコンポーネントには、任意のクラスを使用できます。Ens.Alert に対して最も一般的に使用されるクラスは以下のとおりです。

  • アラートを電子メールやその他のメカニズムで送信するオペレーション・クラス。"単純な通知の構成" を参照してください。

  • 選択されたアラートを 1 つ以上のオペレーションに転送できるルータ・クラス。"アラートのルーティングの構成" を参照してください。

  • アラートが示した問題の処理の進捗を記録および追跡するメカニズムを提供するアラート・マネージャ。"アラート管理の構成" を参照してください。

単純な通知の構成

すべてのアラートを同じ出力メカニズムを介して処理できるときに、すべてのアラートを同じリストのユーザに送信する場合は、オペレーション・クラスを Ens.Alert という名前のコンポーネントとして使用できます。電子メールでアラートを送信するには、EnsLib.EMail.AlertOperationOpens in a new tab クラスを使用します。他のメカニズムを使用するには、新しいオペレーションを開発する必要があります。詳細は、"簡単な送信アダプタ・アラート・プロセッサの使用" を参照してください。

EnsLib.EMail.AlertOperationOpens in a new tab クラスを使用する場合は、以下の構成設定を指定する必要があります。

  • SMTP サーバ — 電子メール・サーバのアドレスを指定します。

  • SMTP ポート — SMTP サーバが使用するポートを指定します。

  • 認証情報 — SMTP サーバへのアクセスを可能にする Ensemble 認証情報を指定します。

  • 受信者 — アラートの送信先となる電子メール・アドレスのリストを指定します。電子メール・アドレスはカンマまたはセミコロンで区切ることができます。

  • Cc — メッセージのコピーを受信する必要がある電子メール・アドレスのリストを指定します。

  • UseDetailedSettings — チェックを付けると電子メールの件名は、“Ensemble Alert from configuration item component-name on system Ensemble-Instance-Name” となり、メッセージ本文には電子メール・メッセージ内の以下の情報が表示されます。

    • アラート・テキスト

    • アラート時刻

    • プロダクション

    • ソース

    • セッション

    • システム

    • インスタンス

    • ノード

    UseDetailedSettings にチェックが付けられていない場合、電子メール・メッセージにはアラート・テキストのみが表示され、電子メールの件名は、"構成アイテム Ensemble インスタンス名:コンポーネント名からの Ensemble アラート" となります。以前のバージョンとの互換性のためにデフォルトではこの設定にチェックは付けられません。

  • SubjectPrefix — UseDetailedSettings にチェックが付けられた場合、この設定は電子メールの件名の先頭に付けるテキストを指定します。

  • IncludeNodeinSubject — UseDetailedSettings にチェックが付けられた場合、この設定は電子メールの件名にサーバ・アドレスを含める必要があることを指定します。

  • IncludeManagedAlertHistory — この設定は単純な通知を構成する場合には使用しません。

  • SystemName — UseDetailedSettings にチェックが付けられた場合、この設定は、Ensemble-Instance-Name の場所に使用するテキストを指定します。

アラートのルーティングの構成

複数の出力メカニズム経由でユーザに連絡する必要がある場合、または指定されたユーザへ選択的にアラートを送信する必要がある場合、Ens.Alert という名前のビジネス・プロセスを EnsLib.MsgRouter.RoutingEngineOpens in a new tab クラスに追加します。この場合は、プロダクションに出力メカニズムごとに 1 つずつのビジネス・オペレーションも追加する必要があり、アラート・プロセッサがメッセージをそれらのビジネス・オペレーションに転送します。

このビジネス・プロセスはこれらのメッセージを調べて、アラートの内容と組み込まれたロジックに応じて異なるビジネス・オペレーションに転送します。

作成するロジックでは、以下の要因が考慮されている必要があります。

  • ユーザの種類ごとに異なる要件

  • 時刻に応じて異なる要件

  • 組織の問題解決のためのポリシーと手順

EnsLib.MsgRouter.RoutingEngineOpens in a new tab クラスには、[ビジネスルール名] という設定があります。この設定をルーティング・ルール・セットの名前として指定した場合は、このビジネス・ホストがルール・セット内のロジックを使用して、受け取ったすべてのメッセージを転送します。アラートの送信先アドレスを指定するルーティング・ルールを使用するには、Ens.AlertRequestOpens in a new tab クラスの AlertDestination プロパティを設定する変換を追加します。例として、ENSDEMO ネームスペース内の Demo.HL7.MsgRouter.Production を参照してください。この例では、ルーティング・ルールが、すべてのアラートを電子メール・オペレーションに送信し、検索に変換を使用して、アラートを作成したコンポーネントに基づいたアラートの宛先を指定します。AlertDestination プロパティに指定されたアドレスは、[受信者] 設定に指定されたすべてのアドレスに追加されます。

アラート管理の構成

管理対象アラートは、プロダクションで発生した問題、その問題の担当者、問題を解決した方法、および問題を解決するまでにかかった時間のレコードを提供する永続的なメッセージです。 アラート管理では、速やかに解決されていないアラートを主要な担当者に通知できます。

アラート管理では、アラートのルーティング機能と、アラートの追跡や解決に必要なツールを提供しています。アラート管理を使用すると、アラートを特定のユーザに割り当てることができ、アラートが解決済みか、またはエスカレートされたのかを追跡し、さらにアラートの解決に要した時間のレポートを取得できます。アラート管理は、ルールおよび変換エディタを搭載した Ensemble 管理ポータルを使用してプロダクションに追加することができ、カスタム・コードを記述する必要はありません。特殊な要件に合わせて、アラート管理プロダクション・コンポーネントにカスタム・コードを追加することもできます。詳細は、"アラート管理へのカスタム・コードの追加" を参照してください。

アラート管理フレームワークは、以下のビジネス・サービス、ビジネス・プロセス、およびビジネス・オペレーションで構成されています。

  • アラート・マネージャ

    • 通常は Ens.Alert と命名されます。

    • プロダクション内のビジネス・サービス、ビジネス・プロセス、およびビジネス・オペレーションによって生成されたアラートを受信します。

    • アラートを管理対象アラートに変換し、ビジネス・ルールを使用して所有者を割り当てます。

    • 管理対象アラートを通知マネージャに送信します。

  • 通知マネージャ

    • アラート・マネージャおよびアラート・モニタからの管理対象アラートを受信します。

    • 指定されたユーザに変換を使用して通知するためにアラート・オペレーションに管理対象アラートを送信します。

  • アラート・オペレーション

    • 電子メールやその他のメカニズムを使用してユーザにアラート通知を送信します。

  • アラート・モニタ

    • 更新または閉じられることなく次のアクションの期限が過ぎた管理対象アラートのクエリ・データベース。

    • リマインダ通知を送信し、NextMonitorTime を更新し、ビジネス・ルールを使用してアラートを昇格します。

  • Ensemble, 管理対象アラート ページ。このページに移動するには、[Ensemble]、[モニタ]、[マイ管理対象アラート] の順に選択します。

    • 未解決のアラートを表示および更新します。

    • タブを使用して自分のアラート、まだ割り当てられていないアラート、およびすべてのアラートを参照できます。アラートは、アラートの次のアクション時間に従って並べられます。

  • Ensemble, 管理対象アラート・ビューワ ページ。このページに移動するには、[Ensemble]、[表示]、[管理対象アラート] の順に選択します。

    • 管理対象アラートへのアクセスは表示のみです。

    • 所有者、未解決ステータス、時刻、昇格レベル、ソース、およびアラート・グループに基づいてアラート検索できます。

次の図は、アラート管理フレームワーク内のコンポーネントを接続する方法を示しています。

generated description: alert hosts

以下の節では、アラート管理コンポーネントの追加および構成方法について説明します。

プロダクション設定でのアラート管理の構成

プロダクション設定 [アラート制御] グループは、アラート管理のみに使用します。アラート管理を使用していない場合、これらのフィールドは空白のままにすることができます。アラート管理を使用している場合は、これらのフィールドを以下のように設定します。

  • [アラート通知マネージャ] — 通知マネージャの名前を入力します。

  • [アラート通知オペレーション] — 電子メール・アラート・オペレーションの名前を入力します。

  • [アラート通知受信者] — 有効なメール・アドレスを入力し、カンマで区切ります。アラート管理は、デフォルトですべてのアラート通知をこの電子メール・アドレスのリストに送信します。アラート通知マネージャのルールを使用してメッセージの宛先を指定している場合は、このフィールドは使用されません。

  • [アラート・アクション]ウィンドウ — 分単位の時間を入力します。これは、ユーザがアラートを解決および閉じなかった場合に次のリマインダが送信されるまでの分単位の時間のデフォルトです。アラート・モニタをプロダクションに追加した場合、デフォルトでは、指定された分単位の時間が過ぎるとリマインダを送信し、現在の時刻に指定された分単位の時間を加算することで、管理対象アラートの通知時間を再設定します。

アラートを生成したコンポーネントに応じて、異なる配布リストにアラート通知を送信する場合は、各コンポーネントがどのアラート・グループに属しているかを指定すると便利です。

アラート・グループの定義

アラートを生成したコンポーネントに応じて、異なる配布リストにアラート通知を送信する場合は、各コンポーネントがどのアラート・グループに属しているかを指定すると便利です。多数のコンポーネントがある大きなプロダクションでは、個々のコンポーネント名ではなく、アラート・グループに従ってアラートのサブセットを選択する方が実用的です。コンポーネントのアラート・グループは文字列で指定します。この文字列には、アラート・グループのリストを記述し、カンマで区切ります。コンポーネントのアラート・グループは AlertGroups プロパティで指定します。1 つのコンポーネントにアラート・グループを定義したら、他のコンポーネントではチェック・ボックスを使用して選択できます。

アラート・マネージャの追加とそのルールの定義

アラート・プロセッサは、Ens.Alert という名前のビジネス・プロセスである必要があります。アラート・マネージャを使用している場合は、通常、Ens.Alerting.AlertManagerOpens in a new tab クラスを持つ Ens.Alert という名前のビジネス・プロセスを追加します。ルータ・アラート・プロセッサが既にあるプロダクションにアラート管理を追加する場合は、ルータの名前を Ens.Alert のままにして、一部または全部のアラートをアラート・マネージャ・ビジネス・プロセスに送信させます。

アラート・マネージャのルールを定義しない場合、アラート・マネージャは、すべてのアラートを管理対象アラートに昇格し、アラートを何も割り当てないままにして、[アラート・アクション] ウィンドウ で指定された分単位の時間に基づいて期限を設定し、さらにすべての管理対象アラートを通知マネージャに送信します。

アラート・マネージャのルールを使用するには、ルールを作成し、ルール・ウィザードで [管理対象アラートの作成ルール] タイプを指定します。これにより、ルールが Ens.Alertiing.Context.CreateAlert コンテキストに作成されます。アラートのコンテキストでは、以下へのアクセスが可能です。

  • AlertRequest — 受信アラート。アラートへの読み取りアクセスのみが可能です。ルールがアラートに変更を加えても、その変更は無視されます。

  • AlertGroups — アラートを生成したコンポーネントに対して構成されたアラート・グループ。

  • BusinessPartner — アラートを生成したコンポーネントに対して構成されたビジネス・パートナー。

  • 所有者 — ルールがこのプロパティを設定すると、アラート・マネージャが、指定されたユーザへ管理対象アラートを割り当てます。

このルールは 0 を返すことで管理対象アラートへのアラートの昇格を抑制できます。また 1 を返すことでアラートを管理対象アラートに昇格できます。

このルールでは、アラートが、現在未解決の管理対象アラートとして表現される前のアラートを繰り返して発生したものかどうかを確認できます。これを実行するには、ルールで Ens.Alerting.Rule.FunctionSet.IsRecentManagedAlert() 関数を使用します。IsRecentManagedAlert() 関数は、最近の未解決の管理対象アラートに、同じコンポーネントからのものであり、かつ指定されたアラートと同じテキストを含んでいるものがあるかどうかをテストします。オプションで、この関数が既存の管理対象アラートに繰り返し発生するアクションを追加するように指定できます。

ルールを定義したら、アラート・マネージャの構成で CreateManagedAlertRule プロパティにルール名を指定します。アラート・マネージャをルールではできない方法でカスタマイズする必要がある場合は、Ens.Alerting.AlertManagerOpens in a new tab のサブクラスを実装し、OnProcessAlertRequest() メソッドをオーバーライドできます。"アラート管理へのカスタム・コードの追加" を参照してください。

通知マネージャの追加とそのデータ変換の定義

通知マネージャを追加するには、Ens.Alerting.NotificationManagerOpens in a new tab クラスによってビジネス・プロセスを追加します。ルールを定義しない場合、通知マネージャはすべての管理対象アラート・メッセージとリマインダを [アラート通知オペレーション] に設定されたオペレーションを使用して [アラート通知リスト] に設定された電子メール・アドレスに送信します。

通知マネージャでデータ変換を使用するには、以下の手順に従ってデータ変換を作成します。

通知マネージャは、データ変換を実行する前にターゲットの NotificationRequest を設定するため、アラート情報をソースからターゲットにコピーする必要はありません。ターゲットで以下を設定する必要があります。

  • target.Notify — 1 に設定すると通知が送信され、0 に設定すると通知が抑制されます。

  • target.Targets — 使用中の異なるアラート・オペレーションごとに要素をコレクションに追加します。アラート・オペレーションを 1 つだけ使用している場合は、ターゲットには 1 つの要素しかないはずです。各要素の内容は以下のとおりです。

    • TargetConfigName — アラート・オペレーションの名前を指定します。

    • AlertDestinations — は、コレクションであり、各要素は、アラート・オペレーションの 1 つの宛先アドレスを指定します。アドレスの形式は、アラート・オペレーションの要件によって異なります。EnsLib.EMail.AlertOperationOpens in a new tab クラスを使用するオペレーションでは電子メール・アドレスを取得しますが、テキスト・メッセージを送信するオペレーションでは電話番号を取得する可能性があります。

ルールでは、target.NotificationRequest を変更しないでください。NotificationRequest に宛先を追加しても、それらは無視されます。

データ変換を定義したら、プロダクション構成ページで、通知マネージャを選択し、NotificationTransform を、その定義した変換に設定します。

通知マネージャをデータ変換ではできない方法でカスタマイズする必要がある場合は、Ens.Alerting.NotificationManagerOpens in a new tab のサブクラスを実装し、OnProcessNotificationRequest() メソッドをオーバーライドできます。"アラート管理へのカスタム・コードの追加" を参照してください。

通知オペレーションの追加と構成

Ensemble で提供されている電子メール・アラート・オペレーションを使用するには、EnsLib.EMail.AlertOperationOpens in a new tab クラスによってオペレーションを追加し、以下の設定を [基本設定] および [追加設定] グループで入力します。

  • SMTP サーバ — サーバの名前を指定します。

  • SMTP ポート — サーバが標準ポートを使用しない場合にポートを更新します。

  • 認証情報 — 電子メールを送信するために SMTP サーバで使用できるユーザ名とパスワードを指定するために、Ensemble、構成、認証情報 ページを使用して認証情報を作成する必要があります。次に、認証情報をこのフィールドで指定します。

  • [受信者] および [Cc] フィールド — これらのフィールドは空白のままにすることができます。ここに電子メール・アドレスを入力すると、このオペレーションを通じて送信されたすべてのアラートがこのアドレスと、プロダクション全体の設定または通知マネージャによって指定された任意のアドレスに常に送信されます。

  • From — 有効な電子メール・アドレスを入力します。

  • IncludeDetails — このフィールドは、非管理対象アラートである Ens.AlertRequestOpens in a new tab タイプのメッセージのみに使用します。非管理対象アラートの場合、この設定にチェックを付けると、電子メールに追加情報を含めることができます。この設定は、管理対象アラートに対しては無視されます。

  • SubjectPreface — アラート電子メール・メッセージの件名行の先頭に挿入するテキストを指定します。件名行は、デフォルトで "システム 'EnsembleProcessName' の構成アイテム 'ComponentName からの Ensemble アラート" となります。

  • IncludeNodeInSubject — チェックを付けた場合、ノード名 (コンピュータ名) が件名行に挿入されます。

  • IncludeManagedAlertHistory — 管理対象アラートの更新履歴を電子メール・メッセージに含めるかどうかと、最も古い更新と最も新しい更新のどちらをリストの先頭に表示するかを制御します。

  • SystemName — 件名行のプロセス名を置き換えます。

  • IncludeUTCTimes チェックボックス — チェックを付けると、電子メール・メッセージに UTC 時間と共に現地時間が挿入されます。

オプションのアラート・モニタの追加とそのルールの定義

アラート・モニタはオプションです。期限切れのアラートを昇格するかどうかと、リマインダ通知を送信するかどうかを制御します。アラート・モニタを追加するには、 Ens.Alerting.AlertMonitorOpens in a new tab クラスによって、ビジネス・サービスを追加します。アラート・モニタを追加しない場合は、自動リマインダや自動昇格は実行されません。

ルールを定義しない場合は、管理対象アラートが未解決のままで、NextMonitorTime を過ぎたときに、アラート・モニタによってリマインダ通知が送信されます。NextMonitorTime は、[アラート・アクション] ウィンドウのプロダクション設定で指定された分単位の時間で増分することで再設定されます。アラートの昇格は行われません。

アラート・モニタのルールを使用するには、ルールを作成し、ルール・ウィザードで [管理対象アラートの期限切れルール] タイプを指定します。これにより、ルールが Ens.Alertiing.Context.OverdueAlert コンテキストに作成されます。アラートのコンテキストでは、以下へのアクセスが可能です。

  • ManagedAlert — 管理対象アラートへの読み取りアクセスを可能にします。

  • CurrentTime — UTC 形式の現在の時刻を表示します。

  • NewNextActionTime — NextActionTime を UTC 形式の日時値に設定できます。

  • NewEscalationLevel — 管理対象アラートの昇格レベルを設定できます。

ルールが 1 を返す場合、アラート・モニタは管理対象アラートを通知マネージャに送信します。ルールが 0 を返す場合、リマインダ・メッセージは送信されません。

新しい次のアクション時間 (NewNextActionTime) を設定した場合、アラート・モニタによって NextMonitorTime が同じ時刻に設定されます。新しい次のアクション時間 (NewNextActionTime) を設定しない場合、アラート・モニタはデフォルトのアクションを選択します。このアクションでは、NextMonitorTime が、現在の時刻に [アラート・アクション] ウィンドウ プロダクション設定に指定された分単位の時間を加算した時刻に設定されます。

アラート・モニタをルールではできない方法でカスタマイズする必要がある場合は、Ens.Alerting.AlertMonitorOpens in a new tab のサブクラスを実装し、OnProcessOverdueAlert() メソッドをオーバーライドできます。"アラート管理へのカスタム・コードの追加" を参照してください。

管理対象アラートの監視、追跡、および解決

管理対象アラートは、特殊な永続メッセージです。アラート・マネージャは、指定された条件に一致するアラートを受信すると、管理対象アラートを生成します。次の図は、管理対象アラートのライフ・サイクル (コンポーネントがアラートを作成してから、アラートが示した問題をユーザが解決して管理対象アラートを閉じるまで) を示しています。

generated description: alert life

この図は通常の管理対象アラートのライフ・サイクルを示しています。

  1. ビジネス・サービス、プロセス、またはオペレーションで指定された条件が成立し、アラートが生成されます。

  2. アラートが、Ens.Alert という名前のビジネス・プロセスであるアラート・マネージャに送信されます。アラート・マネージャが、アラートを管理対象アラートに昇格し、ユーザに割り当てて、通知マネージャに送信します。

  3. 通知マネージャが、連絡するユーザのグループと、連絡方法を判定します。管理対象アラートをアラート・オペレーションに送信し、このオペレーションが通知をグループに送信します。

  4. 管理対象アラートの所有者は、問題を解決せず、管理対象アラートも更新しません。

  5. アラート・モニタが、アラートの NextMonitorTime に達したときにまだ未解決のアラートについてクエリします。管理対象アラートを検索します。アラートを昇格し、通知マネージャに送信します。

  6. 通知マネージャが、連絡するユーザのグループと、連絡方法を判定します。アラートが昇格されているため、別の配布リストに送信します。管理対象アラートをアラート・オペレーションに送信し、このオペレーションが電子メールをグループに送信します。

  7. この場合、ユーザは、最初のアラートを発生させる原因となった問題を解決できます。ユーザがアラートを閉じるように管理対象アラートを更新します。

  8. 管理対象アラートが非アクティブになりますが、アラートの履歴が保持され、レポートおよび分析に利用できるよう維持されます。

マイ管理対象アラートの参照によるアラートでのアクション

アクションが必要な管理対象アラートがあることを示す電子メールやその他のメッセージを受信したら、自分に割り当てられた未解決の管理対象アラートや割り当てられていないものを参照できます。これには、[Ensemble]、[モニタ]、[マイ管理対象アラート] の順に選択します。

generated description: my managed alerts

[マイ・アラート][未割り当てのアラート]、または [すべてのアラート] を参照できます。以下の基準でアラートを選択できます。

  • 期限切れ — 次のアクション時間を経過したアラートです。

  • 本日 — 次のアクション時間が本日のアラートです。

  • 明日 — 次のアクション時間が明日のアラートです。

  • 今週 — 次のアクション時間が向こう 7 日間のアラートです。

  • 1週間後以降 — 次のアクション時間が 7 日目以降のアラートです。

このテーブルに表示されるアラートに関する情報は以下のとおりです。

  • アラート・テキスト — アラートについて定義されたテキスト。

  • 次のアクション時間 — アラートを発生させる原因となった問題を解決する期限。この期限までにアラートが閉じられない場合、アラート・モニタがこのアラートを評価し、アラートの昇格または再割り当てを実行する可能性があります。

  • 最終アクション日時 — 前回管理対象アラートが更新された時間。

  • 昇格レベル — アラートは、デフォルトでは、0 昇格レベルで作成されます。アラートを昇格すると、[昇格レベル] フィールドに色付きで昇格レベルが示されます。

    • 色なし

    • 黄色

    • オレンジ

  • ソース — アラートを発生させる原因となったコンポーネントの名前。

  • プロダクション — プロダクションの名前。

  • セッション ID — 未使用。

  • 現在の所有者 — 現在の所有者が表示されるか、または “割り当てられていません” と表示されます。

アラートの詳細を表示し、アラートを更新するには、リスト内のアラートを選択します。[管理対象アラートの詳細] フォームが表示されます。

generated description: my managed alerts details

[管理対象アラートの詳細] フォームには以下のフィールドが表示されます。[未解決][現在の所有者][昇格レベル]、および [次のアクション時間] フィールドを更新できます。

  • [アラートの更新] ボタンおよびアラートの更新理由のコメント・フィールド — 詳細フォームのフィールドを更新したら、コメント・フィールドが表示されます。コメントを入力して、[アラートの更新] ボタンをクリックし、管理対象アラートを更新する必要があります。

  • [ID][アラート時刻][プロダクション][ソース]、および[アラート・テキスト] — メッセージ ID、最初のアラートの時刻、プロダクションの名前、アラートを発生させる原因となったコンポーネントの名前、およびアラートに定義されたテキスト・メッセージが表示されます。

  • [アラート・グループ] — アラートに関連付けられているアラート・グループを表示します。

  • [未解決] チェック・ボックス — アラートを閉じるには、このチェック・ボックスのチェックを外して、コメント・フィールドにアラートを閉じた理由を入力し、[アラートの更新] ボタンをクリックします。

  • [現在の所有者] — 現在の所有者は、自分自身、リストされているいずれかのユーザ、または未割り当てのままのいずれかに設定できます。ユーザのリストには、%EnsRole_Administrator%EnsRole_AlertAdministrator、および %EnsRole_AlertOperator のいずれかのロールを持つすべてのユーザが表示されます。

  • [昇格レベル] — 昇格レベルを変更しないまま維持、アラートを降格 (アラート・レベルが下がる)、またはアラートを昇格 (アラート・レベルが上がる) することができます。

  • [最終アクション日時] — 前回アラートが更新された時間。

  • [次のアクション時間] — アラートを更新または閉じる期限。期限は、未変更のままにするか、早めるか、遅めて延期することができます。次のアクション時間は、現在の値または現在の時刻を基準にして更新できます。

  • [次の監視日時] — アラート・モニタが、次に管理対象アラートをチェックし、場合によっては昇格するか、リマインダ通知を送信する日時。

  • [アクション] — 管理対象アラートへの更新の履歴を表示します。各アクションの詳細は、そのアクションの三角形をクリックすることで表示または非表示にできます。+ (プラス記号) をクリックするとすべてのアクションが展開され、– (マイナス記号) をクリックするとすべてのアクションの詳細が非表示になります。アクションには、繰り返し発生するアクション (同一のアラートが同じコンポーネントによって指定された間隔で生成されたことを意味する) を含めることができます。このアクションは、IsRecentManagedAlert() 関数によって管理対象アラートに追加します。

管理対象アラートの参照

[管理対象アラート・ビューワ] では、データベースに格納されている、閉じられたアラートや他のユーザに割り当てられているアラートなど、すべての管理対象アラートを検索および参照できます。ただし、[管理対象アラート・ビューワ] からアラートを更新することはできません。[管理対象アラート・ビューワ] にアクセスするには、[Ensemble]、[表示]、[管理対象アラート] の順に選択します。

generated description: managed alerts

検索基準は左のペインで指定できます。

  • クイック検索

    • [自動更新] — リストを選択した時間間隔で更新するかどうかを指定します。

    • [ソート順序] — リストを初期のアラート時間、または昇格レベルに従ってソートするかどうかを指定します。

    • [ページサイズ] — ページに表示するアラートの数を指定します。

    • [時刻形式] — 日付と時刻をすべて表示するか時刻だけを表示するかを指定します。

    • [未解決状態] — Ensemble で未解決のアラートのみを検索するか、閉じられたアラートのみを検索するか、またはすべてのアラートを検索するかを指定します。

    • [所有者] — Ensemble で現在のユーザが所有するアラートのみを検索するか、割り当てられていないアラートのみを検索するか、またはすべてアラートを検索するかを指定します。

  • [管理対象アラートの検索基準...]

    • [開始時刻][終了時刻] — 最初のアラートの日時の範囲を指定します。

    • [開始 ID][終了 ID] — アラート ID の範囲を指定します。

    • [最小昇格レベル][最大昇格レベル] — 昇格レベルの範囲を指定します。

    • [ソース構成項目] — 最初のアラートを送信したコンポーネントを指定します。

    • [アラート・グループ] — アラート・グループを指定します。

アラートを選択すると、アラートの詳細が右側のパネルに表示されます。アラートの詳細パネルには、前の節で説明した情報と同じものが表示されますが、いずれの値も更新することはできません。アラートの状態がチェック・ボックスで表示される代わりに、パネルには未解決のアラートが 1 で、閉じられたアラートが 0 で表示されます。

管理対象アラートのウォークスルー

ENSDEMO には、アラート管理を紹介するサンプルはありません。この節ではプロダクションの例で作業を開始して、手順に従いながら、アラート管理方法を紹介します。例として、このウォークスルーでは、Demo.HL7.MsgRouter.Production プロダクションから始めます。このプロダクションでは、ルーティング・アラート・プロセッサを使用していますが、アラート・コードがないプロダクションを使用して、同じ手順を進めることができます。このウォークスルーを完了するには、電子メールを送信する SMTP サーバにアクセスできる必要があります。

Note:

これは、複雑な機能のウォークスルーであるため、重要な手順について説明していますが、すべてのユーザ・アクションについて明確に説明しているわけではありません。例えば、読者は、プロダクション内の各コンポーネントを有効にすることや、ダイアログ・ウィンドウに応答する必要があることを理解しているものと想定しています。

サンプル・プロダクションを開き、アラート・プロセッサを削除する

Demo.HL7.MsgRouter.Production プロダクションを開きます。

Note:

このプロダクションの例をそのまま実行して、ルーティング・アラート・プロセッサの動作を確認したい場合は、いくつかの設定を更新する必要があります。これらのコンポーネントをアラート管理コンポーネントに置き換える場合は、この手順を省略できます。電子メール通知を使用するアラート・プロセッサを実行するには、SMTP サーバにアクセスできる必要があり、以下の設定を更新する必要があります。

  • EMailAlertOperation

    • SMTP サーバ — サーバの名前を指定します。

    • SMTP ポート — サーバが標準ポートを使用しない場合にポートを更新します。

    • 認証情報 — 電子メールを送信するために SMTP サーバで使用できるユーザ名とパスワードを指定するために、Ensemble、構成、認証情報 ページを使用して認証情報を作成する必要があります。

    • [受信者][Cc]、および [From] フィールド — 有効な電子メール・アドレスを指定します。

  • AlertTable データ・ルックアップ・テーブル — 有効な電子メール・アドレスを指定します。

これから、このプロダクションを変更します。元のサンプルを残しておきたい場合は、プロダクションをエクスポートして、他のネームスペースにインポートする必要があります。プロダクションをエクスポートするには、[プロダクション設定][アクション] タブ、[エクスポート] ボタンの順に選択します。プロダクションをインポートするには、[システム・エクスプローラ]、[クラス]、[インポート] ボタンの順に選択します。作業内容を保存する場合は、Ensemble を新規またはメンテナンス・リリースでアップグレードすると削除されてしまうため、ENSDEMO ネームスペースで作業しないでください。

Ens.Alert ルーティング・ビジネス・プロセスを選択します。[アクション] タブの [削除] をクリックすることで削除します。次の手順では、アラート・マネージャを追加して、Ens.Alert という名前を付けます。

EMailAlertOperation の削除は、次の手順で同じコンポーネントを追加するため省略できます。

このウォークスルーを続ける前に、以下の準備を行う必要があります。

  • SMTP サーバへアクセスできるようにする。サーバ名とポートを把握しておくことと、サーバにアクセス可能なユーザ名とパスワードを取得しておく必要があります。

  • Ensemble で、SMTP サーバにアクセスするユーザ名とパスワードの認証情報を定義します。Ensemble、認証情報 ページに移動するために、[Ensemble]、[構成]、[認証情報] の順に選択し、次に、ユーザ名とパスワードの認証情報を識別する ID を指定します。

  • アラートを処理するユーザを定義します。ユーザは、システムで作成済みのものを使用するか、新規ユーザを定義することができます。新規ユーザを定義するには、[システム管理]、[セキュリティ]、[ユーザ] の順に選択します。次に、[新規ユーザ作成] ボタンをクリックします。このウォークスルーでは、LabManager というユーザ名を使用しますが、任意の名前を使用できます。ユーザに、%EnsRole_AlertAdministrator または %EnsRole_AlertOperator のロールを付与します。%EnsRole_AlertAdministrator ロールの場合、ユーザは任意のアラートを更新でき、これには他のユーザに割り当てられたアラートも含まれます。%EnsRole_AlertOperator ロールの場合、ユーザは自分に割り当てられたアラートと、未割り当てのアラートを更新できます。

アラート・マネージャ、通知マネージャ、アラート・モニタ、およびアラート・オペレーションの追加

以下のコンポーネントをプロダクションに追加します。

このウォークスルーのすべてのコンポーネント名は、必須名の Ens.Alert を除き任意に付けることができます。

プロダクションの構成

[プロダクション設定][設定] タブの順に選択します。[アラート・コントロール] グループに以下の設定があります。

  • [アラート通知マネージャ] — 通知マネージャに指定した名前を入力します。このウォークスルーでは、NotifyMan です。

  • [アラート通知オペレーション] — 電子メール・アラート・オペレーションに指定した名前を入力します。このウォークスルーでは、EMailAlertOperation です。

  • [アラート通知受信者] — 有効なメール・アドレスを入力し、カンマで区切ります。アラート管理は、デフォルトですべてのアラート通知をこの電子メール・アドレスのリストに送信します。

  • [アラート・アクション] ウィンドウ — 分単位の時間を入力します。これは、ユーザがアラートを解決および閉じなかった場合に次のリマインダが送信されるまでの分単位の時間のデフォルトです。このウォークスルーでは、この設定をデフォルトの 60 分のままにできます。

このウォークスルーのこの設定やその他の設定について、[適用] をクリックします。

EMailAlertOperation オペレーションを選択し、[基本設定] および [追加設定] グループで以下の設定を入力します。

  • SMTP サーバ — サーバの名前を指定します。

  • SMTP ポート — サーバが標準ポートを使用しない場合にポートを更新します。

  • 認証情報 — 準備の手順で定義した認証情報の ID を入力します。

  • [受信者] および [Cc] フィールド — これらのフィールドは空白のままにすることができます。ここに電子メール・アドレスを入力すると、このオペレーションを通じて送信されたすべてのアラートがこのアドレスと、プロダクション全体の設定によって指定された任意のアドレスに常に送信されます。電子メール・アドレスが有効であることを確認します。

  • From — 有効な電子メール・アドレスを入力します。

  • IncludeManagedAlertHistory — 最も古いものが先になるように設定します。

[アラート制御] の設定はデフォルト値のままにすることができます。EMailAlertOperation オペレーション、またはアラートを発行するビジネス・プロセスまたはビジネス・オペレーションでは、[エラー時に警告] チェック・ボックスのチェックを外してください。

アラートを生成したコンポーネントに応じて、異なる配布リストにアラート通知を送信する場合は、各コンポーネントがどのアラート・グループに属しているかを指定すると便利です。多数のコンポーネントがある大きなプロダクションでは、個々のコンポーネント名ではなく、アラート・グループに従ってアラートのサブセットを選択する方が実用的です。このウォークスルーの場合、以下のアラート・グループを指定されたコンポーネントに割り当てます。

コンポーネント アラート・グループ
ABC_HL7FileService ABCGroup
XYZ_HL7FileService XYZGroup
Regular_FileOperation ABCGroup、XYZGroup
Extra_Observations NotImportantAlertGroup

プロダクションの開始とアラートの管理

管理対象アラート・サービス、プロセス、およびオペレーションの追加と構成が完了しました。まだ、ルールや変換を定義していないため、アラート管理コンポーネントはデフォルトの動作をします。これは以下のようになります。

  • アラート・マネージャは、すべてのアラートを管理対象アラートに昇格し、アラートを何も割り当てないままにして、[アラート・アクション] ウィンドウ で指定された分単位の時間に基づいて期限を設定し、さらにすべての管理対象アラートを通知マネージャに送信します。

  • 通知マネージャはすべての管理対象アラート・メッセージとリマインダを [アラート通知オペレーション] に設定されたオペレーションを使用して [アラート通知受信者] に設定された電子メール・アドレスに送信します。これらのフィールドは、いずれも [プロダクション設定] にあります。

  • アラート・モニタは、期限が切れた未解決の管理対象アラートをクエリし、[アラート・アクション] ウィンドウで指定された分単位の時間を加算することで次の通知時刻を再設定して、リマインダ通知を送信します。ただし、アラートの昇格は行いません。

  • アラート・オペレーションは、電子メール・メッセージを配布リストに送信し、メッセージに管理対象アラートの履歴を追加します。

[アラート・グループ] の設定は、デフォルトの動作では使用されません。それらの設定は、ルールおよび変換を追加するときに使用します。

プロダクションを開始します (まだ実行されていない場合)。アラート管理システムを使用するには、先にアラートを生成する必要があります。これを行う簡単な方法の 1 つは、ファイル・サービスの [ファイル・パス] を実在しないディレクトリをポイントするように変更することです。以下に例を示します。

  1. ABC_HL7FileService の [ファイル・パス] を変更して実在しないディレクトリを指定し、[適用] をクリックします。コンポーネントが赤色に変わるはずです。

  2. XYZ_HL7FileService で同じ手順を行います。

  3. プロダクションによって、[アラート通知受信者] で設定されたアドレスに電子メールが送信されているはずです。電子メールがこのアカウントに送信されていることを確認します。

  4. [Ensemble]、[モニタ]、[マイ管理対象アラート] の順に選択します。[未割り当て] および [本日] タブを選択した後に、2 つの管理対象アラートが表示されるはずです。いずれかのアラートを選択します。これで、アラートを自分や他のユーザに割り当て直すか、次のアクション時刻を早めたり遅めたりするか、アラートを昇格するか、アラートを終了するなどの更新ができます。フィールドを更新したら、[更新] ボタンをクリックする前に、理由を入力する必要があります。

  5. アラートを閉じない場合、アラート・モニタが、リマインダ・メッセージを送信し、現在の NextMonitorTime に達すると NextMonitorTime を更新します。

  6. また、管理対象アラート・ビューワに、[Ensemble]、[表示]、[管理対象アラート] の順に選択して移動できます。このページでは、アラート (閉じられたアラートを含む) をクエリできます。

管理対象アラート・ユーザ・インタフェースの確認が完了したら、すべての管理対象アラートが閉じられていることを確認します。未解決の管理対象アラートがあり、アラート・モニタが有効な場合、リマインダ・メッセージの送信が継続されます。

ルールと変換によるアラート管理のカスタマイズ

この節では、ルールを定義してアラート・マネージャとアラート・モニタをカスタマイズし、変換を定義して通知マネージャをカスタマイズします。

アラート・マネージャ・ルールの作成

アラート・マネージャ・ルールは、管理対象アラートをアラートに対して作成し、アラートの所有者などいくつかのプロパティを設定可能にするかどうかを制御します。アラート・マネージャのルールを作成するには、以下の手順に従います。

  1. [Ensemble]、[リスト]、[ビジネス・ルール] の順に選択します。

  2. [新規作成] をクリックして、アラート・マネージャの新しいルールを作成します。

    • プロダクションのパッケージ名を入力します。このウォークスルーでは、Demo.HL7.MsgRouter を入力します。

    • ルールに名前を付けます。このウォークスルーでは、AlertManCreationRule と命名します。

    • [管理対象アラートの作成ルール] のタイプを選択します。これにより、コンテキストが Ens.Alerting.Context.CreateAlertOpens in a new tab に設定されます。

  3. ルール・エディタを使用して、以下のルールを入力します。LabManager を、使用しているシステムの Caché ユーザ名に置き換えます。

    generated description: alert create rule

  4. ルールを保存します。

  5. プロダクションの構成ページで、Ens.Alert を選択し、CreateManagedAlertRule プロパティを Demo.HL7.MsgRouter.AlertManCreationRule に設定します。

このルールを追加すると、アラート管理は以下の動作をするようになります。

  • 新しいアラートに、対応する未解決の管理対象アラートがあり、それが同じプロダクション・コンポーネントから発生しており、同じアラート・テキストを持ち、最近の 600 秒以内に作成されている場合、アラート・マネージャは、既存の管理対象アラートに繰り返しのアクションを追加し、新しい管理対象アラートを作成しません。

  • ABCGroup グループのアラートは、未割り当ての管理対象アラートを作成します。

  • XYZGroup グループのアラートは、指定されたユーザに割り当てられる管理対象アラートを作成します。

  • NotImportantAlertGroup のアラートは管理対象アラートを作成せず、ログへ書き込むのみです。これをテストするには、このアラート・グループ内に存在する Extra_Observations オペレーションでエラーを作成します。この操作を行うには、このオペレーションの [ファイルパス] を存在しないフォルダに変更し、名前が “ABC” で始まり、ORU_R01 メッセージを含んだファイルを、ABC_HL7FileService 入力フォルダ (C:\Practice\in) に配置します。これにより、ログ・ファイルに書き込まれるが管理対象アラートを生成しないアラートが作成されます。

通知マネージャの変換の作成

通知マネージャのデータ変換は、通知のターゲットと、メッセージの宛先アドレスを指定するオペレーションを制御します。通知マネージャの変換を作成するには、以下の手順に従います。

  1. [Ensemble][リスト][データ変換] の順に選択します。

  2. [新規作成] をクリックして、通知マネージャの新しいデータ変換を作成します。

  3. [変換] タブで、[作成] プロパティを [既存] に設定します。

  4. 以下の図に示されているアクションを追加します。

    generated description: alert notify transform

  5. 変換を保存およびコンパイルします。

  6. プロダクションの構成ページで、NotifyMan を選択し、NotificationTransform を変換 Demo.HL7.MsgRouter.NotifyManTransform に設定します。

このデータ変換を追加すると、プロダクションは以下の動作をするようになります。

  • AlertGroups の “ABCGroup” を使用する管理対象アラートは、ABCEmail の電子メール・アドレスに送信されます。

  • AlertGroups の “XYZGroup” を使用する管理対象アラートは、XYZEmail の電子メール・アドレスに送信されます。

  • 1 以上の EscalationLevel を持つ管理対象アラートは、EscalatedEmail の電子メール・アドレスに送信されます。

アラート・モニタ・ルールの作成

アラート・モニタ・ルールは、期限切れのアラートを昇格するかどうかと、リマインダ通知を送信するかどうかを制御します。アラート・モニタのルールを作成するには、以下の手順に従います。

  1. [Ensemble]、[リスト]、[ビジネス・ルール] の順に選択します。

  2. [新規作成] をクリックして、アラート・モニタの新しいルールを作成します。

    • プロダクションのパッケージ名を入力します。このウォークスルーでは、Demo.HL7.MsgRouter を入力します。

    • ルールに名前を付けます。このウォークスルーでは、AlertMonitorRule と命名します。

    • [管理対象アラートの期限切れルール] のタイプを選択します。これにより、コンテキストが Ens.Alerting.Context.OverdueAlertOpens in a new tab に設定されます。

  3. ルール・エディタを使用して、以下のルールを入力します。

    generated description: alert monitor rule

  4. ルールを保存します。

  5. プロダクションの構成ページで、AlertMon を選択し、OverdueAlertRule プロパティを Demo.HL7.MsgRouter.AlertMonitorRule に設定します。

このルールをプロダクションに追加すると、以下の動作をするようになります。

  • “XYZGroup” の管理対象アラートで、昇格レベルが 0 または 1 のものは、アラート・モニタを通過すると昇格レベルが増やされます。

  • ルールが新しい値を NewNextActionTime に割り当てないため、アラート・モニタはデフォルトの動作をします。この動作では、NextNotificationTime が、現在の時刻に [AlertActionWindow] プロパティで指定された分単位の時間を加算した時刻に設定されます。

FeedbackOpens in a new tab