エンタープライズ・メッセージ・バンクの構成
エンタープライズ・メッセージ・バンクはオプションのリモート・アーカイブ機能であり、複数の InterSystems IRIS® クライアント・プロダクションからメッセージ、イベント・ログの項目、および検索テーブルのエントリを収集することができます。ここでは、その構成方法について説明します。
"表示および監視するエンタープライズ・システムの特定" では、メッセージ・バンクからメッセージを再送できるようにエンタープライズ・システムを構成する方法について説明します。
特殊なプロダクションであるエンタープライズ・メッセージ・バンクの定義方法は、"エンタープライズ・メッセージ・バンクの定義" を参照してください。
その使用方法は、"エンタープライズ・メッセージ・バンクの使用法" を参照してください。
メッセージ・バンク・リンクの構成
[Interoperability]→[構成する]→[メッセージ・バンク・リンク] ページを使用すると、エンタープライズ・メッセージ・バンクへのリンク (このネームスペース用) を構成できます。
このページで、InterSystems IRIS® とメッセージ・バンク (定義されている場合) を接続するための以下の情報を指定します。
-
[ウェブサーバIPアドレス] — メッセージ・バンクが動作しているマシンの IP アドレスを指定します。
-
[ウェブ・サーバのポート番号] — そのマシン上の InterSystems IRIS で使用されるよう構成されている Web サーバで使用するポート番号を指定します。
-
[インスタンス接頭語] — Web サーバの InterSystems IRIS のインスタンスへのパスを指定します。ターゲットのメッセージ・バンクとして HealthShare Health Connect を使用している場合はこれが必要となります。また、別の Web サーバを使用しており、InterSystems IRIS の他のインスタンスでも同じ Web サーバを使用する可能性がある場合、この接頭語を指定して、メッセージ・バンクが Web サーバ経由で正しい InterSystems IRIS インスタンスと接続する URL を構成できるようにする必要があります。
-
[メッセージバンクプロダクションネームスペース] — メッセージ・バンク・プロダクションが動作している InterSystems IRIS ネームスペースを指定します。
-
[メッセージ・バンクのウェブサーバへの接続にSSLを使用] — TLS を使用してメッセージ・バンクに接続する場合に選択します。
特殊なプロダクションであるエンタープライズ・メッセージ・バンクの定義方法は、"エンタープライズ・メッセージ・バンクの定義" を参照してください。
メッセージ送信のためのクライアント・プロダクションの構成
指定した各クライアント・プロダクションを構成して、メッセージをメッセージ・バンクに送信する必要があります。各クライアント・プロダクションに対して、以下の構成手順を実行します。
-
特殊なメッセージ・バンク・オペレーション (Ens.Enterprise.MsgBankOperationOpens in a new tab) をプロダクションに追加して、必要に応じて構成します。
Note:このビジネス・ホストでは、[オペレーション名] をメッセージ・バンク・オペレーションのクラス名にする必要があります。空白のままにしてデフォルトのクラス名を使用するか、「Ens.Enterprise.MsgBankOperation」と入力します。
詳細は、構成に関する以下の項を参照してください。
-
まだの場合は、前の節の説明に従って、メッセージ・バンクへのリンクを構成します。
または、[Interoperability]→[表示]→[エンタープライズメッセージバンク] ページに移動します。[エンタープライズメッセージバンク] ページを最初に開くとき、リンクを定義する情報の入力を求められます。この情報は前述したものと同じです。
これで、メッセージ・バンクにメッセージを送信するようにプロダクションが構成され、メッセージ・バンクの Web ページへのリンクが管理ポータルにできます。
送信プロダクションをエンタープライズ・システムとしてリストしていない場合でも、エンタープライズ・メッセージ・バンクはメッセージを受信できますが、認証情報へのアクセスなしでメッセージを再送信することはできません。"表示および監視するエンタープライズ・システムの特定" には、メッセージを再送信できるようにするため、プロダクションへのアクセスを有効にする方法が示されています。
メッセージ・バンク・ビジネス・オペレーションの構成
メッセージ・バンク専用の以下の設定を構成します。
真に設定します。これにより、クライアント・プロダクション内のすべてのビジネス・ホストからのメッセージ・キューイングが開始されます。このキューイングは、オペレーションを無効にした場合や、オペレーションがメッセージ・バンクに接続できない間でも、継続されることに注意してください。オペレーションは、メッセージ・バンク・サーバが有効な場合に、キューに入れられたあらゆるメッセージをサーバに転送します。
偽に設定した場合、オペレーションはメッセージ・バンクに対していかなるメッセージのキューイングも行いません。
メッセージ・バンク・プロダクションの IP アドレス。これにはウェブ・サーバ・ポート番号が含まれないことに注意してください。
メッセージ・バンク・プロダクション入力サービスで使用される TCP ポート番号 (デフォルトは 9192 です)。
必要に応じて、以下の追加の設定を構成します。
メッセージ・バンクにどのメッセージが送信されるようにするかを制御します。デフォルト動作では、以下の値で示されるスケジューラ・メッセージを除くすべてのメッセージがアーカイブされます。
*[*],-Ens.ScheduleService[*],-Ens.ScheduleHandler[*]
次の項を参照してください。
メッセージ・バンク・サーバへの転送の必要がある可能性のある、イベント・ログの適合イベントをチェックする頻度。0 の場合、メッセージの転送時にのみチェックが行われます。
真に設定した場合、送信の必要がある適合イベントがないと、定期的に空のイベント送信が行われます。
メッセージ・バンク・サーバに報告する IP アドレス。値を指定しないと、ビジネス・オペレーションがローカル・システムを照会し、ローカル IP アドレスを報告します。
以下のような理由で、IP アドレスを指定できます。
-
クライアント・マシンが、共通のクラスタ IP アドレスを持つクラスタのメンバになっている。この場合、そのクラスタ IP アドレスを指定すると、メッセージ・バンク・サーバはクライアント・マシンではなくクラスタに応答します。
-
クライアント・マシンがマルチホーム化されていて、複数のローカル IP アドレスに関連付けられている。この場合、ビジネス・オペレーションがメッセージ・バンク・サーバに報告するローカル IP アドレスを指定できます。そうすることで、メッセージ・バンク・サーバがクライアント・マシンに対して複数のノードId 値を生成することを回避できます。
MyForceIPAddr 設定の変更は、ObjectScript シェルからのみ実行でき、^Ens.MsgBank グローバルの MyForceIPAddr ノードを定義することにより行います。次に例を示します。
set ^Ens.MsgBank("MyForceIPAddr") = "192.0.2.23"
MyForceIPAddr 設定に値を指定することにより、メッセージ・バンク・サーバが、クライアントのアップグレードあるいは変更を自動的に認識することを回避できます。また、この設定により、メッセージ・バンクが、同一のノードId 値を報告する複数のクライアント・マシンに対して新しいノードId 値を生成することも回避できます。複数のクライアント・マシンが、同一のノードId の下でメッセージに関与する場合、メッセージ・バンクのリポジトリでメッセージ ID の競合が発生する可能性があります。
他の設定に関する情報は、以下を参照してください。
-
TCP アダプタ設定 (Ens.Enterprise.MsgBankOperationOpens in a new tab クラスは、TCP アダプタを使用するため、設定をここから継承します。)
アーカイブ項目の設定の詳細
この [アイテムをアーカイブ] 設定では、プロダクションがどのメッセージをメッセージ・バンクに送信するかを制御します。これは、メッセージがメッセージ・バンク・サーバにアーカイブされる項目の構成名のカンマ区切りリストです。
各項目のログ・イベントをアーカイブするには、以下のコロン区切り構文を使用します。
item[evtype1:evtype2:Trace_cat]
イベント・タイプのかっこ内で、選択リストに以下の文字を使用できます。
パターン文字 | 位置 | 結果として得られるアクション |
---|---|---|
* | すべてのイベント・タイプを含む | |
- | 項目の先頭 | そのタイプをアーカイブ対象から完全に除外 |
! | 項目の末尾 | メッセージ・ボディをアーカイブ対象から除外 |
$ | 項目の末尾 | 検索テーブル・エントリをアーカイブ対象から除外 |
- | 項目の末尾 | メッセージ・ヘッダをアーカイブ対象から除外 |
_ | トレース・タイプのイベントに対して | 特定のカテゴリのトレース・イベントを選択するためにオプションで使用。トレース・イベント・タイプでサフィックスが付かない場合は、すべてのカテゴリのトレース・イベントがアーカイブ対象になります。 |
以下に例を示します。
-
*[*] — すべてをアーカイブします。
-
*$[*],Ens.Alert![-*] — SearchTable エントリを除くすべてのイベント、ヘッダ、およびボディをアーカイブします。ただし、Ens.Alert 項目からのボディやイベントはアーカイブしません。
InterSystems IRIS は、ログに記録したトレース・イベントのみをアーカイブします。これらの設定は、ログに記録されたイベントからアーカイブ対象を限定する場合にのみ使用できます。ログ記録されるように構成しなかったイベントのアーカイブには使用できません。
サーバ上のメッセージ・バンク・サービスの構成
メッセージ・バンク・サーバの Ens.Enterprise.MsgBank.TCPServiceOpens in a new tab コンポーネントは、メッセージ・バンク・クライアント・プロダクションからの受信メッセージの処理を支援します。エンタープライズ・システムを構成している場合は、TCP サービスは定義された情報を使用して、受信メッセージをエンタープライズ・システムと関連付けます。エンタープライズ・システムの構成の詳細は、"表示および監視するエンタープライズ・システムの特定" を参照してください。エンタープライズ・システムを特定しない場合、監視サービスはメッセージの要素に基づいて受信メッセージを特定します。
以下の 2 つの場合では、メッセージの送信元のエンタープライズ・システムを特定するための情報が矛盾することがあります。
-
エンタープライズ・システムが複数の IP アドレスを持つときに、システムが再起動すると、異なる IP アドレスからメッセージが送信される可能性があります。これらのメッセージが以前のメッセージと同じエンタープライズ・システムから送信されたものであることを認識するようにメッセージ・バンクに指示するには、Ens.Enterprise.MsgBank.TCPServiceOpens in a new tab の [クライアント IP の変更を無視] チェックボックスにチェックを付けます。
-
推奨される構成ではありませんが、エンタープライズ・システムを終了して、まったく同じ構成と名前で新しいシステムを再起動して、メッセージ ID をリセットすることができます。メッセージ ID は以前のエンタープライズ・システムから送信されたメッセージの ID とは関連付けられていないため、メッセージ・バンクはこれを新しいエンタープライズ・システムとして扱います。この場合は、Ens.Enterprise.MsgBank.TCPServiceOpens in a new tab の [クライアント IP の変更を無視] チェックボックスのチェックを外してください。
[クライアントIPの変化を無視] チェックボックスは、InterSystems IRIS ミラー・セットの一部のエンタープライズ・システムをメッセージ・バンクがどのように扱うかには影響を与えません ("高可用性ガイド" の "ミラーリングのアーキテクチャおよび計画" を参照してください)。