Tivoli Event Integration Facility リファレンス バージョン 3.9 SC88-9605-00 (英文原典:SC32-1241-00) Tivoli Event Integration Facility リファレンス バージョン 3.9 SC88-9605-00 (英文原典:SC32-1241-00) ご注意! 本書および本書で紹介する製品をご使用になる前に、 85 ページの『特記事項』に記載されている情報をお読みください。 本書は、IBM Tivoli Enterprise Console バージョン 3、リリース 9 (プロダクト番号 5698-TEC) 、および新しい版で 明記されていない限り、以降のすべてのリリースおよびモディフィケーションに適用されます。 本マニュアルに関するご意見やご感想は、次の URL からお送りください。今後の参考にさせていただきます。 http://www.ibm.com/jp/manuals/main/mail.html なお、日本 IBM 発行のマニュアルはインターネット経由でもご購入いただけます。詳しくは http://www.ibm.com/jp/manuals/ の「ご注文について」をご覧ください。 (URL は、変更になる場合があります) お客様の環境によっては、資料中の円記号がバックスラッシュと表示されたり、バックスラッシュが円記号と表示さ れたりする場合があります。 原 典: SC32-1241-00 Tivoli Event Integration Facility Reference Version 3.9 発 行: 日本アイ・ビー・エム株式会社 担 当: ナショナル・ランゲージ・サポート 第1刷 2003.9 この文書では、平成明朝体™W3、平成明朝体™W9、平成角ゴシック体™W3、平成角ゴシック体™W5、および平成角 ゴシック体™W7を使用しています。この(書体*)は、 (財)日本規格協会と使用契約を締結し使用しているものです。 フォントとして無断複製することは禁止されています。 注* 平成明朝体™W3、平成明朝体™W9、平成角ゴシック体™W3、 平成角ゴシック体™W5、平成角ゴシック体™W7 © Copyright International Business Machines Corporation 2003. All rights reserved. © Copyright IBM Japan 2003 目次 本書について . . . . . . . . . . . . . v 本書の対象読者 . . . . . . . . . . . . . v 資料 . . . . . . . . . . . . . . . . . vi IBM Tivoli Enterprise Console ライブラリー. . . vi 前提資料 . . . . . . . . . . . . . . vi 関連資料 . . . . . . . . . . . . . . vii カスタマー・サポートとの連絡 . . . . . . . . vii ニュースグループへの参加 . . . . . . . . . vii 本書の表記規則 . . . . . . . . . . . . . viii 書体の規則 . . . . . . . . . . . . . viii オペレーティング・システム依存の変数およびパ ス . . . . . . . . . . . . . . . . . ix 第 1 章 Tivoli Event Integration Facility の概要 . . . . . . . . . . . . . . . 1 概念の概要 . . . . . . . イベント. . . . . . . アダプター . . . . . . イベント・クラス. . . . 構成ファイル . . . . . イベント・サーバー . . . イベントのフィルター操作. ルール . . . . . . . Java API および C API の使用 イベント・ソース作成の要約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 3 4 5 5 6 6 6 6 第 2 章 Tivoli Event Integration Facility のインストール . . . . . . . . . . . . 9 インストールの準備 . . . . . . . . . . . インストール . . . . . . . . . . . . . 3.7.1 以前の Event Integration Facility を基にしたア ダプターのマイグレーション . . . . . . . C API で作成したアダプター . . . . . . Java API で作成したアダプター . . . . . . 9 . 9 . 10 . 10 . 10 第 3 章 イベントのトランスポート . . . 13 イベント送達法 . . . . . . . . . . . . . 接続オプション . . . . . . . . . . . . トランスポート・オプション . . . . . . . シェル・スクリプトおよびテスト・オプション . アプリケーションのイベント受信 . . . . . . . ファイアウォールを介したイベント送信 . . . . . システム障害時のイベント送達 . . . . . . . . キャッシュの活動化 . . . . . . . . . . イベントを送達するバックアップ・サーバーの構 成 . . . . . . . . . . . . . . . . portmapper キーワードの使用 . . . . . . . C API で作成された受信アプリケーションの構成 13 13 13 14 15 15 16 16 17 18 19 第 4 章 アダプターの作成 . . . . . . . 21 © Copyright IBM Corp. 2003 モニターするイベントを識別する . . . . . . . ソースの定義 . . . . . . . . . . . . . . イベント・クラスの定義 . . . . . . . . . . イベント送達法 . . . . . . . . . . . . . アダプターのプログラミング . . . . . . . . 既存のアダプターのアップグレード . . . . . 構成ファイル API . . . . . . . . . . . 通信 API . . . . . . . . . . . . . . データ転送 API . . . . . . . . . . . . アダプター・コードの例 . . . . . . . . . Windows の特別な考慮事項 . . . . . . . . アダプターのコンパイル . . . . . . . . . C API で作成したアダプターのコンパイル . . . Java API で作成したアダプターのコンパイル . . C API で作成したアダプターのリンク . . . . アダプターのインストール、構成、およびテスト . . Event Integration Facility Java API で作成されたアダ プターの実行 . . . . . . . . . . . . . . 国際化対応環境に合わせたアダプターの構成 . . . 22 23 23 23 24 24 25 25 26 26 26 26 27 27 27 29 30 31 第 5 章 ソースにおけるイベントのフィル ター操作 . . . . . . . . . . . . . . 33 構成ファイルによるフィルター操作 . . . . システム障害時のイベントのフィルター操作 例 . . . . . . . . . . . . . . フィルターの正規表現 . . . . . . . . 状態相関によるフィルター操作 . . . . . . 状態マシンの活動化 . . . . . . . . . . . . . . . . . . . . 33 34 35 35 35 36 第 6 章 トラブルシューティング . . . . 39 メッセージ・ログ . . . . . . . トレース・ログ . . . . . . . . パフォーマンスと可用性 . . . . . イベント受信接続パラメーター . . 共通の問題とシナリオ . . . . . . アダプターの作成と実行 . . . . イベント・サーバーとの接続の確立 イベントの送信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 39 40 40 41 41 42 42 付録 A. アプリケーション・プログラミン グ・インターフェース. . . . . . . . . 45 C 言語 API . . . . tec_agent_getenv . . tec_agent_init . . . tec_create_EIF_handle tec_create_handle . . tec_create_handle_c . tec_create_handle_r . tec_destroy_handle . tec_errno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 46 47 48 49 50 52 53 54 iii tec_get_event . . . . tec_put_event . . . . tec_register_callback . . C API のユーティリティー ed_scan_get_n . . . . ed_scan_n . . . . . ed_sleep. . . . . . Java 言語 API . . . . disconnect . . . . . getConfigVal . . . . onMessage . . . . . receiveEvent . . . . registerListener . . . iv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tivoli Event Integration Facility: リファレンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 56 57 58 59 60 61 62 63 64 65 66 67 sendEvent . TECAgent . TECEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 . 69 . 70 付録 B. 構成ファイルで使用するキーワー ド . . . . . . . . . . . . . . . . . 71 キーワード . . . . . . . . . . . . . . 71 特記事項 . . . . . . . . . . . . . . 85 商標 . . . . . . . . . . . . . . . . . 87 索引 . . . . . . . . . . . . . . . . 89 本書について Tivoli® Event Integration Facility は、イベント・コンソールのイベントの分散および 統合ポイントです。 Tivoli Event Integration Facility ツールキットを使用すると、イ ベント・アダプターを作成し、それを IBM® Tivoli Enterprise Console® 環境に統合 することができます。 IBM Tivoli Enterprise Console アダプターは、統合リンクです。アダプターは、イベ ントを収集してローカルでフィルターに掛け、関連するイベントをイベント・コン ソールに適した形式に変換して、それをイベント・サーバーに転送します。 各種のシステム、Tivoli ソフトウェア・アプリケーション、およびサード・パーテ ィーのアプリケーション用のさまざまなアダプターを使用することができます。既 存のアダプターがサポートしていないソース (サード・パーティーのアプリケーシ ョンやカスタム・アプリケーションなど) をモニターする場合は、Tivoli Event Integration Facility を使用して、そのソース用のイベント・アダプターを作成してく ださい。 Tivoli Event Integration Facility には、次の機能が含まれています。 v イベント・アプリケーション・プログラミング・インターフェース (API) ライブ ラリー (Java™ および C プログラミング言語用) v デバッグ機能 (イベントの構文を検査して、イベントをファイルに送信) v Event Integration Facility の送信側における状態相関を活用する機能 Tivoli Event Integration Facility を使用すると、次の作業を行うことができます。 v 処理するために、イベント・サーバーへ送信するイベント情報を指定する。 v イベント情報をフィルターに掛け、変換して、イベント・サーバーに転送するた めのアダプターを作成する。 v 状態相関を使用して、ソースの近くでイベントをフィルターに掛け、相関させ る。 v イベントを受信できるアプリケーションを作成する。 本書の対象読者 本書では、新規アダプターの開発や既存のアダプターの変更を効率的に行うための 概念について説明します。本書は、プログラミングの知識を持ち、またカスタム・ アダプターを作成して、アプリケーションで Tivoli Event Integration Facility を使用 する必要がある、開発者を対象としています。また、本書は、IBM Tivoli Enterprise Console のアドミニストレーターが、構成ファイルを変更して、状態相関を構成する 場合にも役立ちます。 本書は、読者に次のソフトウェアの知識があることを前提としています。 v Java または C プログラミング言語 v UNIX®、 Microsoft® Windows®、およびその他のターゲット・オペレーティン グ・システム © Copyright IBM Corp. 2003 v v Tivoli Management Framework 注: Tivoli Event Integration Facility for OS/390® OpenEdition® の詳細については、 IBM お客様サポートに連絡して、Tivoli 製品についてお尋ねください。 資料 このセクションでは、IBM Tivoli Enterprise Console ライブラリーにある参考資料お よびその他の関連資料を紹介します。 IBM Tivoli Enterprise Console ライブラリー 次の資料は、IBM Tivoli Enterprise Console ライブラリーから入手できます。 v 「IBM Tivoli Enterprise Console アダプター・ガイド」SC88-9606 サポートされるアダプターに関する情報と、アダプターをインストールおよび構 成する方法について説明しています。 v 「IBM Tivoli Enterprise Console インストール・ガイド」SC88-9601 IBM Tivoli Enterprise Console 製品をインストール、アップグレード、およびア ンインストールする方法について説明しています。 v 「IBM Tivoli Enterprise Console コマンドとタスクのリファレンス」SC88-9600 IBM Tivoli Enterprise Console コマンド、タスク・ライブラリー内に収録されて いる事前定義のタスク、イベントに対して実行されるタスクで使用できる環境変 数について詳しく説明しています。 v 「IBM Tivoli Enterprise Console ルール開発者ガイド」SC88-9602 イベント相関やイベントの自動管理のために、ルールを作成し、統合する方法に ついて説明しています。 v 「IBM Tivoli Enterprise Console ユーザーズ・ガイド」SC88-9603 IBM Tivoli Enterprise Console 製品の概要と、イベントを管理するために IBM Tivoli Enterprise Console 製品を構成して使用する方法について説明しています。 v 「IBM Tivoli Enterprise Console Warehouse Enablement Pack: Implementation Guide」SC32-1236 IBM Tivoli Enterprise Console 製品用にウェアハウス使用可能化パックをインス トールおよび構成する方法と、ウェアハウス・パックで使用されるデータ・フロ ーおよび構造について説明しています。 v 「IBM Tivoli Event Console リリース情報」SC88-9604 製品が市場に出る直前に入手可能となっていなかったリリース固有の情報が記載 されています。 v 「IBM Tivoli Enterprise Console ルール・セット・リファレンス」SC88-9738 IBM Tivoli Enterprise Console ルール・セットについての参照情報が記載されて います。 前提資料 Tivoli Event Integration Facility を使用する前に、次の資料をよく読んでください。 v Tivoli Management Framework デプロイメントの計画ガイド vi Tivoli Event Integration Facility: リファレンス Tivoli 環境を紹介し、デスクトップ、管理対象ノード、アドミニストレーター、 ポリシー・リージョン、プロファイル、通知、タスク、およびスケジューリング に関する詳しい情報が記載されています。 v Tivoli Management Framework ユーザーズ・ガイド Tivoli Management Framework サービスの使用について、概念と手順を説明して います。Tivoli デスクトップ、およびコマンド行からのタスク実行方法について 説明しています。 関連資料 「Tivoli Software Glossary」では、Tivoli ソフトウェアに関連する数多くの技術用語 の定義が示されています。「Tivoli Software Glossary」は、次の Tivoli ソフトウェ ア・ライブラリー Web サイトで利用できます (英語版のみ)。 http://www.ibm.com/software/tivoli/library/ 用語集にアクセスするには、「Tivoli software library」ウィンドウの左ペインにある Glossary リンクをクリックします。 カスタマー・サポートとの連絡 資料およびカスタマー ¥ サポートについては営業担当員にお問い合わせください。 ニュースグループへの参加 ユーザー・グループは、ソフトウェアの専門家が意見、専門知識、および製品の使 用経験を交換し合うフォーラムを提供しています。ユーザー・グループはインター ネット上に存在し、標準のニュース・リーダー・プログラムを用いて利用できま す。これらのグループは、ユーザー間の情報伝達を主な目的としており、正式なサ ポートの代わりではありません。 ニュースグループにアクセスするには、ご使用のブラウザーに該当する操作説明を 使用してください。 Microsoft Internet Explorer ブラウザーの場合は、次の操作説明を使用してくださ い。 1. Internet Explorer ブラウザーを開きます。 2. 「ツール」メニューから「インターネット オプション」をクリックします。 3. 「インターネット オプション」ウィンドウの「プログラム」タブをクリックし ます。 4. 「ニュースグループ」リストの下矢印をクリックして、「Outlook Express」を クリックします。 5. 「OK」をクリックします。 6. Internet Explorer ブラウザーを閉じて、もう一度開きます。 7. 製品のニュースグループ・アドレスをブラウザーの「アドレス」フィールドにカ ット・アンド・ペーストし、Enter を押してニュースグループを開きます。 Netscape Navigator ブラウザーの場合は、次の操作説明を使用してください。 本書について vii 1. Netscape Navigator ブラウザーを開きます。 2. 「編集」メニューから「設定」をクリックします。「設定」ウィンドウが表示さ れます。 3. 「カテゴリ」ビューで「メールとニュースグループ」をクリックして、「メール とニュースグループ」設定を表示します。 4. 「Netscape Mail & Newsgroups を標準のメール アプリケーションとして使 用する」チェック・ボックスを選択します。 5. 「OK」をクリックします。 6. Netscape Navigator ブラウザーを閉じて、もう一度開きます。 7. 製品のニュースグループ・アドレスをブラウザーの「アドレス」フィールドにカ ット・アンド・ペーストし、Enter を押してニュースグループを開きます。 IBM Tivoli Enterprise Console news://news.software.ibm.com/ibm.software.tivoli.enterprise-console IBM Tivoli NetView® for UNIX および IBM Tivoli NetView for Windows news://news.software.ibm.com/ibm.software.tivoli.netview-unix-windows 本書の表記規則 本書では、特殊な用語、アクション、オペレーティング・システム依存のコマンド およびパス、欄外図について、いくつかの表記規則を使用しています。 書体の規則 本書では、以下の書体の規則を使用しています。 太字 v 周囲のテキストと区別しにくい小文字のコマンドおよび大文字小文字混合 のコマンド v インターフェース・コントロール (チェック・ボックス、プッシュボタ ン、ラジオ・ボタン、スピン・ボタン、フィールド、フォルダー、アイコ ン、リスト・ボックス、リスト・ボックス内の項目、複数列のリスト、コ ンテナー、メニュー選択項目、メニュー名、タブ、プロパティー・シー ト)、ラベル (ヒント:、オペレーティング・システムの考慮事項: など) v 表の列見出し v テキスト中のキーワードおよびパラメーター イタリック v 引用 (資料、ディスケット、および CD のタイトル) v テキスト中で定義される語 v 語の強調 v 文字 v テキスト中の新規用語 (定義リストは除く) v 指定しなければならない変数および値 viii Tivoli Event Integration Facility: リファレンス モノスペース v 例およびコード例 v ファイル名、プログラミング・キーワード、および周囲のテキストと区別 しにくいその他の要素 v ユーザーに表示されるメッセージ・テキストおよびプロンプト v ユーザーが入力しなければならないテキスト v 引き数またはコマンド・オプションの値 オペレーティング・システム依存の変数およびパス 本書では、環境変数の指定とディレクトリーの表記に、UNIX の表記規則を使用し ています。 Windows のコマンド行を使用する場合は、環境変数の $variable を %variable% に 置き換え、ディレクトリー・パスのスラッシュ (/) を円記号 (¥) に置き換えてくだ さい。 注: Windows システムで bash シェルを使用している場合は、UNIX の表記規則を 使用できます。 本書では、ページ・スペースの制限のためにサンプル・テキストが次の行に折り返 されていることを、行末に円記号 (¥) を記述することで示しています。この場合、 例は 1 行であると解釈してください。 本書について ix x Tivoli Event Integration Facility: リファレンス 第 1 章 Tivoli Event Integration Facility の概要 Tivoli Event Integration Facility は、モニター可能なイベントのタイプおよびシステ ム情報の幅を広げるツールキットです。イベント・アダプター が、管理対象リソー スをモニターし、IBM Tivoli Enterprise Console またはその他のアプリケーションに イベントを送信します。Tivoli Event Integration Facility では、ご使用のネットワー ク環境や特定のニーズに合わせて、独自のアダプターを開発することができます。 また、Tivoli Event Integration Facility では、イベント・リスナー という、イベント を受信するアプリケーションを作成することもできます。イベント・リスナーは、 イベントを他の管理アプリケーションに配布する必要がある管理対象の環境内に置 くことができます。また、Tivoli Event Integration Facility を使用すれば、ソースの 近くでイベントをフィルターに掛けることができるので、ネットワークやイベン ト・サーバーのイベント・トラフィックを削減できます。 本章には次のトピックが含まれています。 v 概念の概要 v Java API および C API の使用 v イベント・ソース作成の要約 概念の概要 情報の中心単位はイベント です。イベントはシステム・リソースまたはアプリケー ションにおける、意味を持つ状態変化のことです。イベントは、問題が発生した場 合にも、タスクが正常終了した場合にも生成されます。ホストがダウン寸前である こと、アドミニストレーターとしてホストにログインしようとして失敗した人がい たこと、ハード・ディスクがいっぱいになりそうなことなど、さまざまなタイプの 情報をイベントによって知ることができます。他のイベントをクリアするイベント が生成される場合もあります。 アダプター は、管理対象のソースをモニターするプロセスです。ソースとは、アプ リケーションまたはシステム・リソースのことです。アダプターは、ソースから情 報を受け取ると、その情報をフォーマットして、イベント・サーバーに転送しま す。 イベント・サーバー は、分散アダプターが収集したすべてのイベントを処理する中 央サーバーです。イベント・サーバーは、着信イベントごとにエントリーを作成し ます。そして、それらのイベントを一連のルールと照合して評価し、そのイベント に自動的に応答したり変更を加えたりできるかどうかを判別します。ルール は、イ ベント・サーバーが特定のシステム・イベントを受信した時に実行されるアクショ ンについて記述したものです。また、IBM Tivoli Enterprise Console ゲートウェイ を置き、そこで、エンドポイントで実行されているイベント・アダプターからのイ ベントを収集することもできます。ゲートウェイは、収集したイベントをイベン ト・サーバーに転送します。場合によっては、他のアプリケーションをカスタマイ ズして、そのアプリケーションでイベント・サーバーからのイベントを受信するこ ともできます。 © Copyright IBM Corp. 2003 1 図 1 に、イベント・アダプターから Tivoli Event Integration Facility を介してイベ ント・サーバーや他のアプリケーションに送信されるイベントの流れを示します。 図 1. ソースからのイベントの流れ 次に、Tivoli Event Integration Facility の主な概念について、それぞれ詳しく説明し ます。 イベント イベントは、エラー・メッセージ、トラップ、またはそれに類似した情報として画 面に表示されるかファイルに書き込まれます。 イベントから知ることができる情報は、ソースによって異なります。イベントにつ いての詳細な説明を提供するソースもあれば、簡潔な説明を提供するソースもあり ます。アダプターは、すべてのイベントを、一貫した情報 (イベントのソース、場 所、日時など) を提供する形式に変換します。 トラップなど、イベントによっては、人間が理解できないデータが入っているもの もあります。そのような場合、情報をさらに処理するために、アダプターは可読形 式にデータを変換する必要があります。また、システム・ログ・ファイルなど、機 械変換せずに可読なデータを提供するソースもあります。 アダプターは、イベント情報を一連の属性に変換します。個々の属性はアダプター によって事前定義されており、属性名と属性値をもっています。アダプターは該当 する情報を個々の属性に入れたあと、イベントをイベント・サーバーに送信しま す。イベント・サーバーに送信するイベントに組み込むことができる基本イベント 属性のリストについては、「IBM Tivoli Enterprise Console アダプター・ガイド」を 参照してください。 2 Tivoli Event Integration Facility: リファレンス 図 2 は、イベントが変形していく様子を図示したものです。 図 2. イベントの変化 次の例は、ログ・ファイルの情報がイベントに変換される様子を示しています。こ の例では、ホスト oak 上で su root コマンドの実行に失敗したことが、システ ム・ログ・ファイルに書き込まれています。これは、可読形式です。 Nov 7 08:51:42 oak su: ’su root’ failed for don on /dev/ttyp0 アダプターは、このログ・ファイル情報を次のようにイベントに変換します。 Su_Failure: source=LOGFILE; origin=oak; date=”Nov 7 08:51:42 ”; host=oak; sub_source=login; from_user=don; tty=/dev/ttyp0 to_user=root; END イベントについての詳細は、「IBM Tivoli Enterprise Console ユーザーズ・ガイド」 を参照してください。 アダプター アダプターはソースをモニターします。ソース とは、アプリケーション (データベ ースなど) またはシステム・リソース (使用可能なディスク・スペースなど) です。 サード・パーティーのアプリケーションやカスタム・アプリケーションなどのソー スをモニターする場合は、Tivoli Event Integration Facility を使用して、新規ソース ごとにアダプターとイベント・クラスを作成する必要があります。 アダプターがソースをモニターする方法は次のとおりです。 v アダプターは、メッセージを能動的に生成するソースからメッセージを受信でき ます。例えば、Tivoli ソフトウェア・アプリケーションから送信されたメッセー ジを受信することができます。 v ソースがファイルを更新する場合、アダプターは構成可能な一定の間隔でファイ ルを検査できます。 v アダプターは、構成可能な一定の間隔でシステム・リソースまたはシステム条件 をポーリングし、ポーリングの結果として得られた情報を解釈して、イベント・ サーバーに転送できます。 アダプター・タイプは、イベント・サーバーへのイベントの送信メカニズムに応じ て、TME® または非 TME のいずれかになります。プログラマーの立場からすれ ば、アダプターの開発は TME の場合も、非 TME の場合も同じで、関数呼び出し 第 1 章 Tivoli Event Integration Facility の概要 3 も同じです。ただし、アダプターにリンクさせなければならないライブラリーは、 作成するアダプターのタイプによって異なります。 TME アダプター は、イベント・サーバーへのイベントの送信に Tivoli Management Framework サービスを使用するアダプターです。 TME アダプターには、エンドポ イント・アダプターと管理対象ノード・アダプターの 2 つのタイプがあります。 非 TME アダプター は標準的なプロセス間通信の仕組みを使用するので、Tivoli Management Framework を必要としません。 通常は、エンドポイント上で Tivoli Management Framework に必要となるディス ク・スペースを減らすために、エンドポイント・アダプターを作成します。一般的 に、管理対象ノード・アダプターは作成しないでください。管理対象ノード・アダ プターの作成に必要なライブラリーが保守および配布されているのは、主に後方互 換性のためです。環境によっては、非 TME アダプターの作成が必要になります。 例えば、Tivoli Management Framework がサポートしていないシステム上でアダプタ ーを実行する場合などです。このような場合、非 TME アダプターが必要になりま す。 アダプターがソースから情報を受信したときに、その情報をフォーマットしてイベ ント・サーバーに転送する方法は、アダプターのタイプによって異なります。 v 非 TME アダプターと管理対象ノード・アダプターは、イベントを直接イベン ト・サーバーへ送信します。 v エンドポイント・アダプターの場合は、イベントは IBM Tivoli Enterprise Console ゲートウェイに送信され、そこからイベント・サーバーへ転送されま す。 v 非 TME アダプターの場合は、直接 TEC サーバーまたは TEC ゲートウェイに 送信されます。 イベント・クラス アダプターは、情報をイベント・クラスに分類します。そして、その情報を、イベ ント・クラスの特定のインスタンスを表すメッセージにフォーマットし、イベン ト・サーバーに送信します。イベント・サーバーはその情報を、他のアダプターか ら受信した情報と共に処理します。 イベント・クラス はイベントの区分です。 Tivoli オブジェクトとは混同しないで ください。情報を細分化するためにイベント・クラスをサブクラスに分割できるの で、より詳細なルールをイベント情報に適用することができます。つまり、イベン ト・クラスとは、アダプターがどのような情報をイベント・サーバーに送信するか についての、アダプターとイベント・サーバー間の合意です。 イベント・クラスは、イベント・クラス定義ファイルの中で定義します。基本イベ ント・クラス定義ファイル (root.baroc) は、 $BINDIR/TME/TEC/default_rb/TEC_CLASSES のディレクトリーにあります。これ以 外のイベント・クラスは、基本イベント・クラスのサブクラスです。イベント・ク ラスに対して、Basic Recorder of Objects in C (BAROC) ファイルを作成し、これ らのファイルのロード先のイベント・サーバーを指定することができます。 4 Tivoli Event Integration Facility: リファレンス 1 つのイベント・サーバー上に複数の BAROC ファイルを置くこともできます。新 規アダプターを開発した場合は、そのアダプターがイベント・サーバーに送信でき るイベントのタイプを BAROC ファイルに定義します。 BAROC ファイルについての詳細は、「IBM Tivoli Enterprise Console ルール開発者 ガイド」を参照してください。 構成ファイル アダプターの動作は、構成ファイルを使用して制御できます。構成ファイルを使用 して、次のような構成パラメーターを指定できます。 v イベント・サーバーに送信する情報 v アダプターが使用する接続インターフェース v イベント・サーバーがあるホスト v アダプターが実行するイベント・フィルター操作 v 特定のアダプターに固有の情報 情報をイベント・クラスに分類した後、アダプターはイベント情報をイベント・サ ーバーに送信し、そこでさらに処理が行われます。アダプターからイベント・サー バーに送信する情報の制御には、構成ファイルを使用します。これによって、エン タープライズ・モニターに関連したネットワーク負荷が最小化されます。 異なる環境で実行するために、アダプターの複数のインスタンスを変更する必要は ありません。必要になるのは、構成ファイルの変更のみです。詳しくは、 71 ページ の『付録 B. 構成ファイルで使用するキーワード』を参照してください。 イベント・サーバー 必ずしも、アダプターが特定のイベントの属性値をすべて提供するわけではありま せん。イベント・サーバーが提供する属性値もあります。 イベント・サーバーは、着信イベントを検証します。イベントが有効であると、イ ベント・サーバーは、イベントに固有の ID とタイム・スタンプを割り当てて、イ ベント・データベースに格納します。イベント・サーバーは、個々の着信トランザ クションを処理したあとに次のトランザクションを処理します。 3 ページで説明したイベントの例は、イベント・サーバーの処理を受けた後に、次 のようになります。 Su_Failure; server_handle=1; date_reception=784408852; event_handle=1; source=LOG; sub_source=login; origin=oak; sub_origin=’’; hostname=’’; last_modified_time=’Nov 07, 1994 08:51:42’; adapter_host=’’; status=OPEN; administrator=’’; acl=[admin]; severity=WARNING; date=’Nov 07, 1994 08:51:42’; 第 1 章 Tivoli Event Integration Facility の概要 5 duration=0; msg=’’; msg_catalog=’’; msg_index=0; num_actions=1; credibility=0; repeat_count=0; cause_date_reception=0; cause_event_handle=0; from_user=don; to_user=root; END イベントのフィルター操作 フィルター操作を行うと、コンソール・オペレーターの手間が省け、複雑なシステ ム・エラーに対する応答時間が短縮されます。Tivoli Event Integration Facility を使 用してイベントをフィルターに掛ける方法には、構成ファイル内の filter ステート メントを使用する方法と、状態相関を使用する方法の 2 通りの方法があります。状 態相関では、ソースまたは IBM Tivoli Enterprise Console ゲートウェイでイベント をフィルターに掛けることができます。 構成ファイルおよび状態相関を使ったイベントのフィルター操作の詳細について は、 33 ページの『第 5 章 ソースにおけるイベントのフィルター操作』を参照し てください。 ルール 新規アダプターを開発する場合は、特にアダプター・イベントの有用性を上げるこ とを目的とした新規ルールを作成する必要があります。イベント・サーバーはルー ルを使用して、企業内全体にわたるイベントに対する自動応答を指定および制御し ます。 既存のルールの変更と新しいルールの作成については「IBM Tivoli Enterprise Console ルール開発者ガイド」を参照してください。 Java API および C API の使用 Tivoli Event Integration Facility では、Java と C プログラミング言語の 2 つの開発 環境で、アダプターを作成することができます。モニターする環境に応じて、該当 するアプリケーション・プログラミング・インターフェース (API) を選択してくだ さい。これらのインターフェースは機能的には同一のものです。 イベント・ソース作成の要約 Tivoli Event Integration Facility では、新規アダプターを作成することができます。 各アダプターのアーキテクチャーは、収集する情報によって異なります。しかし、 イベント・サーバーへイベントを送達するために使用されるメカニズムは同じもの です。 アダプターを作成するステップは、次のとおりです。 v イベントの識別 v ソースの定義 v イベントの分類 6 Tivoli Event Integration Facility: リファレンス v 新規イベント・クラスの定義 v イベント送達インターフェースの指定 v アダプターの開発とテスト v アダプターのインストールと構成 イベント・ソース作成についての詳細は、21 ページの『第 4 章 アダプターの作 成』を参照してください。 第 1 章 Tivoli Event Integration Facility の概要 7 8 Tivoli Event Integration Facility: リファレンス 第 2 章 Tivoli Event Integration Facility のインストール 本章では、Tivoli Event Integration Facility のインストール方法を説明します。最新 の情報およびシステム要件については、「Tivoli Event Integration Facility リリース 情報」を参照してください。 本章には次のトピックが含まれています。 v インストールの準備 v インストール v 3.7.1 以前の Event Integration Facility を基にしたアダプターのマイグレーション インストールの準備 以下のリストは、インストールの準備について要約したものです。 v 要件、拡張機能など、製品の重要な詳細情報について、「Tivoli Event Integration Facility リリース情報」を参照する。 v ハードウェアおよびソフトウェアの要件を確認する。 インストール 新しいスタンドアロン・インストール・プロセスによって、オペレーティング・プ ラットフォーム固有のディレクトリーをシステムに作成する方法が簡単になりまし た。 Event Integration Facility のパッケージ方法は変わりましたが、機能は同じで す。以前のインストール可能コンポーネントは、IBM Tivoli Enterprise Console TME New Installations CD の EIFSDK ディレクトリーに入っています。 ディレクトリー構造は、次のとおりです。 bin Interp タイプごとの CLI 実行可能コマンド postemsg、 wpostemsg、 postzmsg、および wpostzmsg が入っています。 contrib コンパイル済みサンプル・プログラムが入っています。 default_sm 状態ベースの相関を使用するためのサンプルが入っています。 include アダプターを作成するためのヘッダー・ファイル (.h) が入っています。こ れらはすべての Interp に共通です。 jars Java ベースの Event Integration Facility API および状態ベースの相関を使用 するために必要なすべての jar ファイルが入っています。 javadoc Java ベースの Event Integration Facility API 用の javadoc が入っていま す。 © Copyright IBM Corp. 2003 9 lib アダプターをリンクする場合に必要な Interp タイプごとのライブラリーが 入っています。エンドポイント、管理対象ノード、および非 TME アダプタ ー用のライブラリーが入っています。 samples サンプル・アダプター・ソース・コードが入っています。 注: Tivoli インストール・ディレクトリーとは別のディレクトリーにファイルを unzip することをお勧めします。 3.7.1 以前の Event Integration Facility を基にしたアダプターのマイグレ ーション 前のバージョンの Tivoli Event Integration Facility で作成したカスタム・アダプター は、Tivoli Event Integration Facility の最新バージョンの拡張機能を利用できるよう に、マイグレーションする必要があります。マイグレーションすることにより、最 新のメインテナンス修正が適用され、製品の拡張機能を利用できるようになりま す。 アダプターの作成環境 (C API または Java API) によって、マイグレーションは異 なります。次のセクションでは、両方の API の場合における手順を説明します。 注: バージョン 3.7.1 の Tivoli Event Integration Facility を使用して作成したアダプ ターのインターオペラビリティーの詳細については、「Tivoli Event Integration Facility リリース情報」を参照してください。 アダプターの作成の詳細については、 21 ページの『第 4 章 アダプターの作成』を 参照してください。 C API で作成したアダプター C API を使用したアダプターの作成についての新しい点は、次のとおりです。 1. ヘッダー・ファイル tec_eif.h が除去され、tec_eeif.h に置換されました。 2. ライブラリー (libtec.a、libteceif.a、および libtecgw.a) が (libteceeiffwk.a、libteceeif.a、および libteceeifgw.a) に置換されました。 3. ServerLocation/ServerPort キーワードの代わりに使用できる、.conf ファイル用の TransportListキーワードが新しく用意されました。 注: アダプターのプログラミングについて詳しくは、24 ページの『既存のアダプタ ーのアップグレード』を参照してください。 Java API で作成したアダプター Java API を使用したアダプターの作成についての新しい点は、次のとおりです。 1. パッケージ名が com.tivoli.tec.eif.* から com.tivoli.tec.event_delivery.* に変更され ました。 2. 例外クラス名が EIFExeception から EDException に変更されました。 3. SEND_SUCCESS および SEND_BUFFERED 用の TECAgent クラス定数が除去 されました。新しいリターン・コードは、次のとおりです。 v SEND_FAILURE (-1) 10 Tivoli Event Integration Facility: リファレンス v SEND_FILTERED (0) v nnn (送信されるかバッファーに入れられるバイト数を示す) 4. イベントをフォーマットするときは、スラッシュや等号などの特殊文字を含むス ロット値を単一引用符 (’) で囲む必要があります。スロット値に単一引用符が含 まれている場合は、単一引用符をもう一つ追加する必要があります。 5. Tivoli Event Console Event Integration Facility の jar ファイル名は、Tivoli Event Console 3.8 で eif.jar から evd.jar に名前が変更されました。 6. Tivoli Event Console エージェントのインスタンス生成は、3.7 と 3.8 の場合、 それぞれ次のとおりです。 v theTecAgent=new TECAgent (sr, TECAgent.COMM_NONTME) v theTecAgent=new TECAgent (sr, TECAgent.SENDER_MODE, false) 注: 有効なエージェント・タイプは、SENDER_MODE と RECEIVER_MODE です。COM_NONTME は無効になりました。3 番目のパラメーターはブ ール・タイプで、単方向であることを意味します。これは、管理対象ノー ド上の TME アダプターで使用します。このパラメーターは、sendEvent() への呼び出しで、例外が呼び出し元に戻されるかどうかを指定します。ゼ ロ (0) の値を指定すると、例外が呼び出し元に戻されます。 7. 21 ページの『第 4 章 アダプターの作成』で説明されているように、ライブラ リーとのリンクを行います。 8. ServerLocation/ServerPort キーワードの代わりに使用できる、.conf ファイル用の TransportList キーワードが新しく用意されました。 第 2 章 Tivoli Event Integration Facility のインストール 11 12 Tivoli Event Integration Facility: リファレンス 第 3 章 イベントのトランスポート Tivoli Event Integration Facility では、情報をイベント・サーバーへ送信するため方 法がいくつかあります。アダプターを実行するシステムは、TCP/IP をベースとした プロセス間通信機能を提供しなければなりません。 本章には次のトピックが含まれています。 v イベント送達法 v アプリケーションのイベント受信 v ファイアウォールを介したイベント送信 v システム障害時のイベント送達 イベント送達法 イベントは、プロセス間通信のメカニズムによって送達されます。Tivoli Event Integration Facility を使用してアダプターとアプリケーションの送達方法を指定する には、構成ファイルを変更し、適切なライブラリーにリンクさせます。テスト・イ ベントをコマンド・プロンプトから直接送達するには、コマンド行インターフェー スを使用します (14 ページの『シェル・スクリプトおよびテスト・オプション』を 参照してください)。 接続オプション 接続オプションは、コネクション依存型とコネクションレス型のいずれかです。多 数のイベントを送信する場合は、コネクション依存型のオプションを使用します。 一定の期間内に送信するイベントがほとんどない場合は、コネクションレス型のオ プションを使用してください。 1 つのアダプターを作成し、そのアダプターをコネクション依存型とコネクション レス型の両方の方式で使用することができます。構成ファイルを変更することで、 いずれかの送達方式を指定できます。 接続オプションのデフォルト設定は、コネクションレス型です。イベントの送達を コネクション依存型にするには、構成ファイルで ConnectionMode=CO と指定しま す。コネクション依存型の方式は、イベント・サーバーへのチャネルをオープン状 態に保ちます。これは、アプリケーションにとってクリアであるため、多数のイベ ントを送信する場合にパフォーマンスが向上します。 トランスポート・オプション 接続のトランスポート・オプションは、TME または、非 TMEのいずれかです。 TME 接続では、接続は Tivoli Management Framework によって確立されます。非 TME 接続では、接続は標準的な TCP/IP によって確立されます。 トランスポート・オプションを指定するには、 14 ページの表 1 にリストされている ライブラリーのいずれかを使用します。 © Copyright IBM Corp. 2003 13 表 1. トランスポート・タイプおよび関連するライブラリー トランスポート・ タイプ アダプター・タイプ ライブラリー TME 接続: エンドポイント・アダプター libteceeifgw.a 管理対象ノード・アダプター libteceeiffwk.a 非 TME アダプター libteceeif.a LCF トランスポート TME 接続: TME トランスポート 非 TME 接続 セキュリティーの理由から、できる限り TME モードで実行してください。ライブ ラリーの詳細は、27 ページの『C API で作成したアダプターのリンク』を参照して ください。 シェル・スクリプトおよびテスト・オプション TME および 非 TME 接続を使用してイベントを送信する場合は、CLI コマンドお よび Java クラスが使用可能です。同じ Java クラス (com.tivoli.tec.event_delivery. TECAgent) を TME 接続と非 TME 接続の両方で 使用できます。 wpostzmsg コマンドは、TME 接続に使用します。postzmsg コ マンドは、非 TME 通信に使用します。wpostzmsg コマンドには、Tivoli 管理対 象ノード環境で実行されるコマンドと、Tivoli エンドポイント環境で実行されるコ マンドの 2 つがあります。必ずご使用の環境に適合する wpostzmsg コマンドを 使用してください。 通知イベントは、次の事柄に適しています。 v シェル・スクリプトを使用したアダプターの開発 v 次の作業を行った後のテスト – 新規イベント・グループの作成および割り当て – ルールの編集 – サーバーがイベントを処理する方法におけるその他の変更 v 新規アダプターのインストール後のイベント送達問題のトラブルシューティング アドミニストレーターまたは root 以外のユーザー ID を使用している場合は、 BufEvtPath キーワード (およびキーワードを指定しない場合のデフォルト値) で指 定されるファイルを作成するための適切な許可を持っていることを確認してくださ い。 IBM Tivoli Enterprise Console TME New Installations CD の EIFSDK ディレクトリ ーの中で、次のコマンドが対応するディレクトリーに入っています。 Managed Node wpostzmsg: $BINDIR/bin Endpoint wpostzmsg: $LCF_BINDIR/../bin postzmsg: $BINDIR/bin and $LCF_BINDIR/../bin TECAgent: $BINDIR/../generic_unix/TME/TEC and $LCF_BINDER/../../generic_unix/TME/TEC wpostzmsg コマンド、postzmsg コマンド、および com.tivoli.tec.event_delivery.TECAgent クラスの各構文については、「IBM Tivoli Enterprise Console コマンドとタスクのリファレンス」で説明されています。 14 Tivoli Event Integration Facility: リファレンス アプリケーションのイベント受信 Tivoli Event Integration Facility を使用すれば、イベントを送信するだけでなく、他 のアプリケーションにイベントを受信 (listen) させることもできます。 Tivoli Event Integration Facility は、イベント・リスナーのインスタンスを 1 つ以上 生成できます。各イベント・リスナーには、1 つ以上のチャネルを割り当てること ができます。これにより、情報を複数のソースから流すことができます。複数のチ ャネルを指定して、1 つのイベント・リスナーでこれらすべてのチャネルを listen することができます。チャネル制御の詳細については、71 ページの『キーワード』 の TransportList キーワードを参照してください。 ポーリングのメカニズムを使用して、アプリケーションは、API の get メソッドを 使用することで、イベントを同期的に取得することができます。非ポーリングのメ カニズムの場合は、アプリケーションはリスナーまたはコールバックを登録して、 イベントを非同期的に受信します。 また、Tivoli Event Integration Facility は、イベントの受信にキャッシュを使用しま す。アプリケーションがリスナーを使用している場合、Tivoli Event Integration Facility はリスナーもキャッシュに登録します。そして、アプリケーションに通知し て、アプリケーションのリスナーにイベントを渡します。アプリケーションがリス ナーを使用していない場合は、アプリケーションは次のイベントの検索を要求しな ければなりません。 キャッシュの詳細については、 16 ページの『キャッシュの活動化』および 71 ペ ージの『キーワード』を参照してください。 以下は、アプリケーションがソケットを使用してイベントを受信できるようにする 構成ファイルの例です。 BufferEvents=YES BufEvtPath=/tmp/eif_socket_recv.cache TransportList=t1 t1Type=SOCKET t1Channels=t_ t_ServerLocation=myserver.com t_Port=5151 ファイアウォールを介したイベント送信 ご使用の環境や、組織の制約によりファイアウォールによるセキュリティーが必要 な場合、イベントをファイアウォールを越えて送信させることができます。 ファイアウォールを越えてイベントを送信させる場合、Tivoli Management Framework Firewall Security Toolbox を使用してください。これは TME アダプター および 非 TME アダプターからイベントを収集し、プロキシーを使用してファイア ウォールを越えてイベントを送信します。 Tivoli Management Framework の Firewall Security Toolbox とその資料の入手方法については、カスタマー・サポート にお問い合わせください。 非 Tivoli 環境でファイアウォールを越えてイベント送信を行う場合は、アダプター に指定されたポートで任意の TCP/IP 接続を許可するように、ファイアウォールを 第 3 章 イベントのトランスポート 15 構成してください。アダプターをホスティングするコンピューター・システムから のインバウンド通信をファイアウォールが、許可するようにしてください。 ServerPort キーワードの情報は、71 ページの『キーワード』を参照してくださ い。 システム障害時のイベント送達 システム障害が発生してもイベントを必ず送達できるように、Tivoli Event Integration Facility は、アダプターまたはイベントを受信するアプリケーションに対 してキャッシュを提供します。このリポジトリーはイベントを格納し、イベント送 達後にキャッシュからそのイベントを除去します。従って、Tivoli Event Integration Facility により同一のイベントが複数回送達されることはありません。 次のステップに従い、イベント送達が確実に行われる環境を構成してください。 1. キャッシュを活動化する。詳細は、『キャッシュの活動化』を参照してくださ い。 2. イベントを送達する代替サーバーを指定する。詳細は、 17 ページの『イベント を送達するバックアップ・サーバーの構成』を参照してください。 また、単にサーバーのリストを指定することで、送達の際の障害発生を回避するこ ともできます。あるサーバーで障害が発生した場合は、バックアップ・サーバーの うちの 1 つが代わりにイベントを送達します。17 ページの『イベントを送達する バックアップ・サーバーの構成』を参照してください。 キャッシュの活動化 デフォルトで、キャッシュはイベントを格納します。キャッシュの構成は、構成フ ァイルのキーワードで制御します。 表 2. キャッシュ構成用のキーワード キャッシュの構成 キーワード キャッシュの活動化 BufferEvents イベント送信のレート BufferFlushRate MaxPacketSize キャッシュのサイズ BufEvtMaxSize 複数の方法でキャッシュを構成することができます。 v イベントをメモリーのみに格納する場合は、BufferEvents キーワードを指定す る。 v バッファー内のイベントを永続ファイルに保管する場合は、BufferEvents キー ワードを YES に設定する。BufEvtPath キーワードには永続ファイルの位置を指 定する。 2 つ目の構成にすると、システム障害時にイベントが失われることはありません。 次の例は、構成ファイルの一部であり、キャッシュのキーワードの使用を示してい ます。 16 Tivoli Event Integration Facility: リファレンス BufferEvents=YES BufEvtPath=./buffer MaxPacketSize=130 BufferFlushRate=96 ConnectionMode=CO イベント・サーバーへの接続に失敗すると、イベントはキャッシュ内で待機しま す。Tivoli Event Integration Facility は、各バックアップ・サーバーへの再接続を順 番に試みます。バックアップ・サーバーへの再接続の試みがすべて失敗した場合、 API は接続が確立されるまでイベントをキャッシュに入れられます。バックアッ プ・サーバーについての詳細は、『イベントを送達するバックアップ・サーバーの 構成』を参照してください。 リカバリー機能を使用可能にした場合、パフォーマンスと信頼性のどちらに重点を おくかを考慮することが重要です。環境によっては、キャッシュを使用すると、構 成に応じてパフォーマンスが低下することがあります。この場合、BufferEvents キ ーワードを NO に設定することで、イベントのキャッシュをバイパスすることもで きます。 イベントを送達するバックアップ・サーバーの構成 アダプターのバージョンが TME か非 TME によって、バックアップ・サーバーの 指定方法は異なります。TME アダプターの場合、トランスポート・チャネルを Tivoli 管理リージョン・サーバーに指定し、オプションでリージョン名を指定しま す。非 TME アダプターの場合は、トランスポート・チャネルとしてサーバー名と ポート番号だけを指定します。非 TME アダプターの場合、イベントの送達に TCP ソケットを使用する構成になります。 また、TME アダプターの場合は、各種のチャネルを使用してサーバーへの代替パス を作成することもできます。そのため、TME 接続のほかに、チャネルとしてサーバ ー名とポート番号を指定し、TCP ソケットを使用してイベントを送達することもで きます。同じ構成ファイル内で TME と LCF の両方のトランスポート・タイプを 使用しないでください。 イベント・サーバーへの 1 次接続として TME トランスポート・タイプを使用して いる場合は、バックアップ接続には次のいずれかのトランスポート・タイプを指定 します。 v TME v SOCKET 例えば、イベント・サーバーを使用できないので、1 次 TME トランスポートに指 定したチャネルも使用できません。その場合は、別の TME トランスポートが、別 の Tivoli 管理リージョンで実行されている他のイベント・サーバーとの接続を確立 することができます。 イベント・サーバーへの 1 次接続として LCF トランスポート・タイプを使用して いる場合、バックアップ接続として有効なタイプは SOCKET トランスポート・タ イプだけです。エンドポイント・アダプターは、エンドポイントのインストールと 構成に基づいてすでに接続を事前設定済みなので、追加 LCF トランスポート・タ イプを指定する必要はありません。同じ理由で、LCF トランスポート・タイプの場 合は複数のチャネルを指定する必要はありません。エンドポイントからイベント・ サーバーへのイベントの転送方法の詳細については、「IBM Tivoli Enterprise 第 3 章 イベントのトランスポート 17 Console アダプター・ガイド」を参照してください。LCF トランスポート・タイプ の場合は、ゲートウェイ構成ファイルに ServerLocation キーワードと ServerPort キーワードを指定することで、イベント・サーバーに対するゲートウェ イのバックアップ接続を作成できます。 バックアップ・サーバーを構成するには、構成ファイルを次のように変更します。 1. バックアップ・サーバーに対して確立する接続名を作成する。TransportList キ ーワードを使用して、このリストを作成してください。 2. このリスト内の各項目ごとに、TME、LCF、または SOCKET 接続を指定する。 これには、Type キーワードを使用してください。 3. 必要に応じて、ServerLocation キーワードを使用し、各トランスポート・タイ プごとに代替パスとして複数のチャネルを指定する。 次の C API の例では、トランスポート接続のタイプは 2 つ (TMEタイプの t1 と、SOCKET タイプの t2) です。TME タイプのチャネルは、c1 と c2 で、 SOCKET タイプのチャネルは、c3 と c4 です。TME タイプでは、c1 に Tivoli 管 理リージョン・サーバーの名前を指定し、c2 にもリージョン名を指定します。 SOCKET タイプでは、チャネル c3 に host1 というサーバー名と、 1234 という ポートを指定します。 TransportList=t1,t2 t1Type=TME t1Channels=c1,c2 c1ServerLocation=@EventServer#xyz-region # additional keywords required when running the Java API c1TMEHost=xyz c1TMEUserID=Administrator c1TMEPassword=pwd # end of additional Java API keywords c2ServerLocation=@EventServer#abc-region # additional keywords required when running the Java API c2TMEHost=abc c2TMEUserID=root c2TMEPassword=root_pwd c2TMEPort=94 # end of additional Java API keywords t2Type=SOCKET t2Channels=c3,c4 c3ServerLocation=host1 c3Port=1234 c4ServerLocation=host2 c4Port=5678 注: C API は、Java API キーワードの TMEHost、TMEUserID、 TMEPassword、および TMEPort を無視します。 portmapper キーワードの使用 portmapper チャネルのキーワードを使用することで、次のことが可能になります。 v 受信側アプリケーションは、さまざまな portmapper プログラム名で複数のポート を登録できる。 v 送信側アプリケーションは、これらの登録された名前にアクセスできる。 channel_namePortMapper キーワードを YES に設定すると、指定したポートが受信 側アプリケーションの portmapper に強制的に登録されます。そのため、送信側コー 18 Tivoli Event Integration Facility: リファレンス ドの適正なポートを取得する際には、指定したポートを無視して portmapper を優先 します。API は、channel_namePortMapper のその他の値をすべて無視します。 channel_namePortMapperName、channel_namePortMapperNumber、および channel_namePortMapperVersion の各キーワードのデフォルト値は、イベント・サ ーバーで使用される値です。これらのキーワードが送信側アプリケーションの構成 ファイルで指定されていない場合に、portmapper が要求されると、イベント・サー バーへの接続が試みられます。受信側アプリケーションで、ポートが登録されるの は、ポートがゼロ (0) に設定されている場合だけです。この場合は、デフォルト値 が使用されます。 ポートがゼロ (0) の場合、Tivoli Event Integration Facility は、 channel_namePortMapperName、channel_namePortMapperNumber、および channel_namePortMapperVersion の各キーワードを使用します。これらの値のいず れかが指定されていない場合は、そのデフォルト値が使用されます。 ポートがゼロより大きい値に設定されている場合は、channel_namePortMapper キ ーワードが YES に設定されている場合のみ portmapper が使用されます。この場 合、指定されたポートは送信側では無視されますが、受信側では使用されます。 channel_namePortMapper キーワードでは、portmapper に使用するポートを指定す ることができます。ポートがゼロ (0) に設定されている場合は、使用可能な任意の ポートが選択されます。受信側で portmapper を使用して、送信側アプリケーション はその portmapper を介して受信側に接続できるようにすることをお勧めします。 portmapper キーワードの詳細については、 71 ページの『付録 B. 構成ファイルで 使用するキーワード』を参照してください。 C API で作成された受信アプリケーションの構成 C API で作成された受信アプリケーションは、構成ファイル内の次のキーワードを 使って構成できます。 ActiveConnections=nn 受信プロセスが処理する必要のあるアクティブ接続数。可能な接続数は 2 から 10000 です。最小値より小さい数を指定すると、値は最小値に設定さ れます。ただし、ゼロを指定すると、接続数は無制限になります。最大値よ り大きい数を指定すると、値は最大値に設定されます。値を指定しないと、 デフォルト値の 128 になります。 C API のみに適用されます。 ActiveConnectionsSafety=nn ActiveConnections のパーセント。実際の接続数がこの数値まで削減され ない限り、接続の処理は再開されません。これは限界値です。 ActiveConnections を設定すると、C Event Integration Facility の受信プロ セスによって処理されるアクティブ接続数が制限されます。例えば、 ActiveConnections が 20 で ActiveConnectionsSafety が 80 の場合は、接続 数が 20 になると受信プロセスは停止します。パーセントの範囲は 10 から 90 です。新規接続は、アクティブ接続数が 16 (20 の 80%) 以下になると 再開されます。デフォルト値は 80 で、ActiveConnections を指定してある場 第 3 章 イベントのトランスポート 19 合にのみ使用されます。最小値より小さい数を指定すると、値は最小値に設 定されます。最大値より大きい数を指定すると、値は最大値に設定されま す。 C API のみに適用されます。 ConnectionsQueued=nn 受信プロセスが処理するキューに入れられた接続数の概数。サーバー・ソケ ットは、まだ受信プロセスに受け入れられていない接続をキューに入れま す。この制限を超えると、接続試行は失敗します。このオプションを使用し て、キューに入れることのできる接続数を制限します。キューに入れられる 実際の接続数は、ConnectionsQueued の値とわずかに異なります。デフ ォルトは 1000 です。値の範囲は 1 から 1000 です。最小値より小さい数 を指定すると、値は最小値に設定されます。最大値より大きい数を指定する と、値は最大値に設定されます。 C API のみに適用されます。 20 Tivoli Event Integration Facility: リファレンス 第 4 章 アダプターの作成 この章では、アダプターの作成方法を説明します。基本的なタスクは次のとおりで す。 1. モニターするイベントを識別する。22 ページを参照してください。 2. イベント・ソースを定義する。23 ページを参照してください。 3. イベント・クラスを定義する。23 ページを参照してください。 4. イベント送達の方法を選択する。23 ページを参照してください。 5. イベント・アダプターのプログラムを作成する。24 ページを参照してくださ い。 6. イベント・アダプターのインストール、構成、テストを行う。29 ページを参照 してください。 アダプターには、関連するファイルが複数あります。ヘッダー・ファイルや Java パ ッケージのほかに、アダプターに関連するファイルとしては次のようなものがあり ます。 .conf ファイル 構成ファイルは、イベントのフィルター操作とバッファリングを制御しま す。通信の制御も行います。このファイルは、アダプターおよび IBM Tivoli Enterprise Console ゲートウェイと一緒に配置されます。 .baroc ファイル Basic Recorder of Objects in C (BAROC) ファイルは、イベントがイベン ト・クラス定義に基づいた有効な形式になっているかどうかを検証します。 このファイルはイベント・サーバー上に配置されます。 .rls ファイル ルール・ファイルは、イベントのフィルター操作、タスクやその他のアクシ ョンにカスタム・ルールを適用します。ルール・ファイルの中には、デフォ ルトでイベント・サーバー上にインストールされるものもあります。必要に 応じて他のルールを指定することができます。 .xml ファイル XML ファイルでは、状態相関の状態マシンを定義します。このファイル は、アダプターに配置されますが、IBM Tivoli Enterprise Console ゲートウ ェイ上に存在してもかまいません。このファイルはオプションです。 © Copyright IBM Corp. 2003 21 図 3 に、アダプター・ファイルとイベント処理の関係を示します。 図 3. イベント処理におけるアダプター・ファイルの役割 アダプター・ファイルの詳細は、「IBM Tivoli Enterprise Console アダプター・ガイ ド」を参照してください。 モニターするイベントを識別する アダプターを作成する前に、モニターする必要があるイベントのタイプを指定しな ければなりません。次の点を確認して、重要なイベントを識別する際に役立ててく ださい。 v IT リソースのユーザー v サービス・レベル合意 v 故障時および実行時のネットワーク要件 v アプリケーションとネットワークの依存関係 (データベース、e-commerce の Web サイト、広域ネットワークなど) v パフォーマンス要件 v 重要なサーバーとネットワーク・リソース 重要なイベントのリストを作成した後は、このリストをソースの定義に使用しま す。 22 Tivoli Event Integration Facility: リファレンス ソースの定義 イベント情報の取り出しに使用する方法は、リソースによって異なります。新規ア ダプターを作成する場合は、モニター対象リソースの情報を収集する方法を指定し なければなりません。また、イベント・サーバーに送信する情報を識別する方法も 指定しなければなりません。例えば、必要なリソースの情報は、システム・ログ・ ファイルから収集できます。この情報は、イベント・サーバーに送信する前に、フ ォーマットし、必要に応じてフィルター操作する必要があります。 イベント・クラスの定義 アダプターの作成に関連する作業の大半は、モニターする情報のイベント・クラス を指定することです。イベントは、できる限り具体的に定義する必要があります。 そうすると、イベントを処理するルールを記述する際に役立ちます。 IBM Tivoli Enterprise Console は、一連のデフォルトのイベント・クラスを提供して います。デフォルト・クラスからイベント・サブクラスを派生させます。デフォル トのクラス階層のリストについては、「IBM Tivoli Enterprise Console アダプター・ ガイド」を参照してください。イベント・クラスの名前は固有にする必要がありま す。 イベント・ストリングは、アダプターに依存します。属性と値のペアの数に制限は ありません。ただし、このペアは BAROC ファイルで定義しておかなければなりま せん。次に示すコードの一部はイベント・ストリングの集合です。 "MY_EVENT_CLASS; source=_ANY_DEFINED_SOURCE; application=myAppl1; origin=9.179.1.234; msg=Hello World; END¥n¥001" このコードでは、MY_EVENT_CLASS は BAROC ファイルで定義されていなければな りません。source と application は、アプリケーション固有のものです。 イベント・クラスと BAROC ファイルについての詳細は、「IBM Tivoli Enterprise Console ルール開発者ガイド」を参照してください。 イベント送達法 アダプターを作成する際に、アダプターがイベント・サーバーとの通信時に使用す るイベント送達方法も決定する必要があります。オプションは次のとおりです。 v TME または非 TME v コネクション依存型またはコネクションレス型 送達方法と指定方法についての詳細は、 13 ページの『イベント送達法』を参照し てください。 第 4 章 アダプターの作成 23 アダプターのプログラミング アダプターをプログラミングする手順は、次のとおりです。 v インターフェース、および構成ファイルの推奨設定をインプリメントする。設定 について詳細は、 71 ページの『キーワード』を参照してください。 v 属性値を定義する場所を決定する。構成ファイルまたはアダプターのコードのい ずれかです。 v アダプターをコンパイルする。 v アダプターをリンクする。 TME アダプターと非 TME アダプターの両方のサンプル・プログラムを作成し、ア ダプターの作成環境が正しくセットアップされていることを確認します。非 TME アダプターを配置する予定がない場合でも、コードが正しく動作し、実稼働環境に 移行できるようになるまで、非 TME アダプターとしてのテスト作成を行ってくだ さい。デバッグは、非 TME アダプターの方が簡単です。非 TME アダプターと TME アダプターの唯一の違いはライブラリーです (コードは変わりません)。非 TME アダプターが正しく動作したら、TME ライブラリーに切り替えて、TME ア ダプターを作成します。また、構成ファイル内で ServerLocation キーワードを変 更します。新規の TME アダプターで発生する問題は一般に Tivoli の許可問題で す。 Tivoli Event Integration Facility では、イベント・サーバーとの通信に C API と Java API を提供しています。これらの API は 表 3 にリストされたタスクを実行し ます。 表 3. API とその動作 タスク Java API C API 構成ファイルへのアクセスと キーワード・データの読み取 り TECAgent getConfigVal tec_agent_init tec_agent_getenv イベント・サーバーとの通信 の確立およびクローズ TECAgent disconnect tec_create_handle tec_destroy_handle イベントの送受信 sendEvent receiveEvent registerListener onMessage tec_put_event tec_get_event tec_register_callback tec_event_callback 次に、関数とメソッドを使用して、構成ファイル、通信、およびデータ転送を処理 する方法を説明します。API の構文と例については、45 ページの『付録 A. アプリ ケーション・プログラミング・インターフェース』を参照してください。 注: 非 TME アダプターおよびエンドポイント・アダプターの作成は HPUX ではサ ポートされていませんが、管理対象ノード・アダプターの作成は HPUX でサポ ートされています。 既存のアダプターのアップグレード Tivoli Enterprise Console の 3.7.1 以前のバージョンを 3.8 以降のバージョンに変換 する場合は、ライブラリー変換名の表の情報を基にしてプログラムをリンクしま 24 Tivoli Event Integration Facility: リファレンス す。 表 4. ライブラリー変換名 3.7.1 以前のバージョン 3.8 以降のバージョン 関数 libteceif.a libteceeif.a 非 TME アダプター libtec.a libteceeiffwk.a 管理対象ノード・アダプター libtecgw.a libteceeifgw.a エンドポイント・アダプター Event Integration Facility ツールキットには一連の 3 つのスタブ・ライブラリーが準 備されているので、アダプターの移植に役立てることができます。これらのライブ ラリーをコードとリンクして、Event Integration Facility を使用して作成されたアダ プターが、Enhanced Event Integration Facility で使用できなくなった古い関数を現在 使用しているかどうかを判別できます。スタブ・ライブラリー名は、次のとおりで す。 v libtecceeif_stub.a (非 TME アダプターの場合) v libteceeiffwk_stub.a (管理対象ノード・アダプターの場合) v libteceeifgw_stub.a (エンドポイント・アダプターの場合) Event Integration Facility アダプター・コードをスタブ・ライブラリーに再リンクし ます。undefined symbol エラー・メッセージを受け取る場合は、これまで使用し ていた Event Integration Facility 関数はサポートされていません。サポートされる API のリストについては、45 ページの『付録 A. アプリケーション・プログラミン グ・インターフェース』を参照してください。コードを更新してコンパイルし、も う一度リンクしてください。アダプターを移植すると、追加のライブラリーをリン クすることが必要となる場合があります。プログラムを作成するために必要なライ ブラリーについては、27 ページの『C API で作成したアダプターのリンク』を参照 してください。 注: 非 TME アダプターおよびエンドポイント・アダプターの作成は HPUX ではサ ポートされていませんが、管理対象ノード・アダプターの作成は HPUX でサポ ートされています。 構成ファイル API API が行う最初のタスクは、構成ファイルの情報にアクセスすることです。 tec_agent_getenv 関数または getConfigVal メソッドを使用可能にするには、まず初 期化 API (tec_agent_init または TECAgent) を呼び出します。初期化 API は、後続 のすべての関数またはメソッドで使用する構成情報を読み込みます。 詳しくは、71 ページの『キーワード』を参照してください。 通信 API 通信 API は、イベント・サーバーと通信するメカニズムを提供します。ハンドルは イベントの送信時に指定されます。 トランスポートのメカニズムの種類にかかわらず、サーバーとの通信を確立するに は tec_create_handle または TECAgent への単一の呼び出しを行います。次のコード 例では、TECAgent のインスタンスを作成し、パラメーターとして、構成ファイ ル、送達モード、およびエラー報告メカニズムを渡します。 第 4 章 アダプターの作成 25 public TECAgent(reader configStream, int deliveryMode, int oneway) イベント・サーバーとの通信を終了する場合は、tec_destroy_handle 関数または disconnect メソッドを呼び出します。この呼び出しは、オプションです。アダプター が終了するときに、チャネルは自動的に切断されます。 データ転送 API イベント・サーバーへのデータ転送は、イベント・ストリングを集めることで行わ れます。tec_put_event 関数または sendEvent メソッドにより、イベント・サーバ ーへストリングが送信されます。 アダプター・コードの例 C および Java 言語用のアダプター・コードの例は、IBM Tivoli Enterprise Console TME New Installations CD の EIFSDK ディレクトリーに入っています。 Windows の特別な考慮事項 Microsoft Windows プラットフォーム用に作成されたアダプターでは、Winsock を 初期化してから tec_create_handle を呼び出す必要があります。 次に示すのは、その例です。 #ifdef WIN32 #include <winsock.h> WSADATA wsaData; if ((rc = WSAStartup(MAKEWORD(1, 1), &wsaData)) != 0) { printf("error %d starting winsock.dll¥n", rc); exit(1); } else printf("Winsock initialized successfully...¥n"); #endif アプリケーションは、Winsock のどのバージョンが使用されているかにかかわりな く、WSAStartup 関数を呼び出して Winsock を初期化する必要があります。 WSAStartup は、Winsock2.dll と、Winsock インプリメンテーションの詳細が含ま れている WSADATA 構造を初期化します。アプリケーションまたは DLL が Winsock2.dll を使い終えたら、アプリケーション用のリソースを解放するために、 WSACleanup を呼び出して Ws2.dll を使用可能にする必要があります。 WSAStartup を呼び出すたびに、WSACleanup を呼び出す必要があります。 成功すると、WSAStartup は 0 を戻します。WSAStartup が戻った後は、アプリ ケーションは WSAGETLastError を呼び出してエラー値を判別することはできませ ん。 アダプターのコンパイル アダプターは、C または Java API を使用して作成できます。Event Integration Facility を使用して作成されたアダプターは、スレッド・セーフではないため、マル チスレッド対応にすることはできません。 26 Tivoli Event Integration Facility: リファレンス C API で作成したアダプターのコンパイル Event Integration Facility C API を使用するソース・ファイルをコンパイルするに は、tec_eeif.h ヘッダー・ファイルを組み込む必要があります。Windows 上でサンプ ル・アダプターをコンパイルする場合は、コンパイル時のエラーを避けるために PC フラグをコンパイラー引き数として指定する必要があります。 サンプル・アダプターを Windows 上でリンクする場合は、 NODEFAULTLIB:LIBC.LIB オプションを使用してアダプターをリンクする必要があ ります。このようにすると、リンカーはデフォルト・ライブラリーとの競合を避け ることができます。 wsock32.lib ファイルが複数ある場合は、Windows アダプターをコンパイルする際 に、FORCE:MULTIPLE オプションを指定しなければなりません。これによって、 コンパイラーは 1 つのファイルのみを使用するようになり、コンパイル時エラーが なくなります。FORCE:MULTIPLE オプションと同時に、INCREMENTAL:NO オプ ションも使用する必要があります。 次の例は、これらのオプションを使用して、サンプル・アダプターをコンパイルお よびリンクする方法を示しています。 unsecure: adapter.c ¥ $ (CC) -nologo -Ze -W3 -MD -DUNSECURE -D_WIN32 -DWIN32 -DPC ¥ -Ic:/Tivoli/include/w32-ix86/TME/TEC -Id:/msdev/include -FosampleAdapter.obj -c sampleAdapter.c ¥ slashes link -subsystem:console -L. -Ld:/msdev/lib -Lc:/Tivoli/lib/w32-ix86 ¥ -out:sampleAdapter.exe sampleAdapter.obj msvcrt.lib libteceeif.a ¥ libsunrpc.a -NODEFAULTLIB:LIBC.LIB -INCREMENTAL:NO -FORCE:MULTIPLE wsock32.lib Java API で作成したアダプターのコンパイル Event Integration Facility Java API を使用する Java ソースをコンパイルするには、 evd.jar をソース・ファイルにインポートします。また、evd.jar および log.jar がコ ンパイル・クラス・パスで使用可能になっていることを確認してください。 C API で作成したアダプターのリンク 次の表に、C API で作成したエンドポイント・アダプター (表 5)、管理対象ノー ド・アダプター ( 28 ページの表 6)、および非 TME アダプター ( 28 ページの表 7) をリンクするのに必要なライブラリーをリストします。 表 5. Event Integration Facility C API で作成したエンドポイント・アダプターに必要なライ ブラリー 必要なライブラリー 提供元 注® libteceeifgw.a Tivoli Event Integration Facility なし。 libcpl.a Tivoli Management Framework これらのライブラリーを設定するに は、Tivoli Application Development Environment も必要です。 libdl.a オペレーティング・システ ム Windows および HPUX 以外。 libpthreads.a オペレーティング・システ ム AIX® 上のアダプターの場合。 libdes.a libmrt.a 第 4 章 アダプターの作成 27 表 5. Event Integration Facility C API で作成したエンドポイント・アダプターに必要なライ ブラリー (続き) 必要なライブラリー 提供元 注® libpthread.a オペレーティング・システ ム Linux 上のアダプターの場合。 libnsl.a オペレーティング・システ ム Solaris オペレーティング環境上のア ダプターの場合。 libsunrpc.a Tivoli Event Integration Facility Windows 上のアダプターの場合。 標準 C ライブラリー オペレーティング・システ ム またはアダプターに必要なその他の ライブラリー。 libsocket.a libthread.a 表 6. Event Integration Facility C API で作成した管理対象ノード・アダプターに必要なライ ブラリー 必要なライブラリー 提供元 注 libteceeiffwk.a Tivoli Event Integration Facility なし。 libas.a Tivoli Management Framework これらのライブラリーを設定す るには、Tivoli Application Development Environment も必要 です。 libdl.a オペレーティング・システム Windows および HPUX 以外。 libpthreads.a オペレーティング・システム AIX 上のアダプターの場合。 libpthread.a オペレーティング・システム Linux 上のアダプターの場合。 libnsl.a オペレーティング・システム Solaris オペレーティング環境上 のアダプターの場合。 libsunrpc.a Tivoli Event Integration Facility Windows 上のアダプターの場 合。 標準 C ライブラリー オペレーティング・システム またはアダプターに必要なその 他のライブラリー。 libms.a librim.a libtas.a libthreads.a libtmf.a libui.a libsocket.a libthread.a 表 7. Event Integration Facility C API で作成した非 TME アダプター用のライブラリー 28 ライブラリー 提供元 注 libteceeif.a Tivoli Event Integration Facility なし。 Tivoli Event Integration Facility: リファレンス 表 7. Event Integration Facility C API で作成した非 TME アダプター用のライブラリー (続 き) ライブラリー 提供元 注 libdl.a オペレーティング・システ ム Windows および HPUX 以 外。 libpthreads.a オペレーティング・システ ム AIX 上のアダプターの場 合。 libpthread.a オペレーティング・システ ム Linux 上のアダプターの場 合。 libnsl.a オペレーティング・システ ム Solaris オペレーティング環 境上のアダプターの場合。 libsunrpc.a Tivoli Event Integration Facility Windows 上のアダプターの 場合。 標準 C ライブラリー オペレーティング・システ ム またはアダプターに必要な その他のライブラリー。 libsocket.a libthread.a アダプターのインストール、構成、およびテスト アダプターに必要なファイルをすべてアセンブルした後、アダプターのインストー ル、構成、およびテストを行います。アダプターを実行する前に、アダプターに適 した環境を確立しておく必要があります。 TME および非 TME の 2 つの主な環境 があります。TME 環境は、さらに管理対象ノード環境とエンドポイント環境に分割 できます。管理対象ノード環境用に作成されたアダプターは、setup_env.sh また は setup_env.cmd スクリプトを実行して作成された TME 管理対象ノード環境で 実行する必要があります。エンドポイント環境用に作成されたアダプターは、 lcf_env.sh または lcf_env.cmd スクリプトを実行して作成されたエンドポイント 環境で実行する必要があります。 管理対象ノード・アダプターは、2 つのトランスポート・タイプ (TME または非 TME) の一方あるいは両方を使用してイベントを送信できます。TME を使用してイ ベントを送信するようにアダプターを構成するには、トランスポート・タイプを TME に設定します。非 TME を使用してイベントを送信するようにアダプターを構 成するには、トランスポート・タイプを SOCKET に設定します。管理対象ノー ド・アダプターは、エンドポイント通信を使用して Tivoli Enterprise Console ゲー トウェイに送信できません。 エンドポイント・アダプターは、2 つのトランスポート・タイプ (TME または非 TME) の一方あるいは両方を使用してイベントを送信できます。TME を使用して送 信するようにアダプターを構成するには、トランスポート・タイプを LCF に設定 します。このようにすると、イベントは TME ゲートウェイを介して Tivoli Enterprise Console ゲートウェイに送信されます。非 TME を使用してイベントを送 信するようにアダプターを構成するには、トランスポート・タイプを SOCKET に 設定します。エンドポイント・アダプターは、TME 管理対象ノード通信を使用して Tivoli Enterprise Console Server に直接送信できません。 第 4 章 アダプターの作成 29 非 TME アダプターは、非 TME トランスポートを使用してイベントを送信できま す。非 TME を使用してイベントを送信するようにアダプターを構成するには、ト ランスポート・タイプを SOCKET に設定します。非 TME アダプターは、TME 管理対象ノード通信を使用して Tivoli Enterprise Console Server に直接送信できま せん。また、エンドポイント通信を使用して Tivoli Enterprise Console ゲートウェ イに送信できません。 アダプターをインストールしたら、アダプターに他の機能を追加することもできま す。例えば、アダプターを変更して、次の機能を使用可能にできます。 v イベントのフィルター操作。 33 ページの『構成ファイルによるフィルター操作』 および 35 ページの『状態相関によるフィルター操作』を参照してください。 v 障害発生時およびリカバリー時のためのイベントのキャッシュ。16 ページの『シ ステム障害時のイベント送達』を参照してください。 v ルール。「IBM Tivoli Enterprise Console ルール開発者ガイド」を参照してくださ い。 新規イベント・アダプターを実稼働環境にインストールする前に、最低でも次の機 能をテストしておいてください。 v アダプターが正常にインストールされるか。 v イベントが適切なイベント・クラスにマップされるか。 v イベントがコンソールに着信し、表示されるか (該当する場合)。 v イベントが正しくフィルター操作されるか。 Event Integration Facility Java API で作成されたアダプターの実行 Event Integration Facility Java API は、他のクラスに依存しながらタスクを完了しま す。setup_env または lcf_env コマンドを使用して適切な環境を設定するとともに、 Java 実行可能ファイルへのパスを、ライブラリー・パス環境変数に追加する必要が あります。 Event Integration Facility Java API で作成したアダプターを実行するのに必要な Java jar ファイルおよびライブラリーを次の表に示します。 Java Event Integration Facility API を使用するアダプターを実行するには、表 8 の 必要なライブラリーを CLASSPATH 環境変数に追加する必要があります。 表 8. Event Integration Facility Java API で作成したアダプターに必要なライブラリー 必要なライブラリー 提供元 注 evd.jar Tivoli Event Integration Facility なし。 Tivoli Event Integration Facility 管理対象ノード・アダ プターの場合のみ。 Tivoli Event Integration Facility 状態相関の場合のみ。 log.jar jcf.jar ibmjsse.jar jsafe.zip xerces-3.2.1.jar zce.jar 30 Tivoli Event Integration Facility: リファレンス エンドポイント・アダプターの場合は、オペレーティング・システムに必要な表 9 に示されているディレクトリーをライブラリー・パスに追加する必要があります。 表 9. Event Integration Facility Java API で作成したエンドポイント・アダプター用のライブ ラリー・パスおよびディレクトリー オペレーティング・システムと ライブラリー 環境変数 ディレクトリー AIX: libteclcf.a LIBPATH <eifsdk>/lib/aix4-r1 HP-UX: libteclcf.sl SHLIB_PATH <eifsdk>/lib//hpux10 Linux: libteclcf.so LD_LIBRARY_PATH <eifsdk>/lib/linux-ix86 — または — <eifsdk>/lib/linux-s390 Solaris オペレーティング環境: libteclcf.so LD_LIBRARY_PATHJ <eifsdk>/lib/solaris2 Windows: teclcf.dll PATH <eifsdk>¥lib¥w32-ix86¥eifdll 注: <eifsdk> は IBM Tivoli Enterprise Console TME New Installations CD または自 分でこれを配置したディレクトリーにあります。 国際化対応環境に合わせたアダプターの構成 イベント・サーバーは、 UTF-8 エンコード方式あるいはイベント・サーバーのホス トのエンコード方式のどちらの方式でもイベントを受信できます。イベント・サー バーはイベント・データ内の特定のフラグを評価して、自動的にイベントのエンコ ード方式のタイプ (UTF-8 または非 UTF-8) を判別します。 UTF-8 ではなくイベント・サーバー・ホストのエンコード方式でイベントを送信す る場合は、Pre37Server キーワードおよび Pre37ServerEncoding キーワードを指 定します。 2 バイト文字セット言語の場合は、NO_UTF8_CONVERSION キーワ ードを使用して、更なる UTF-8 変換が起こらないようにしてください。詳細は、71 ページの『キーワード』を参照してください。 非 TME アダプターの場合は、UTF-8 エンコード方式でイベントをイベント・サー バーに送信してください。 イベントの送信先が Tivoli Enterprise Console 3.7 より前のバージョンが実行されて いるイベント・サーバー・ホストの場合、ローカリゼーション・ディレクトリー内 のフォーマット・ファイルは英語のままでなければなりません。 第 4 章 アダプターの作成 31 32 Tivoli Event Integration Facility: リファレンス 第 5 章 ソースにおけるイベントのフィルター操作 イベント管理に関連する問題の 1 つに、デバイスで生成される大量のイベントの処 理があります。例えば、主要なパフォーマンスのしきい値 (PING を戻すまでの時間 など) を下回ったルーターがあるとします。そのルーターが、30 秒ごとにイベント を生成するように設定されていると、オペレーターが原因となる問題を検出して対 処するまでイベントは生成し続けられます。その間、同じイベントが数多く作成さ れるとイベント・コンソールが満杯になり、問題解決プロセスに影響が及びます。 Tivoli Event Integration Facility は、着信したイベント情報を分析、要約、および配 布するための 2 つの強力な方法、つまり構成ファイルによるフィルター操作 と状 態相関 を用いてこの問題を解決します。アダプターおよびゲートウェイで構成ファ イルを使用することで、イベント・クラスに一致するかどうかという基準でフィル ター操作を行うことができます。状態相関では、イベントの分析とフィルター操作 をイベントのソースに近い部分で前もって行うことができるため、イベントが不必 要に高位層にまで流れることを避けるのに役立ちます。さらに、イベント・サーバ ーに送信されるイベント数を減らすための高度なフィルター操作ルールも適用しま す。構成ファイルと状態相関を適切に定義すれば、各オペレーターがモニターする イベントの数を最小限に抑えて、イベント管理を最適化することができます。 Event Integration Facility には、アダプター・レベルでイベントをフィルター操作す るための方法として、次の 2 通りの方法が提供されています。 v 構成ファイル: イベント・クラスとのマッチングを基にしたフィルター操作を提 供します。これは、機能という点では単純で限定されたオプションです。 v 状態相関: イベント・ソースにできるだけ近いところで高度なフィルター操作お よび相関を行えるようにするために、アダプター内の Event Integration Facility で状態相関を使用可能にして使用できます。 構成ファイルによるフィルター操作 通常、アダプターは、すべてのイベントをイベント・サーバーに送信します。必要 に応じて Filter キーワードおよび FilterCache キーワードを使用することで、ア ダプターがイベント・サーバーに送信できるまたは送信できないイベントをリスト することができます。同様に、IBM Tivoli Enterprise Console ゲートウェイ上の構成 ファイルを変更してイベントのフィルター操作を行うことができます。 構成ファイルに入れることができるフィルター項目の数に制限はありません。イベ ント・クラスと、オリジン、重大度や、イベント・クラスに対し定義されている属 性と値のペアなどの情報を指定します。 Filter キーワードおよび FilterMode キーワードの指定方法に応じて、フィルター に掛けられたイベントは、イベント・サーバーに送信されるか、または廃棄されま す。 v 特定のイベントをイベント・サーバーに送信する場合: 1. FilterMode を IN に設定する。 © Copyright IBM Corp. 2003 33 2. 送信する特定のイベントに一致する Filter ステートメントを作成する。 v 特定のイベントを廃棄する場合: 1. FilterMode を OUT (デフォルト値) に設定する。 2. 廃棄する特定のイベントに一致する Filter ステートメントを作成する。 v すべてのイベントをイベント・サーバーに送信する場合 (デフォルトの動作): 1. FilterMode を OUT に設定する。 2. Filter ステートメントは指定しない。 注: 次のような構成の場合は、すべてのイベントが廃棄されます。 1. FilterMode が IN に設定されている。 2. Filter ステートメントが指定されていない。 フィルター構文については、 71 ページの『付録 B. 構成ファイルで使用するキーワ ード』を参照してください。 システム障害時のイベントのフィルター操作 アダプターがイベント・サーバーまたは IBM Tivoli Enterprise Console ゲートウェ イに接続できない場合、BufferEvents キーワードが YES に設定されていれば、イ ベントをファイルに送信します。キャッシュ・ファイルに送信するイベントは、 FilterCache キーワードを使用することで、イベント・サーバーに送信するイベン トと同じようにフィルターに掛けることができます。 イベント・サーバーが使用できない場合に FilterCache キーワードおよび FilterMode キーワードを使用してイベントをフィルターに掛ける方法を次に説明し ます。 v 特定のイベントをキャッシュに入れる場合: 1. FilterMode を IN に設定する。 2. BufferEvents を YES (デフォルト値) に設定する。 3. キャッシュに入れる特定のイベントに一致する Filter ステートメントおよび FilterCache ステートメントを作成する。 v 特定のイベントを廃棄する場合: 1. FilterMode を OUT に設定する。 2. 廃棄する特定のイベントに一致する Filter ステートメントおよび FilterCache ステートメントを作成する。 v すべてのイベントをキャッシュに入れる場合 (デフォルトの動作): 1. FilterMode を OUT に設定する。 2. BufferEvents を YES に設定する。 3. FilterCache ステートメントを指定しない。 注: 次のような構成の場合は、すべてのイベントが廃棄されます。 1. FilterMode が IN に設定されている。 2. FilterCache ステートメントが指定されていない。 BufferEvents キーワードの使用法の詳細については、 16 ページの『キャッシュの 活動化』を参照してください。 34 Tivoli Event Integration Facility: リファレンス 例 次の例は、2 つのフィルターを表しています。1 番目 のフィルターは、クラスが disk_event のイベントをすべて抑制するものです。2 番目のフィルターは、IP ア ドレス 126.32.2.14 から送信され、クラスが Su_Success のイベントをすべて抑制し ます。 # # Event Filters # Filter:Class=disk_event Filter:Class=Su_Success;origin=126.32.2.14 フィルターの正規表現 フィルター操作ステートメントでは、Tcl 正規表現を使用することもできます。正 規表現の形式は、re:’value_fragment’ です。 注: Tivoli Event Integration Facility では、Tcl 正規表現の構文に例外があります。 Tivoli Event Integration Facility では、円記号 (¥) は、その後に続くリテラル文 字がフィルター操作の対象であることを示すものであって、タブなどの特殊文 字を示すものではありません。例えば、¥t は Tcl ではタブ文字を意味します が、Tivoli Event Integration Facility では t のことです。 次に、正規表現を使用した Filter ステートメントの例を示します。このフィルタ ー・ステートメントでは、クラス名が TEC_ で始まるイベントすべてが一致しま す。 Filter:Class=re:’TEC_.*’ 次に、FilterCache ステートメントを用いて範囲を限定する例を示します。このフィ ルター・ステートメントでは、クラス名が TEC_ で始まるイベントで、重大度が Critical のものすべてが一致します。 FilterCache:Class=re:’TEC_.*’;severity=CRITICAL Tcl 正規表現についての詳細は、Tcl のユーザーズ・ガイドを参照してください。 状態相関によるフィルター操作 状態相関 は、着信イベントの情報をモニターし、その情報をユーザー定義のパター ンに関連付けます。状態相関では、ユーザー定義の状態と比較して着信イベントを 分析し、重複イベントの抑制、イベントしきい値の識別、類似するイベントの収集 やグループ化を行います。 状態相関は、カスタム・アダプターや IBM Tivoli Enterprise Console ゲートウェイ と併用することができます。ゲートウェイと状態相関を併用すれば、複数のアダプ ター間でイベントを相関付けることによりフィルター操作を拡張することができま す。IBM Tivoli Enterprise Console ゲートウェイについて詳しくは、「IBM Tivoli Enterprise Console ユーザーズ・ガイド」を参照してください。 注: 状態相関は、C API で作成した管理対象ノード・アダプターでは利用できませ ん。代わりに、エンドポイント・アダプターまたは非 TME アダプターを使用 してください。 第 5 章 ソースにおけるイベントのフィルター操作 35 状態相関は、類似したイベントを識別し、可能であればそれらの情報をサマリー・ イベント にまとめるので、イベントのトラフィックを最小限に抑えることができま す。サマリーに含めることができないイベントは、単一イベント です。イベント・ サーバーは、単一イベントだけでなく、これらのサマリー・イベントも受信しま す。したがって、イベント・サーバーが各サマリーの個別イベントを余分に受け取 ることはありません。 状態相関のルールを作成する方法については、「IBM Tivoli Enterprise Console ルー ル開発者ガイド」を参照してください。 状態マシンの活動化 状態マシンを活動化する場合は、「IBM Tivoli Enterprise Console ルール開発者ガイ ド」で説明されている情報に基づいてルールを作成しておかなければなりません。 状態マシンを稼働させるには、次の手順を実行します。 1. 構成ファイルで状態相関のキーワードを変更します。次のコードの一部は、適切 なキーワードの使用を示しています。 UseStateCorrelation=YES # for Windows NT only StateCorrelationConfigURL=file:C:¥tmp¥test.xml # for all other INTERPs # StateCorrelationConfigURL=file:///tmp/test.xml 2. アダプターで状態相関を実行するには、XML ファイルおよび DTD ファイルの 両方を、ステップ 1 で指定したパスに配置します。 3. CLASSPATH 環境変数に以下のファイルを追加します。 v zce.jar v log.jar v xerces-3.2.1.jar v evd.jar C API を使用して作成したアダプターの場合は、オペレーティング・システムに 必要な次のディレクトリーをライブラリー・パスに追加してください。 表 10. C API で作成したアダプターのライブラリー・パスとディレクトリー オペレーティング・システムと ライブラリー 環境変数 ディレクトリー AIX: libjvm.a LIBPATH /InstallDir/bin/aix4-r1/TME/TEC/jre/bin/classic HP-UX: libjvm.sl SHLIB_PATH /InstallDir/bin/hpux10/TME/TEC/jre/lib/PA_RISC/classic Linux: libjvm.so LD_LIBRARY_PATH /InstallDir/bin/linux-ix86/TME/TEC/jre/bin/classic /InstallDir/bin/aix4-r1/TME/TEC/jre/bin /InstallDir/bin/hpux10/TME/TEC/jre/lib/PA_RISC/ /InstallDir/bin/linux-ix86/TME/TEC/jre/bin Solaris オペレーティング環境: libjvm.so LD_LIBRARY_PATH /InstallDir/bin/solaris2/TME/TEC/jre/lib/sparc Windows: libjvm.dll PATH ¥InstallDir¥bin¥TME¥TEC¥jre¥bin¥classic 4. アダプターを再始動し (オペレーティング・システムで必要な場合)、状態情報を 初期化します。 36 Tivoli Event Integration Facility: リファレンス 状態マシンが稼働したら、状態相関によりイベントが正しくフィルターに掛けられ ているかどうかを次の方法でテストすることができます。 v イベント・サマリーを生成するルールを作成してある場合は、イベント・サーバ ーがイベント・サマリーを受信していることを確認します。 v イベントを抑制するルールを作成してある場合は、抑制されたイベントがイベン ト・サーバーに到着していないことを確認します。 第 5 章 ソースにおけるイベントのフィルター操作 37 38 Tivoli Event Integration Facility: リファレンス 第 6 章 トラブルシューティング 本章では、Tivoli Event Integration Facility のインストール時および使用時の問題に 対するトラブルシューティングについて説明します。問題が発生したとき、その原 因の判別には、ログとトレース・ユーティリティーが役立ちます。システムが障害 を起こす前に、確実にイベントを送達させるように API を構成できます。また、 API の構成により、イベント送達のパフォーマンスを向上させることもできます。 本章には次のトピックが含まれています。 v メッセージ・ログ v トレース・ログ v パフォーマンスと可用性 v 共通の問題とシナリオ メッセージ・ログ 問題解決には、メッセージの解釈方法と、問題解決のために実行できるアクション について、理解する必要があります。次に、ご使用の環境で問題をトラブルシュー ティングする場合に役立つ、メッセージ・ログ・ファイルについて説明します。 Java API のログ・メッセージを生成するには、構成ファイルでキーワードを指定し ます。LogLevel キーワードおよび LogFileName キーワードを使用して、メッセ ージの量と宛先を指定します。 C API の場合は、ed_diag_config_file キーワードを指定します。キーワードの設 定方法の詳細については、 71 ページの『キーワード』を参照してください。 トレース・ログ トレース・ログは、問題が発生した原因を判別するのに役立ちます。トレース・ロ グでは、Tivoli Event Integration Facility が意図したように動作しなかったときの稼 働環境についての情報を取り込みます。お客様サポートの担当は、トレース・ロガ ーが取り込んだ情報をもとに問題の発生元までトレースを行い、エラーの発生原因 を判別します。これらのツールは、デフォルトでは使用可能になっていません。ト レース・メッセージはカスタマー・サポート向けのものなので、後で行う検査で確 認できるように通常はファイルに書き込まれます。 Java API のトレース・メッセージを生成するには、構成ファイルでキーワードを指 定します。TraceLevel キーワードおよび TraceFileName キーワードを使用し て、トレースの量と宛先を指定します。これらのキーワードで、状態相関のトレー スを制御することもできます。 C API の場合は、ed_diag_config_file キーワードを指定します。キーワードの設 定方法の詳細については、 71 ページの『キーワード』を参照してください。 トレース・ログについての詳細は、お客様サポートにお問い合わせください。 © Copyright IBM Corp. 2003 39 パフォーマンスと可用性 Tivoli Event Integration Facility では、イベント処理のパフォーマンスと可用性を制 御することができます。 イベント送達の過負荷を回避するには、以下の方法があります。 v イベント送達にタイマーを追加する v キャッシュ内の最大イベント数を指定する タイマーを使用している場合、Tivoli Event Integration Facility は、キャッシュにイ ベントが入っていることをイベントの受信側に通知します。この通知が発生するの は、タイマーが時間切れになったり、最大イベント数を超えた場合です。これによ り、受信側はキャッシュの全内容をすぐに処理することができます。キャッシュの 構成方法については、 16 ページの『キャッシュの活動化』を参照してください。 また、バックアップ・サーバーをセットアップすることで、イベントの可用性を高 めることができます。詳細は、 17 ページの『イベントを送達するバックアップ・サ ーバーの構成』を参照してください。 イベント受信接続パラメーター 受信プロセスでは、指定したポートを listen するサーバー・ソケットが作成されま す。listen プロセスは、コネクション型ソケットに接続を受け入れているというマー クを付け、listen ソケットのキューに入っている未解決の接続数を ConnectionsQueued 値で指定された値に制限します。インプリメンテーションは、不 完全な接続をキュー制限に制約されるキューに組み込む場合があります。インプリ メンテーションは、ConnectionsQueued を指定することで、キューに入れられた listen ソケットの長さを制限できます。 TCP/IP を使用すると、受信アプリケーションがデータを受信できるようになる前 に、送信側がデータを送信して接続をクローズできます。受信プロセスは、最終的 に接続を受け入れてデータを処理します。ConnectionsQueued を使用すると、このよ うなタイプの接続を制限できます。TCP/IP が接続をキューに入れることができなく なると、接続試行は拒否されます。 受信プロセスで処理されるアクティブ接続数は、ActiveConnections キーワードで制 限できます。このようにすると、受信プロセスが、システム・リソースを消費する 接続を累積し過ぎることを避けられます。 すべての初期接続がコネクション依存型で、ActiveConnections に達した場合は、受 信プロセスは接続をこれ以上受け入れません。ただし、接続は ConnectionsQueued の量に達するまで引き続き TCP/IP によって考慮されます。また、すべての ActiveConnections がコネクション依存型である場合は、ActiveConnectionsSafety を 使用してアクティブ接続数が ActiveConnections のパーセントで指定された量に削減 されるまで、状態は変わりません。 注: TCP/IP (ConnectionsQueued) によって処理されていた接続は、プログラムの終了 時に廃棄されます。ActiveConnections リスト内の接続はすべてクローズされ、 接続上に存在するデータがあれば廃棄されます。 40 Tivoli Event Integration Facility: リファレンス 共通の問題とシナリオ 次に、Tivoli Event Integration Facility を使用する際に発生することがある、共通の 問題とシナリオについて説明します。 アダプターの作成と実行 アダプターの作成、コンパイル、実行に問題があると、次のシナリオが発生するこ とがあります。 v 新規の TME アダプターをなかなか作成できない。 原因: コードまたは作成環境に問題がある可能性があります。 改善措置: 次の両方のアクションを実行します。 – TME アダプターと非 TME アダプターの両方のプログラムを作成し、アダプ ターの作成環境が正しくセットアップされていることを確認します。 – コードが正しく動作し、実稼働環境に移行できるようになるまで、非 TME ア ダプターとしてのテスト作成を行います。デバッグは、非 TME アダプターの 方が簡単です。非 TME アダプターと TME アダプターの唯一の違いはライブ ラリーです (コードは変わりません)。 v エンドポイント・アダプターが Tivoli Event Integration Facility のライブラリー にアクセスできない。 原因: エンドポイント・アダプターのシステム変数が、ライブラリーに正しくア クセスするように設定されていなければなりません。 改善措置: lcf_env.sh スクリプトまたは lcf_env.cmd スクリプトを用いてシステム 変数を設定します。 v Microsoft Windows NT® アダプターのコンパイル時にエラーが発生する。 原因: 複数の wsock32.lib ファイルがあります。 改善措置: Windows NT アダプターをコンパイルする際には FORCE:MULTIPLE オプションを指定します。これにより、コンパイラーは 1 つのファイルのみを選 択するようになります。例については、 26 ページの『アダプターのコンパイル』 を参照してください。 v 構成ファイルを変更したが、変更が有効にならない。 原因: 構成ファイル内に、正しく指定されていないステートメントがある可能性 があります。 改善措置: 変更したキーワードについて、次の点を確認します。 – キーワードのスペルにタイプミスがありませんか。 – ブランク・スペースは単一引用符で囲まれていますか。 – 構成ファイル内のクラス名がすべて BAROC ファイル内で定義されています か。 v LOG0014E エラーが発生した。 原因: LogFileName キーワードで指定したファイルが見つかりません。 改善措置: LogFileName キーワードで指定したパス名を訂正します。 第 6 章 トラブルシューティング 41 イベント・サーバーとの接続の確立 イベント・サーバーとの接続に問題があると、次のシナリオが発生することがあり ます。 v wpostzmsg または postzmsg を使用したら、接続エラーが発生した。あるい は、TECAgent を使用したら、BufEvtPath キーワードのファイル・パス・エラー が発生した。 原因: このエラーは、アドミニストレーターまたは root 以外のユーザー ID を使 用している可能性があることを示しています。つまり、ID に、BufEvtPath キー ワードで指定したファイルの作成および書き込みの正しい許可が付与されていま せん。 改善措置: BufEvtPath キーワードで指定したファイルを作成するための正しい許 可を持っていることを確認します。 v 新規 TME アダプターがイベント・サーバーに接続できない。 原因: Tivoli の許可に問題があります。 改善措置: 構成ファイルで TransportList キーワードまたは ServerLocation キ ーワードを検査します。 イベントの送信 イベント・サーバーへのイベントの送信に問題があると、次のシナリオが発生する ことがあります。 v アダプターがイベント・サーバーにすべてのイベントを送信していない。 原因: アダプターとイベント・サーバー間の通信、またはアダプター・コード内 部に問題があります。 改善措置: イベントをイベント・サーバーに直接送信するのではなくファイルに 送信します。そして、イベント送達を検査します。これを実行する方法は次のと おりです。 1. アダプター構成ファイルで、TestMode キーワードを YES に設定します。 2. ServerLocation キーワードで、イベントを受信するファイルを指定します。 3. アダプターを再始動します。 4. ServerLocation キーワードで指定したファイル内に、すべてのイベントが入 っているかどうかを調べます。 ファイルにすべてのイベントが入っている場合は、イベント・サーバーとの通信 に問題があります。wpostzmsg コマンドを使用して同じイベントをイベント・ サーバーに送信し、イベント・サーバーがイベントを受信できるかどうかを検査 します。コマンドからのイベントをイベント・サーバーが受信できる場合は、ア ダプターとイベント・サーバーとの間の通信を調べます。 一方、ファイルにイベントが入っていない場合は、アダプターの内部に問題があ るので、アダプター・コードを調べます。 注: アダプターのテストを完了したら、TestMode キーワードをリセットして、 イベントがファイルではなくイベント・サーバーに送信されるようにしま す。 v イベントの送信に wpostzmsg コマンドまたは postzmsg コマンドを使用して いるが、イベントがイベント・サーバーに着信していない。 42 Tivoli Event Integration Facility: リファレンス 原因: 次のいずれかの状況により、イベントがアダプターまたはゲートウェイの キャッシュに送信されています。 – 送信側で portmapper を使用しているのに、イベント・サーバーでは使用して いない。Windows システムの場合、portmapper デーモンはありません。 – 指定されているポート、ホスト名、またはイベント・サーバーが無効である。 改善措置: 有効な名前を指定する、またはポート問題を解決します。 第 6 章 トラブルシューティング 43 44 Tivoli Event Integration Facility: リファレンス 付録 A. アプリケーション・プログラミング・インターフェース このセクションでは、Tivoli Event Integration Facility の API について説明しま す。API は C 言語の関数と Java メソッドで定義されており、API を用いてカスタ ム・アダプターまたはイベントを受信するアプリケーションを作成することができ ます。 C 言語 API C 言語でカスタム・アダプターを作成するには、C コンパイラーを使用する必要が あります。 C 言語 API は、ライブラリー・ファイルで提供されます。この API については、次のサブセクションで説明します。 v tec_agent_getenv v tec_agent_init v tec_create_EIF_handle v tec_create_handle v tec_create_handle_c v tec_create_handle_r v tec_destroy_handle v tec_errno v tec_get_event v tec_put_event v tec_register_callback © Copyright IBM Corp. 2003 45 tec_agent_getenv 構成ファイルに格納されている変数の値を取り出します。 形式 char *tec_agent_getenv(char *keyword) 引き数 keyword 取り出すキーワード変数 例 #include "tec_eeif.h" char *serverLoc=tec_agent_getenv("ServerLocation") 戻りコード 変数の値であるストリングを指すポインターを戻します。このポインターを解放し ないでください。構成ファイル内にキーワードがない場合は、NULL が戻されま す。 46 Tivoli Event Integration Facility: リファレンス tec_agent_init 構成ファイルを読み取り、情報をキャッシュに入れる初期化関数です。 注: tec_agent_init 関数は、Tivoli Event Integration Facility のモジュールを初期化 するために最初に呼び出される関数です。tec_agent_init 関数は、他の関数を 実行する前に、アダプターごとに 1 回だけ実行します。 形式 int tec_agent_init(char *cfgfile) 引き数 cfgfile 構成ファイルへの絶対パス。 例 #include "tec_eeif.h" tec_agent_init(“config”); 戻りコード 正常に終了した場合は 0 を戻します。 付録 A. アプリケーション・プログラミング・インターフェース 47 tec_create_EIF_handle イベント・サーバーにイベントを送信するため、またはソースからイベントを受信 するためのハンドルを設定します。最初の引き数で構成ファイルを指定します。ハ ンドルは、構成ファイル内で指定されている構成情報を使用して作成されます。 tec_create_handle と同様です。 形式 tec_handle_t tec_create_EIF_handle(char *cfgfile, int oneway,delivery_mode mode) 引き数 cfgfile 構成ファイルへの絶対パス。 oneway 管理対象ノード・アダプターにのみ使用し、障害の発生時に tec_put_event 呼び出しが例外を呼び出し元に戻すかどうかを指定します。値が 1 の場 合、呼び出し元は oserv プロセスからの応答を待たないので、 tec_put_event の呼び出し元に例外は戻されません。値が 0 の場合、呼び 出し元は oserv プロセスがメソッドの成功または失敗を戻すまで待つので、 呼び出し元に例外が戻されます。 mode 次の値が指定可能です。 v submission v reception ハンドルを送信に使用する場合は submission モードを使用します。ハンド ルを受信に使用する場合は reception モードを使用します。 例 #include "tec_eeif.h" if((th =tec_create_EIF_handle("config",0,submission))==NULL){ fprintf(stderr,"%s:tec_create_handle failed errno=%d ¥n ", progname,tec_errno); exit(1); } 戻りコード 内部データ構造へのハンドル。このハンドルは、他の API 関数呼び出しで使用され ます。 48 Tivoli Event Integration Facility: リファレンス tec_create_handle イベント・サーバーへイベントを送信するためのハンドルを設定します。 形式 tec_handle_t tec_create_handle(char *location, unsigned short port, int oneway, tec_delivery_type type) 引き数 location 非 TME バージョンの Tivoli Event Integration Facility の場合は、イベン ト・サーバーのホスト名またはホスト・プロトコル・アドレス。 TME バー ジョンの場合は、@EventServer[#region_name]。 oneway 管理対象ノード・アダプターにのみ使用し、障害の発生時に tec_put_event 呼び出しが例外を呼び出し元に戻すかどうかを指定します。値が 1 の場 合、呼び出し元は oserv プロセスからの応答を待たないので、 tec_put_event の呼び出し元に例外は戻されません。値が 0 の場合、呼び 出し元は oserv プロセスがメソッドの成功または失敗を戻すまで待つので、 呼び出し元に例外が戻されます。 port 非 TME バージョンの場合に、イベント・サーバーが listen するポート。 type 次の値が指定可能です。 v connection_less v connection_oriented v use_default 値が use_default の場合は、ConnectionMode キーワードで指定されてい る構成ファイルから設定を読み取ります。ConnectionMode キーワードが 指定されていない場合は、コネクションレス・ハンドルをセットアップしま す。 例 #include "tec_eeif.h" if((th = tec_create_handle(tec_server, port, oneway, type)) == NULL) { fprintf(stderr, “%s: tec_create_handle failed errno=%d¥n”, progname, tec_errno); exit(1); } 戻りコード 内部データ構造へのハンドル。このハンドルは、tec_put_event の呼び出しで使用 されます。location がヌルの場合、location を導出するために構成ファイルの ServerLocation エントリーが使用されます。port がゼロの場合は、ServerPort エ ントリーがあればそれが使用されます。このエントリーがない場合は、イベント・ サーバーが listen するポートを portmapper に照会します。 付録 A. アプリケーション・プログラミング・インターフェース 49 tec_create_handle_c イベント・サーバーにイベントを送信するため、またはソースからイベントを受信 するためのハンドルを設定します。最初の引き数で構成ファイルを指定します。ハ ンドルは、構成ファイル内で指定されている構成情報を使用して作成されます。 tec_create_handle と同様です。 形式 tec_handle_t tec_create_handle_c (char *cfgfile,char *location, unsigned short port, int oneway, tec_delivery_type type, delivery_mode mode) 引き数 cfgfile 構成ファイルへの絶対パス。 location 非 TME バージョンの Tivoli Event Integration Facility の場合は、イベン ト・サーバーのホスト名またはホスト・プロトコル・アドレス。TME バー ジョンの場合は、@EventServer[#region_name]。 mode 次の値が指定可能です。 v submission v reception ハンドルを送信に使用する場合は submission モードを使用します。ハンド ルを受信に使用する場合は reception モードを使用します。 oneway 管理対象ノード・アダプターにのみ使用し、障害の発生時に tec_put_event 呼び出しが例外を呼び出し元に戻すかどうかを指定します。値が 1 の場 合、呼び出し元は oserv プロセスからの応答を待たないので、 tec_put_event の呼び出し元に例外は戻されません。値が 0 の場合、呼び 出し元は oserv プロセスがメソッドの成功または失敗を戻すまで待つので、 呼び出し元に例外が戻されます。 port 非 TME バージョンの場合に、イベント・サーバーが listen するポート。 type 次の値が指定可能です。 v connection_less v connection_oriented v use_default 値が use_default の場合は、ConnectionMode キーワードで指定されてい る構成ファイルから設定を読み取ります。ConnectionMode キーワードが 指定されていない場合は、コネクションレス・ハンドルをセットアップしま す。 例 #include "tec_eeif.h" if((th =tec_create_handle_c("config","tecserver.com",5529,0,connection_less,submission)) ==NULL){ 50 Tivoli Event Integration Facility: リファレンス fprintf(stderr,"%s:tec_create_handle failed errno=%d ¥n ", progname,tec_errno); exit(1); } 戻りコード 内部データ構造へのハンドル。このハンドルは、tec_put_event の呼び出しで使用 されます。location がヌルの場合、location を導出するために構成ファイルの ServerLocation エントリーが使用されます。port がゼロの場合は、ServerPort エ ントリーがあればそれが使用されます。このエントリーがない場合は、イベント・ サーバーが listen するポートを portmapper に照会します。 付録 A. アプリケーション・プログラミング・インターフェース 51 tec_create_handle_r イベント・サーバーにイベントを送信するためのハンドルを設定します。最初の引 き数で構成ファイルを指定します。ハンドルは、構成ファイル内で指定されている 構成情報を使用して作成されます。tec_create_handle と同様です。 形式 tec_handle_t tec_create_handle_r (char *cfgfile,char *location, unsigned short port, int oneway, tec_delivery_type type) 引き数 cfgfile 構成ファイルへの絶対パス。 location 非 TME バージョンの Tivoli Event Integration Facility の場合は、イベン ト・サーバーのホスト名またはホスト・プロトコル・アドレス。TME バー ジョンの場合は、@EventServer[#region_name]。 oneway 管理対象ノード・アダプターにのみ使用し、障害の発生時に tec_put_event 呼び出しが例外を呼び出し元に戻すかどうかを指定します。値が 1 の場 合、呼び出し元は oserv プロセスからの応答を待たないので、 tec_put_event の呼び出し元に例外は戻されません。値が 0 の場合、呼び 出し元は oserv プロセスがメソッドの成功または失敗を戻すまで待つので、 呼び出し元に例外が戻されます。 port 非 TME バージョンの場合に、イベント・サーバーが listen するポート。 type 次の値が指定可能です。 v connection_less v connection_oriented v use_default 値が use_default の場合は、ConnectionMode キーワードで指定されてい る構成ファイルから設定を読み取ります。ConnectionMode キーワードが 指定されていない場合は、コネクションレス・ハンドルをセットアップしま す。 例 #include "tec_eeif.h" th = tec_create_handle_r(“config”,“localhost”,1234, 0, use_default)) == NULL) */ 戻りコード 内部データ構造へのハンドル。このハンドルは、tec_put_event の呼び出しで使用 されます。location がヌルの場合、location を導出するために構成ファイルの ServerLocation エントリーが使用されます。port がゼロの場合は、ServerPort エ ントリーがあればそれが使用されます。このエントリーがない場合は、イベント・ サーバーが listen するポートを portmapper に照会します。 52 Tivoli Event Integration Facility: リファレンス tec_destroy_handle tec_create_handle、tec_create_handle_c、tec_create_EIF_handle、および tec_create_handle_r で作成したイベント・サーバーのハンドルを破棄し、確立さ れている接続をクローズします。 形式 void tec_destroy_handle (tec_handle_t th) 引き数 th create_handle 関数呼び出しから戻された tec ハンドル。 例 #include "tec_eeif.h" tec_destroy_handle(th); 付録 A. アプリケーション・プログラミング・インターフェース 53 tec_errno 関数がエラーを戻す場合は、tec_errno は該当するエラー・コードに設定されま す。 形式 extern int tec_errno 54 Tivoli Event Integration Facility: リファレンス tec_get_event アプリケーションがイベントを受信できるようにします。要求時に、構成されてい るトランスポートからイベントを受信します。戻されるデータには、イベントが複 数入っていることがあります。イベントの数の判別には、ed_scan_n ユーティリテ ィーを使用します。イベントに割り当てられているメモリーを解放しなければなり ません。 形式 long tec_get_event (tec_handle_t th, unsigned char ** event_message); 引き数 th create_handle 関数呼び出しから戻されたイベント・サーバー・ハンドル。 event_message トランスポートから受信したメッセージのイベント・データ。 例 #include "tec_eeif.h" char *event; long event_len; int rc; event=NULL; event_len = tec_get_event(th, &event); if (event && event_len) { n =ed_scan_n (event,event_len); } if (event) free(event) 戻りコード イベント・メッセージの長さを戻します。イベントを利用できない場合は 0 (ゼロ) を戻します。 付録 A. アプリケーション・プログラミング・インターフェース 55 tec_put_event イベント・サーバーへイベントを送信します。 形式 long tec_put_event (tec_handle_t th, char *event) 引き数 event イベントを表す文字ストリング th create_handle 関数呼び出しから戻されたイベント・サーバー・ハンドル。 例 #include "tec_eeif.h" if ( tec_put_event(th, event_string) == -1 { fprintf(stderr, “%s: tec_put_event failed, errno=%d¥n”, progname, tec_errno); exit(1); } 戻りコード イベント・サーバー、イベントを listen しているその他のアプリケーション、また はキャッシュ・ファイルに送信されたバイト数を戻します。戻り値がゼロの場合、 イベントがフィルター処理されて除外されたことを意味します。戻り値が負の数の 場合は、エラーを示します。 56 Tivoli Event Integration Facility: リファレンス tec_register_callback アプリケーションはアップコールを介してイベントを受信できるようになります。 アプリケーションは、コールバックを登録し、受信したイベントを処理するメソッ ドをパラメーターとして渡します。tec_event_callback の構文は次のとおりです。 int (*tec_event_callback)(tec_handle_t h, unsigned char *msg, long _msg_len); 戻されるデータには、イベントが複数入っていることがあります。戻されるイベン トの数の判別には、ed_scan_n ユーティリティーを使用します。イベントに割り当 てられているメモリーを解放しなければなりません。 tec_event_callback 関数の戻り値は -1 または 0 (ゼロ) です。ゼロは、エラーが なかったこと、およびイベントが処理されたことを示します。 -1 は、イベントの 処理で問題が発生し、キャッシュ (構成されている場合) からイベントを除去できな かったことを示します。 形式 void tec_register_callback(tec_handle_t th, tec_event_callback *fn) 引き数 th create_handle 関数呼び出しから戻されたイベント・サーバー・ハンドル。 fn イベントの着信時に呼び出す関数。 例 #include "tec_eeif.h" int on_message (tec_handle_t th, unsigned char *event, long event_len) { long n; if (event && event_len) { int i; char *ev; long len; long idx = 1; n =ed_scan_n (event,event_len); for(i =0;i <n;i++,idx++) { ev =(char *)ed_scan_get_n ((char *)event, idx, event_len, &len); free (ev); } } return 0; } tec_register_callback(th,on_message) 付録 A. アプリケーション・プログラミング・インターフェース 57 C API のユーティリティー C API のユーティリティーは次のとおりです。これらについては、次のサブセクシ ョンで説明します。 v ed_scan_get_n v ed_scan_n v ed_sleep 58 Tivoli Event Integration Facility: リファレンス ed_scan_get_n 受信 API を介して受信したイベントは、複数のイベントから成り立っていることが あります。パケットから n 個目のイベントを受け取る際に、この関数を使用しま す。 形式 char * ed_scan_get_n (char *packet,long index,long packet_len, long *result_len); 引き数 packet tec_get_event で戻された、または tec_register_callback の使用時にコ ールバックに渡されたポインター。 index 1 から始まるパケット内のエレメントの n 個目。 Packet_len 検索するパケットの最大長。 Result_len 結果として得られるパケット長を入れます。 例 #include "tec_eeif.h" char *package char *ev; int i; long n,len,idx=1; package=tec_get_event(th); n = ed_scan_n (package, strlen (package)); for (i = 0; i < n; i++, idx++) { ev =(char *) ed_scan_get_n ((char *) package, idx, strlen (package),&len); free (ev); } 戻りコード 要求されたイベントが入っている、新規に割り当てられたバッファーのポインター を戻します。このポインターは解放しなければなりません。 付録 A. アプリケーション・プログラミング・インターフェース 59 ed_scan_n 受信 API を介して受信したイベントは、複数のイベントから成り立っていることが あります。この関数はパケットに含まれているイベント数を判別するのに使用しま す。 形式 long ed_scan_n (char *packet, long packet_len ); 引き数 packet tec_get_event で戻された、または tec_register_callback の使用時にコ ールバックに渡されたポインター。 Packet_len 検索するパケットの最大長。 例 #include "tec_eeif.h" char *package char *ev; int i; long n,len,idx=1; package=tec_get_event(th); n = ed_scan_n (package, strlen (package)); for (i = 0; i < n; i++, idx++) { ev =(char *) ed_scan_get_n ((char *) package, idx, strlen (package),&len); free (ev); } 戻りコード イベントの数を戻します。イベントが見つからない場合は 0 (ゼロ)、エラーが発生 した場合は -1 を戻します。 60 Tivoli Event Integration Facility: リファレンス ed_sleep 実行を一定期間休止します。スレッドを切り替えることができます。このユーティ リティーは、管理対象ノード・アダプターが、メイン・ループで内部スレッドの実 行を解放する場合に呼び出します。 形式 int ed_sleep (long seconds, long millis); 引き数 millis 時間をミリ秒単位で指定します。 seconds 秒数を指定します。 例 #include "tec_eeif.h" /* pause for 3.5 seconds */ ed_sleep (3, 500); /* sleep duration is zero but yields briefly so other threads can run */ ed_sleep (0, 0); 戻りコード 0 (ゼロ) を戻します。 付録 A. アプリケーション・プログラミング・インターフェース 61 Java 言語 API Java でアダプターを作成する場合、Java 1.3.1 のコンパイラーが必要です。Java API は、Jar ファイルで提供されます。この API については、次のサブセクション で説明します。 v disconnect v getConfigVal v onMessage v receiveEvent v registerListener v sendEvent v TECAgent v TECEvent 62 Tivoli Event Integration Facility: リファレンス disconnect オープンしているイベント・サーバーへの接続をクローズします。 形式 disconnect() 例 public synchronized void disconnect() 付録 A. アプリケーション・プログラミング・インターフェース 63 getConfigVal 構成ファイルに格納されている変数の値を取り出します。 形式 getConfigVal (String key) 引き数 key 構成キーワードのラベルを指定します。 例 public String getConfigVal(String key) 戻りコード TECAgent の初期化に使用された構成ファイル内の key に関連付けられているスト リング値を戻します。構成ファイルに key がなければ、null が戻されます。Filter などのキーワードは複数の値を持つため、構成ファイルで最後に指定されている値 だけが戻されます。 64 Tivoli Event Integration Facility: リファレンス onMessage API から非同期で受信したイベントを処理します。 形式 onMessage (String event) 引き数 event イベントに含まれるストリング。これは、アプリケーションに戻されます。 例 public void onMessage( String event ) 戻りコード 受信したイベントが正常に処理された場合は true が戻され、キャッシュまたは永続 ログのいずれかまたは両方からそのイベントを除去し、今後、そのイベントを再送 信しないようにすることを API に示します。 イベントが正常に処理されなかった 場合は false が戻され、さらに処理するために イベント・サーバーにイベントを再送するように API に示します。この場合、イベ ントはキャッシュまたは永続ログのどちらからも除去されません。 付録 A. アプリケーション・プログラミング・インターフェース 65 receiveEvent アプリケーションがイベントを同期的に受信できるようにします。TECAgent を初期 化するのに使用された構成ファイル内で指定されたすべてのイベント・サーバーか ら、イベントを受信します。registerListener メソッドも参照してください。 形式 String receiveEvent() 例 public synchronized String receiveEvent() 戻りコード この API が受信したイベント・データを戻します。区切り文字 TECEvent.TECAD_EVENT_END_CHAR (A) は、このストリングで戻されるイベン トを区切ります。 66 Tivoli Event Integration Facility: リファレンス registerListener 呼び出し元のアプリケーションをリスナーとして登録します。これにより、非同期 のイベント受信が可能になります。IEventProcessing インターフェースをインプリ メントするオブジェクトをパラメーターとして渡さなければなりません。 receiveEvent メソッドも一緒に参照してください。 形式 registerListener (IEventProcessing) 引き数 IEventProcessing IEventProcessing コールバックをインプリメントするアプリケーション・ク ラス。 例 public void registerListener (IEventProcessing) 付録 A. アプリケーション・プログラミング・インターフェース 67 sendEvent TECAgent を初期化するのに使用された構成ファイル内で指定されたイベント・サー バーへ、イベントを送信します。シリアライズされた TECEvent をパラメーターと して渡さなければなりません。BufferEvents=YES キーワードが指定されている場 合は、イベントは送信前にキャッシュに入り、永続的になります。 形式 sendEvent (String event) 引き数 event イベント・サーバーに送信されるイベント・データ。event が非ヌルの場合 は、少なくとも TECEvent.MIN_EVENT_LEN 文字の長さが必要です。これ より短いと、sendEvent は直ちにエラーを出して戻ります。 例 public synchronized int sendEvent(String event) 戻りコード イベント・サーバー、イベントを listen しているその他のアプリケーション、また はキャッシュ・ファイルに送信されたバイト数を戻します。戻り値がゼロの場合、 イベントがフィルター処理されて除外されたことを意味します。戻り値が負の数の 場合は、エラーを示します。 状態相関を使用している場合は、イベント・サーバー、イベントを listen している その他のアプリケーション、またはキャッシュ・ファイルに送信されたバイト数で はなく、状態相関に送信されたバイト数が戻されます。 68 Tivoli Event Integration Facility: リファレンス TECAgent 構成ファイルにアクセスし、トランスポートのメカニズムを設定します。これは、 イベント・サーバーとの間のイベントの送受信を可能にする最上位のオブジェクト です。 形式 TECAgent (Reader configStream, int deliveryMode, boolean oneway) 引き数 configStream 構成キーワードを読み取るオブジェクト。 deliveryMode 送達モードを指定します。値は SENDER_MODE および RECEIVE_MODE です。 oneway 管理対象ノードで TME アダプターとの接続に使用されます。失敗した場合 に、sendEvent() への呼び出しが例外を呼び出し元に戻すかどうかを指定し ます。値が 1 の場合、例外は呼び出し元に戻されません。値が 0 (ゼロ) の 場合、例外は呼び出し元に戻されます。 例 public TECAgent(Reader configStream, int deliveryMode, boolean oneway) 戻りコード TECAgent を作成できないと、例外が発生します。 付録 A. アプリケーション・プログラミング・インターフェース 69 TECEvent イベント定義をクラス名と attribute=value のペアに解析するコードをカプセル化し ます。 形式 TECEvent() init(String event) 引き数 event 解析するイベント・ストリング。次に、有効なイベント・ストリングの例を 示します。 v Class1;msg=’text.’;hostname=artemis;source=TEC;END v Class2;END v Class3;msg=theMessage;END 例 public boolean init(String event); 戻りコード init() 呼び出しは、イベント・ストリングが正常に解析された場合は true を戻し、 正常に解析されなかった場合は false を戻します。 70 Tivoli Event Integration Facility: リファレンス 付録 B. 構成ファイルで使用するキーワード この付録では、構成ファイルのキーワードについての参照情報を紹介します。 キーワード キーワードは keyword=value の形式で使用します。 キーワードは、それぞれ別々の行に入力してください。ブランク・スペースをキー ワード・ステートメント内で使用する場合は、必ず単一引用符で囲んでください 。 構成ファイルのオプションで、BAROC ファイルに定義されていないクラス名は使 用しないでください。 注: アダプターは、スペルの間違っているキーワードや無効な値に設定されている キーワードについて、エラー・メッセージを出しません。 構成ファイルには、次のキーワードを指定できます。これらのキーワードは、ほと んどのアダプターに共通です。 注: すべてのキーワードがすべてのアダプターに適用されるわけではありません。 また、一部のアダプターには、そのアダプター特有の追加キーワードがありま す。これらのキーワードの説明については、「Tivoli Enterprise Console アダプ ター・ガイド」を参照してください。 AdapterCdsFile=path CDS ファイルの絶対パス名を指定します。CDS ファイルが構成ファイルと 同じディレクトリーにない場合、このキーワードは必須です。 AdapterErrorFile=path エラー・ファイルの絶対パス名を指定します。エラー・ファイルが構成ファ イルと同じディレクトリーにない場合、このキーワードは必須です。 APPEND_CLASSPATH=string Java ベースの状態相関が呼び出される前に、CLASSPATH 環境変数に付加 されるストリングを指定します。ストリングは、適切な区切り文字を使用し て付加されます。区切り文字は、Windows システムの場合はセミコロン (;)、UNIX システムの場合はコロン (:) です。ストリングには、ご使用の環 境で有効なデータが入っている必要があります。例えば、Windows システ ムの場合は APPEND_CLASSPATH=c:¥my_product¥my_java.class; d: ¥my_product¥my_jar .jar、UNIX システムの場合は APPEND _CLASSPATH=/my_product/my_java.class: /my_product/my_jar.jar です。 Tivoli Enterprise Console ゲートウェイの場合は、指定したストリングが状 態相関に必要な jar ファイルのリストに付加されます。C で作成されたア ダプターの場合は、指定したストリングがシステム環境変数 CLASSPATH に付加されます。 © Copyright IBM Corp. 2003 71 注: システム環境変数 CLASSPATH は変更されません。この CLASSPATH 情報は、状態相関の初期化中に Java に渡されます。このキーワード は、構成ファイルの中で 1 回だけ指定できます。 APPEND_JVMPATH=string Java ベースの状態相関が呼び出される前に、動的ライブラリー・パス環境 変数に付加されるストリングを指定します。ストリングは、適切な区切り文 字を使用して付加されます。区切り文字は、Windows システムの場合はセ ミコロン (;)、UNIX システムの場合はコロン (:) です。ストリングには、 ご使用の環境で有効なデータが入っている必要があります。例えば、 Windows システムの場合は APPEND_JVMPATH=c:¥my_product¥jre¥bin;c:¥my_product¥jre¥bin¥classic、 UNIX システムの場合は APPEND_JVMPATH= /my_product/jre/bin:/my_product/jre/bin/classic です。このキーワードは、C で 作成されたアダプターでのみ有効で、適切な動的ライブラリー・パス環境変 数に付加されます。オペレーティング・システムごとの環境変数について は、 31 ページの表 9 を参照してください。 注: システム動的ライブラリー・パス環境変数は変更されません。このキー ワードは、構成ファイルの中で 1 回だけ指定できます。 BufEvtMaxSize=size アダプターのキャッシュ・ファイルの最大サイズをキロバイト単位で指定し ます。デフォルト値は 64 です。イベントをイベント・サーバーに送信でき ない場合、キャッシュ・ファイルを使用してイベントがディスクに格納され ます。 BufEvtMaxSize キーワードはオプションです。 BufEvtPath=pathname アダプターのキャッシュ・ファイルの絶対パス名を指定します。エンドポイ ント・アダプターでは、BufEvtPath キーワードに $TIVOLIHOME 変数を使 用し、環境によってファイル位置とドライブ名が異なる問題を解決します。 この変数が使用するパスは、エンドポイントのインストール場所を基準とし ます。アダプター構成機能が、各エンドポイント上で $TIVOLIHOME を定 義します。ユーザーがこの値を変更することはできません。 表 11. アダプター・キャッシュ用のパス名と変数 オペレーティン グ・システム デフォルト・パス $TIVOLIHOME 値 UNIX $TIVOLIHOME/tec/cache /etc/Tivoli Microsoft Windows %TIVOLIHOME%¥tec¥ cache.dat %SystemRoot%¥system32¥ drivers¥etc¥Tivoli AS/400® アダプターは、このキーワードを使用しません。 これは、BufferEvents キーワードが YES に設定されている場合に必須のキ ーワードです。 UseStateCorrelation キーワードが YES に設定されている場合は、 BufEvtPath キーワードで、状態相関のイベントを格納するパスも指定しま 72 Tivoli Event Integration Facility: リファレンス す。Tivoli Event Integration Facility により、指定されたファイル名に接頭 部の _sc が追加されます。この接頭部で、アダプター・キャッシュ・ファ イルと、状態相関のイベント・ストレージ・パスを区別します。このパスの デフォルト値は、UNIX では $TIVOLIHOME/tec/cache_sc、Windows システ ムでは %TIVOLIHOME%¥tec¥cache_sc.dat です。 注: 同じシステム上に Tivoli Event Integration Facility を使用するアプリケ ーションが複数ある場合は、アプリケーションごとにパス名の値が異な ることを確認してください。 BufferEvents=YES | NO イベント・バッファリングをどのように使用可能にするかどうかを指定しま す。 YES BufEvtPath キーワードで指定されたファイルにイベントを格納しま す。 NO イベントの格納もバッファリングも行いません。 UseStateCorrelation=YES かつ BufferEvents=YES の場合、API は、 BufEvtPath キーワードで指定されたファイルにもイベントを格納します。 StateCorrelationMaxFileSize キーワードおよび StateCorrelationTotalSize キー ワードで、ファイルのサイズと数を制御します。 この値の大文字小文字は区別されません。デフォルト値は YES です。この キーワードはオプションです。 BufferFlushRate=events_per_minute 1 分間に送信するイベントの数を指定します。アダプターが接続をリカバリ ーしたときにバッファー内にイベントがあった場合、それらのイベントは 1 分ごとにこのレートで送信されます。デフォルト値はゼロです。この場合 は、すべてのイベントが一度に送信されます。 このキーワードはオプションです。 ConnectionMode=connection_oriented | connection_less Tivoli Enterprise Console ゲートウェイまたはイベント・サーバーに接続す る場合に使用する接続モードを指定します。デフォルト値は、 connection_less ですが、Tivoli Enterprise Console ゲートウェイの場合は connection_oriented がデフォルト値になります。 connection_oriented 接続は、アダプターの初期化時に確立され、すべてのイベントが送 信されるまで接続されたままになります。新規の接続が確立される のは、初期接続を失ったときのみです。アダプターが停止すると、 接続は切断されます。このオプションは、co または CO という省略 形で指定することもできます。 connection_less イベントまたはイベントのグループが送信されるたびに、新規接続 の確立と切断が繰り返されます。 このキーワードはオプションです。 付録 B. 構成ファイルで使用するキーワード 73 ed_diag_config_file=filename ロギングとトレースを行うには、filename ファイルが存在している必要があ ります。ロギングを使用可能にするには、filename ファイルで error また は warning を指定します。トレースを使用可能にするには、filename ファ イルで trace0、trace1、または trace2 を指定します。filename ファイル は絶対修飾ファイル名でも、アダプターが実行されているディレクトリーに 対する相対ファイル名でも構いません。サンプル・ファイル (.ed_diag_config) は、IBM Tivoli Enterprise Console TME New Installations CD の EIFSDK ディレクトリーにあります。 ロギングまたはトレースの各レベルには、それより低いすべてのレベルも含 まれます。例えば、ロギングとして warning を指定した場合は、error ロ ギングも自動的に有効になります。 注: トレースのレベルを上げるとトレースの出力量が増えることに注意して ください。再始動時にファイルが再作成されるかどうかを構成できま す。 このキーワードはオプションです。 Filter イベントのフィルター操作方法を指定する FilterMode キーワードと一緒に 使用します。イベントが Filter ステートメントと一致するのは、Filter ステ ートメント内の attribute=value の各ペアとイベント内の対応する attribute=value のペアが同一の場合です。 Filter ステートメントにはイベント・クラスが含まれている必要がありま す。オプションで、そのイベント・クラスに定義されているその他の attribute=value のペアを含めることもできます。フィルター操作ステートメ ントの形式は次のとおりです。 Filter:Class=class_name;[attribute=value;...;attribute=value] 各ステートメントは 1 行に記述してください。attribute=value のペアは大文 字小文字の区別があります。 このキーワードはオプションです。 FilterCache FilterMode キーワードおよび Filter キーワードと一緒に使用して、イベント をイベント・サーバーに正常に送信できなかった場合にキャッシュに格納す るイベントを指定します。イベントをキャッシュに格納する場合は、 BufferEvents=YES と設定する必要があります。イベントが FilterCache ステ ートメントと一致するのは、FilterCache ステートメント内の attribute=value の各ペアとイベント内の対応する attribute=value のペアが同一の場合で す。 FilterCache ステートメントにはイベント・クラス (class_name) が含まれて いる必要があります。そのイベント・クラスに定義されている attribute=value のペアを含めることもできます。フィルター操作ステートメ ントの形式は次のとおりです。 FilterCache:Class=class_name;[attribute=value;...;attribute=value] 74 Tivoli Event Integration Facility: リファレンス 各ステートメントは 1 行に記述してください。attribute=value のペアは大文 字小文字の区別があります。 FilterCache キーワードを使用する場合は、 Filter キーワードを指定してください。また、FilterCache ステートメントに は、Filter ステートメントに指定するのと同じクラスまたはクラスのサブセ ットを指定してください。 このキーワードはオプションです。 注: FilterCache キーワードをエンドポイント・アダプターと Tivoli Enterprise Console ゲートウェイで使用する場合は、どちらにも同じフ ィルター操作ステートメントを指定してください。 FilterMode=IN | OUT Filter ステートメントまたは FilterCache ステートメントに一致するイベン トをイベント・サーバーに送信するか (FilterMode=IN)、または廃棄するか (FilterMode=OUT) を指定します。デフォルト値は OUT です。有効な値は IN または OUT です。大文字小文字の区別はありません。FilterMode=IN の場合は、Filter ステートメントおよび FilterCache ステートメントが 1 つ 以上定義されていなければなりません。 イベントを送信、キャッシュ、および廃棄する場合のフィルター操作キーワ ードの使用法については、 33 ページの『構成ファイルによるフィルター操 作』を参照してください。 このキーワードはオプションです。 FQDomain= YES | NO | fqdomain アダプターが、イベント・サーバーに送信されるイベントの fqhostname 属 性の値を設定する方法を指定します。この属性は、発信ホストの完全修飾ホ スト名を指定する場合に使用します。このキーワードの有効な値は次のとお りです。 YES アダプターは、絶対修飾ホスト名の判別を試行します。成功すると fqhostname 属性はその値に設定され、失敗すると属性はヌル値にな ります。 NO fqhostname 属性はヌル値になります。これは、FQDomain キーワー ドを指定しない場合のデフォルト値です。 fqdomain fqdomain はホスト名に付加され、結果ストリングが fqhostname 属 性の値として使用されます。ホスト名にピリオドが使用されている 場合 (完全修飾されていることを意味する) は、fqdomain は付加さ れません。 注: このキーワードは、OpenView、SNMP、 UNIX ログ・ファイル、およ び Windows イベント・ログ・アダプターでのみ有効です。 getport_timeout_seconds=num_seconds 応答がない場合、ポートの UDP 呼び出しを再送するまでに待機する秒数を 指定します。 RPC 呼び出しがタイムアウトになるまで、再送します。デフ ォルト値はゼロ (0) 秒です。 付録 B. 構成ファイルで使用するキーワード 75 getport_timeout_usec=num_microseconds getport_timeout_seconds キーワードで指定した秒に追加するマイクロ秒数を 指定します。デフォルト値は 50 000 マイクロ秒です。 getport_total_timeout_seconds=num_seconds portmapper への呼び出しを行った後に、ポートを取得するために待機する時 間を秒数で指定します。デフォルト値はゼロ (0) 秒です。 getport_total_timeout_usec=num_microseconds getport_total_timeout_seconds キーワードで指定した秒に追加するマイクロ秒 数を指定します。デフォルト値は 50 000 マイクロ秒です。 LogFileName=pathname Java API の場合のログ・ファイルの絶対パス名を指定します。デフォルト のファイル位置は $TIVOLIHOME/tec/eif.log です。 UseStateCorrelation=YES の場合は、LogFileName キーワードで、状態相関 のログ・ファイルを格納するパスも定義します。Tivoli Event Integration Facility により、指定されたファイル名に接頭部の _sc が追加されます。接 頭部で、Java API のログ・ファイルと、状態相関のログ・ファイルを区別 します。パスのデフォルト値は $TIVOLIHOME/tec/eif_sc.log です。 指定したパス名が無効であると、API は次のエラーを戻します。 LOG0014E Unable to open the handler output file <filename>. java.io.FileNotFoundException: <filename> (The system cannot find the path specified) このキーワードはオプションです。 LogLevel=level Java API がログ・メッセージを生成するかどうかを指定します。デフォル トでは、メッセージは生成されません。メッセージを生成させる場合は ALL を指定します。その他の値を指定した場合、または値を指定しなかった場合 は、メッセージは生成されません。 このキーワードはオプションです。 MaxPacketSize =bytes BufferFlushRate キーワードで指定した速度で送信するバイト数を指定しま す。デフォルト値はゼロ (0) です。この場合、イベントは 1 つずつ送信さ れます。 このキーワードはオプションです。 NO_UTF8_CONVERSION=YES | NO Tivoli Event Integration Facility がイベント・データを UTF-8 でエンコード するかどうかを指定します。このキーワードが YES に設定されていると、 Tivoli Event Integration Facility はイベント・データを UTF-8 でエンコード しません。データは TivoliEvent Integration Facility に渡されるときに、既 に UTF-8 のエンコードになっていると想定されます。しかし、イベント・ データの最初にデータが UTF-8 エンコード方式であることを示すフラグが ない場合は、このフラグがイベント・データの最初に付加されます。 このキーワードはオプションです。このキーワードのデフォルト値は NO です。 76 Tivoli Event Integration Facility: リファレンス Pre37Server=YES | NO アダプターがイベントを送信するときに、イベント・サーバー・ホストのエ ンコード形式を使用するのか、UTF-8 のエンコード形式を使用するのかを 指定します。 Tivoli Enterprise Console 3.7 より前のバージョンが実行され ているイベント・サーバー・ホストでは、UTF-8 のエンコード方式による イベントの送信はサポートされません。次の値に大文字小文字の区別はあり ません。 YES UTF-8 のエンコード方式を使用不可にし、アダプターが、Tivoli Enterprise Console 3.7 より前のバージョンが実行されているイベン ト・サーバーと通信できるようにします。このキーワードに YES を設定した場合、Pre37ServerEncoding キーワードの指定も必要にな ります。 NO アダプターは UTF-8 のエンコード形式でイベントを送信します。 デフォルト値は、NO です。 このキーワードはオプションです。 Pre37ServerEncoding=language 非 TME アダプターが、非 UTF-8 のイベント・サーバー・ホスト (Tivoli Enterprise Console 3.7 製品より前のバージョン) と通信する場合の言語を指 定します。このキーワードがアクティブになるのは、Pre37Server キーワー ドが YES に設定されている場合だけです。 このキーワードはオプションです。 PREPEND_CLASSPATH=string Java ベースの状態相関が呼び出される前に、CLASSPATH 環境変数の前に 付加されるストリングを指定します。ストリングは、適切な区切り文字を使 用して前に付加されます。区切り文字は、Windows システムの場合はセミ コロン (;)、UNIX システムの場合はコロン (:) です。ストリングには、ご 使用の環境で有効なデータが入っている必要があります。例えば、Windows システムの場合は PREPEND_CLASSPATH=c: ¥my_product¥my_java.class;d:¥my_product¥my_jar.jar、UNIX システムの場合 は PREPEND _CLASSPATH=/my_product/my_java.class: /my_product/my_jar.jar です。 Tivoli Enterprise Console ゲートウェイの場合は、指定したストリングが状 態相関に必要な jar ファイルのリストの前に付加されます。C で作成され たアダプターの場合は、指定したストリングがシステム環境変数 CLASSPATH の前に付加されます。 注: システム環境変数 CLASSPATH は変更されません。この CLASSPATH 情報は、状態相関の初期化中に Java に渡されます。このキーワード は、構成ファイルの中で 1 回だけ指定できます。 PREPEND_JVMPATH=string Java ベースの状態相関が呼び出される前に、動的ライブラリー・パス環境 変数の前に付加されるストリングを指定します。ストリングは、適切な区切 り文字を使用して前に付加されます。区切り文字は、Windows システムの 場合はセミコロン (;)、UNIX システムの場合はコロン (:) です。ストリン 付録 B. 構成ファイルで使用するキーワード 77 グには、ご使用の環境で有効なデータが入っている必要があります。例え ば、Windows システムの場合は PREPEND_JVMPATH=c:¥my_product¥jre¥bin;c:¥my_product¥jre¥bin¥classic、 UNIX システムの場合は PREPEND_JVMPATH= /my_product/jre/bin:/my_product/jre/bin/classic です。このキーワードは、C で 作成されたアダプターでのみ有効で、適切な動的ライブラリー・パス環境変 数の前に付加されます。オペレーティング・システムごとの環境変数につい ては、 31 ページの表 9 を参照してください。 注: システム動的ライブラリー・パス環境変数は変更されません。このキー ワードは、構成ファイルの中で 1 回だけ指定できます。 RetryInterval=timeout ConnectionMode=connection_oriented の場合、イベント・サーバーとの接 続が切断されると、アダプターは、指定された時間待ってから、1 次または 2 次サーバーへの接続を再試行するか、イベントをバッファーに入れます。 アダプターは、この時間間隔が終了するのを待っている間、新規のイベント を処理しません。 このオプションにより、1 次イベント・サーバーが短時間 (新規ルール・ベ ースのロード中など) 停止しても、アダプターが 1 次イベント・サーバー にすべてのイベントを送信できるようになります。 このキーワードを使用してイベント・サーバーの再始動を待つ場合は、イベ ント・サーバーの停止と再始動に必要な時間よりも長い時間を設定してくだ さい。 このキーワードはオプションです。デフォルト値は 120 秒です。 ServerLocation=host イベント・サーバーまたは Tivoli Enterprise Console ゲートウェイがインス トールされているホストの名前を指定します。このフィールドの値は、表 12 で示された形式のいずれかにしてください。アダプターが TME アダプ ターか非 TME アダプターかどうか、さらにイベント・サーバーが、相互接 続された Tivoli 管理リージョンの一部かどうかで選択する形式は異なりま す。 表 12. ServerLocation キーワードの形式 アダプター・タイプ フォーマット TME @EventServer 相互接続された Tivoli 管理リ ージョンの TME @EventServer#region_name 非 TME host_name または IP_address。 IP_address の場 合、ドット形式にします。 管理対象ノードの TME アダプターと非 TME アダプターでは、 ServerLocation キーワードに値を最大 8 つまで指定できます。値はコンマで 区切ります。 1 番目の位置は 1 次イベント・サーバーで、それ以降は 1 次サーバーがダウンした時に使用する 2 次サーバーを順番に指定します。 78 Tivoli Event Integration Facility: リファレンス エンドポイント・アダプターでは、2 次イベント・サーバーがある場合、こ れは Tivoli Enterprise Console ゲートウェイの構成ファイルで定義されま す。エンドポイント・アダプターの構成ファイルでは、1 次イベント・サー バーのみを指定してください。 非 TME アダプターの場合は、デフォルト値は localhost です。管理対象 ノード上の TME アダプターの場合は、デフォルト値は @EventServer で す。エンドポイント上の TME アダプターは、デフォルトで Tivoli Enterprise Console ゲートウェイ上の構成を使用します。 Tivoli Enterprise Console ゲートウェイの詳細については、「IBM Tivoli Enterprise Console ユーザーズ・ガイド」を参照してください。 エンドポイント・アダプターの場合は、ServerLocation 値に IP 名またはア ドレスを使用すると、Tivoli Enterprise Console ゲートウェイはその値を使 用して、サーバーとの非 Tivoli 接続でイベントを送信します。 非 TME アダプターの場合は、ServerLocation キーワードに Tivoli Enterprise Console ゲートウェイの IP 名またはアドレスを使用できます。 ただし、このゲートウェイで非 TME アダプターからのイベントを受信でき るようになっている必要があります。 ServerLocation キーワードはオプションです。TransportList キーワードが指 定されている場合は使用しません。 注: TestMode キーワードと一緒に使用した場合、ServerLocation キーワード では、イベント・サーバーの名前とパスではなく、イベントのログ・フ ァイルの名前とパスを定義します。 ServerPort=number イベント・サーバーまたは Tivoli Enterprise Console ゲートウェイがイベン トを listen する、ポート番号を指定します。イベント・サーバーで portmapper を使用できない場合を除き、このキーワードは 0 に設定しま す。portmapper が使用できないのは、イベント・サーバーが Microsoft Windows 上で実行されていたり、Tivoli Availability Intermediate Manager で ある場合です (下記注釈を参照)。ポート番号が 0 (ゼロ) または指定されて いない場合、ポート番号は、portmapper を使用して検索されます。 注: portmapper は、Tivoli Enterprise Console ゲートウェイで、非 TME ア ダプターからのイベントを受信する場合はサポートされません。非 TME アダプターがこのゲートウェイにイベントを送信する場合は、 Tivoli Enterprise Console ゲートウェイ構成ファイルの gwr_ReceptionPort キーワードの値と一致するよう、ServerPort キーワー ドをコーディングする必要があります。 ServerPort キーワードには、値を最大 8 つ指定できます。値はコンマで区 切ります。UNIX イベント・サーバーにイベントを送信する非 TME アダプ ターの場合は、デフォルト値の 0 を使用します (ServerLocation キーワード で、UNIX のイベント・サーバーが複数指定されている場合でも 0 の値 1 つだけを使用します)。Windows のイベント・サーバーまたは Tivoli 付録 B. 構成ファイルで使用するキーワード 79 Availability Intermediate Manager にイベントを送信する非 TME アダプター の場合、ServerLocation キーワードに定義されているイベント・サーバー に、それぞれ値を 1 つ指定します。 イベント・サーバーを UNIX で稼働している場合、ServerPort キーワード はオプションですが、Windows で稼働している場合、このキーワードは必 須です。TransportList キーワードが指定されている場合は使用しません。 注: イベント・サーバーが Windows オペレーティング・システム上で実行 されている場合: Windows システムには、実行時にアダプターが受信ポ ートを照会できる portmapper デーモンはありません。イベント・サー バーは、接続やアダプターの入力用に、固定受信ポート (.tec_config フ ァイルの tec_recv_agent_port) を listen します。ServerPort キーワード を tec_recv_agent_port エントリーの値 ($BINDIR/TME/TEC ディレクト リーの .tec_config ファイル内) に設定します。デフォルト値は 5529 で す。Tivoli Availability Intermediate Manager は portmapper を使用しま せん。Tivoli Availability Intermediate Manager サーバーは、Tivoli Availability Intermediate Manager のグラフィカル・ユーザー・インター フェースで設定されている固定ポートで listen します。 StateCorrelationCleaningInterval=milliseconds 状態相関によって、イベント・ストレージ・ファイルから不要なエントリー を除去する間隔を、ミリ秒単位で指定します。デフォルト値は 1 分です。 このキーワードはオプションです。 StateCorrelationConfigURL=pathname 状態相関の構成が格納されているディレクトリーとファイル名を指定しま す。Windows システムの場合のパス例は、file:C:¥work_dir¥tstate¥tecroot.xml です。UNIX システムの場合のパス例は、file:///work_dir/tstate/tecroot.xml で す。 このキーワードは、UseStateCorrelation キーワードが YES に設定されてい る場合に必要です。 StateCorrelationMaxFileSize=kilobytes 状態相関によって作成される各イベント・ストレージ・ファイルの最大サイ ズをキロバイトで指定します。イベントのサイズは可変的なので、これは概 算値です。 このキーワードはオプションです。 StateCorrelationTotalSize=kilobytes 状態相関の場合のキャッシュ・メカニズム全体の最大許容値をキロバイトで 指定します。イベントのサイズは可変的なので、これは概算値です。 注: この値は、StateCorrelationMaxFileSize キーワードで指定した値の 2 倍 以上でなければなりません。値が 2 倍の場合は、少なくとも次の 2 つ のファイルをサポートすることができます。 v 現行のイベント・キャッシュ・ファイル persist1.out v アーカイブしたイベントを保持するファイル archive1.out (最低 1 フ ァイル) 80 Tivoli Event Integration Facility: リファレンス このキャッシュのディスク・スペースを計算する場合は、指定する値の 10% のバッファー (4 KB 以上) があることを確認してください。この構成 であれば、キャッシュがディスク・スペース不足になることはありません。 状態相関のキャッシュが上限値 (このキーワードで指定した値) に達する と、次のことが発生します。 1. 後続のすべてのイベントが、Tivoli Event Integration Facility に中断例外 を戻します。そして、Tivoli Event Integration Facility がアプリケーショ ンにエラーを戻します。 2. キャッシュの強制クリーンアップが開始されます。削除済みのイベント はすべて、永続キャッシュから除去されます。 3. 残りのイベントは回復されて、Tivoli Event Integration Facility に戻され ます。そして、Tivoli Event Integration Facility がこれらのイベントを転 送します。 4. 状態相関のキャッシュが再初期化されて、イベント処理が再開されま す。 このキーワードはオプションです。 TestMode=YES | NO テスト・モードをオンにするか、オフにするかを指定します。TestMode=YES の場合、ServerLocation キーワードには、イベント・サーバーにイベントを 送信する代わりにイベントのログを記録するファイルを指定します。有効な 値は YES および NO で、大文字小文字は区別しません。デフォルト値 は、NO です。 TestMode キーワードはオプションです。 TraceFileName=pathname Java API の場合のトレース・ファイルの絶対パス名を指定します。デフォ ルトのファイル位置は $TIVOLIHOME/tec/eif.trc です。 UseStateCorrelation キーワードが YES に設定されている場合は、 TraceFileName キーワードで、状態相関の場合にトレースを格納するパスも 定義します。Tivoli Event Integration Facility により、指定されたファイル 名に接頭部が追加されます。接頭部で、Java API のトレース・ファイルと 状態相関のトレース・ファイルを区別します。パスのデフォルト値は $TIVOLIHOME/tec/eif_sc.trc です。 指定したパス名が無効であると、API は次のエラーを戻します。 LOG0014E Unable to open the handler output file <filename>. java.io.FileNotFoundException: <filename> (The system cannot find the path specified) このキーワードはオプションです。 TraceLevel=level Java API がトレース・メッセージを生成するかどうかを指定します。デフ ォルトでは、メッセージは生成されません。メッセージを生成させる場合は ALL を指定します。その他の値を指定した場合、または値を指定しなかった 場合は、メッセージは生成されません。 このキーワードはオプションです。 付録 B. 構成ファイルで使用するキーワード 81 TransportList=type_name,... トランスポート・メカニズムのユーザー定義の名前を指定します。名前はコ ンマで区切ります。送信側アプリケーションのトランスポート・メカニズム に障害が発生すると、API は、次のトランスポート・メカニズムを、リスト されている順に使用します。受信側アプリケーションでは、API はすべての トランスポート・メカニズムを作成して使用します。 注: このキーワードは Solaris、HP、AIX、Linux、および Windows アダプ ターでのみサポートされます。他のアダプターではサポートされませ ん。 このキーワードはオプションです。指定する場合は、各 type_name のトラ ンスポート・タイプとチャネルを、Type キーワードと Channels キーワー ドで指定します。 type_nameType=LCF | SOCKET | TME TransportList キーワードで指定されたトランスポート・メカニズム のトランスポート・タイプを指定します。 このキーワードは必須です。 各 channel_name のサーバーとポートを、ServerLocation キーワード と Port キーワードで指定します。 type_nameChannels=channel_name,... TransportList キーワードで指定されているトランスポート・メカニ ズムで使用するチャネルのユーザー定義の名前を指定します。名前 はコンマで区切ります。 このキーワードは必須です。 指定された Type の値 (LCF、SOCKET、TME) に応じて、次のキー ワードを 1 つ以上使用します。 channel_namePort=number トランスポート・メカニズム・サーバーが、指定されたチャ ネル (Channel キーワードで指定) を listen するのに使用す るポート番号を指定します。このキーワードをゼロ (0) に 設定した場合、portmapper が使用されます。このキーワー ドは、Type キーワードが SOCKET に設定されている場合 に必須です。これはエンドポイント・アダプターの場合、オ プションのキーワードです。 channel_namePortMapper=YES 指定したチャネルの portmapper を使用可能にします。この オプションのキーワードが有効なのは、トランスポート・タ イプとして SOCKET を設定した場合だけです。 channel_namePortMapperName=name portmapper が使用可能な場合は、portmapper の名前を指定 します。このオプションのキーワードが有効なのは、トラン スポート・タイプとして SOCKET を設定した場合だけで す。 82 Tivoli Event Integration Facility: リファレンス channel_namePortMapperNumber=rpc_id リモート・プロシージャー・コールで登録した ID を指定 します。このオプションのキーワードが有効なのは、トラン スポート・タイプとして SOCKET を設定した場合だけで す。 channel_namePortMapperVersion=version_number portmapper が使用可能な場合は、portmapper のバージョン を指定します。このオプションのキーワードが有効なのは、 トランスポート・タイプとして SOCKET を設定した場合だ けです。 channel_nameServerLocation=server[region] イベント・サーバーの名前と、そのサーバーがトランスポー ト・メカニズムで指定チャネルを受信待機するリージョンを 指定します。チャネルは、Channel キーワードで設定しま す。このキーワードは、Type キーワードが TME、LCF、SOCKET に設定されている場合に必要です。 server および region フィールドの有効な形式は、 78 ペー ジの表 12 を参照してください。 channel_nameTMEHost=hostname Java API の場合のみ、イベント・サーバーが常駐する管理 対象ノードのホスト名を指定します。これは、Type キーワ ードが TME に設定されている場合に必須のキーワードで す。 channel_nameTMEPassword=password Java API の場合のみ、管理対象ノードへの接続時に使用す る Tivoli アドミニストレーターのパスワードを指定しま す。このキーワードは、Type キーワードが TME に設定さ れている場合に必須です。 channel_nameTMEPort=number Java API の場合のみ、管理対象ノードのポート番号を指定 します。このキーワードのデフォルト値は 94 です。このキ ーワードは、Type キーワードが TME に設定されている場 合に必須です。 channel_nameTMEUserID=name Java API の場合のみ、管理対象ノードの Tivoli アドミニス トレーターを指定します。必要な許可の役割は user です。 このキーワードは、Type キーワードが TME に設定されて いる場合に必須です。 UseStateCorrelation=YES | NO API が状態相関エンジンを呼び出すかどうかを指定します。デフォルト値 は、NO です。このキーワードが YES に設定されている場合は、 BufferEvents キーワードおよび BufEvtPath キーワードで状態相関を制御し ます。 このキーワードはオプションです。 付録 B. 構成ファイルで使用するキーワード 83 WIDTHSTRMEANING=YES | NO 長さ修飾子がどのように解釈されるかを指定します。値は次のとおりです。 84 NO 長さ修飾子を切り捨ての指示と解釈します。つまり、全ストリング とマッチングし、関連した変数を指定された長さに切り捨てます。 これはデフォルト値です。 YES 長さ修飾子を Tivoli Enterprise Console バージョン 3.6.x の場合と 同様に解釈します。つまり、マッチングするストリングの長さを指 定したとおりに解釈します。 Tivoli Event Integration Facility: リファレンス 特記事項 本書は米国 IBM が提供する製品およびサービスについて作成したものであり、本 書に記載の製品、サービス、または機能が日本においては提供されていない場合が あります。日本で利用可能な製品、サービス、および機能については、日本 IBM の営業担当員にお尋ねください。本書で IBM 製品、プログラム、またはサービス に言及していても、その IBM 製品、プログラム、またはサービスのみが使用可能 であることを意味するものではありません。これらに代えて、IBM の知的所有権を 侵害することのない、機能的に同等の製品、プログラム、またはサービスを使用す ることができます。ただし、IBM 以外の製品とプログラムの操作またはサービスの 評価および検証は、お客様の責任で行っていただきます。 IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を 保有している場合があります。本書の提供は、お客様にこれらの特許権について実 施権を許諾することを意味するものではありません。実施権についてのお問い合わ せは、書面にて下記宛先にお送りください。 〒106-0032 東京都港区六本木 3-2-31 IBM World Trade Asia Corporation Licensing 以下の保証は、国または地域の法律に沿わない場合は、適用されません。 IBM およびその直接または間接の子会社は、本書を特定物として現存するままの状 態で提供し、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を 含むすべての明示もしくは黙示の保証責任を負わないものとします。 国または地域によっては、法律の強行規定により、保証責任の制限が禁じられる場 合、強行規定の制限を受けるものとします。 この情報には、技術的に不適切な記述や誤植を含む場合があります。本書は定期的 に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随 時、この文書に記載されている製品またはプログラムに対して、改良または変更を 行うことがあります。 本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のた め記載しただけであり、決してそれらの Web サイトを推奨するものではありませ ん。それらの Web サイトにある資料は、この IBM 製品の資料の一部ではありませ ん。それらの Web サイトは、お客様の責任でご使用ください。 IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うこと のない、自ら適切と信ずる方法で、使用もしくは配布することができるものとしま す。 © Copyright IBM Corp. 2003 85 本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプロ グラム (本プログラムを含む) との間での情報交換、および (ii) 交換された情報の 相互利用を可能にすることを目的として、本プログラムに関する情報を必要とする 方は、下記に連絡してください。 IBM Corporation 2Z4A/101 11400 Burnet Road Austin, TX 78758 U.S.A. 本プログラムに関する上記の情報は、適切な使用条件の下で使用することができま すが、有償の場合もあります。 本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、 IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれ と同等の条項に基づいて、IBM より提供されます。 この文書に含まれるいかなるパフォーマンス・データも、管理環境下で決定された ものです。そのため、他の操作環境で得られた結果は、異なる可能性があります。 一部の測定が、開発レベルのシステムで行われた可能性がありますが、その測定値 が、一般に利用可能なシステムのものと同じである保証はありません。さらに、一 部の測定値が、推定値である可能性があります。実際の結果は、異なる可能性があ ります。お客様は、お客様の特定の環境に適したデータを確かめる必要がありま す。 IBM 以外の製品に関する情報は、その製品の供給者、出版物、もしくはその他の公 に利用可能なソースから入手したものです。IBM は、それらの製品のテストは行っ ておりません。したがって、他社製品に関する実行性、互換性、またはその他の要 求については確証できません。IBM 以外の製品の性能に関する質問は、それらの製 品の供給者にお願いします。 IBM の将来の方向または意向に関する記述については、予告なしに変更または撤回 される場合があり、単に目標を示しているものです。 本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。よ り具体性を与えるために、それらの例には、個人、企業、ブランド、あるいは製品 などの名前が含まれている場合があります。これらの名称はすべて架空のものであ り、名称や住所が類似する企業が実在しているとしても、それは偶然にすぎませ ん。 本書には、様々なオペレーティング・プラットフォームでのプログラミング手法を 例示するサンプル・アプリケーション・プログラムがソース言語で掲載されていま す。お客様は、サンプル・プログラムが書かれているオペレーティング・プラット フォームのアプリケーション・プログラミング・インターフェースに準拠したアプ リケーション・プログラムの開発、使用、販売、配布を目的として、いかなる形式 においても、IBM に対価を支払うことなくこれを複製し、改変し、配布することが できます。このサンプル・プログラムは、あらゆる条件下における完全なテストを 経ていません。従って IBM は、これらのサンプル・プログラムについて信頼性、 86 Tivoli Event Integration Facility: リファレンス 利便性もしくは機能性があることをほのめかしたり、保証することはできません。 お客様は、IBM のアプリケーション・プログラミング・インターフェースに準拠し たアプリケーション・プログラムの開発、使用、販売、配布を目的として、いかな る形式においても、IBM に対価を支払うことなくこれを複製し、改変し、配布する ことができます。 この情報をソフトコピーでご覧になっている場合は、写真やカラーの図表は表示さ れない場合があります。 商標 以下は、IBM Corporation の商標です。 AIX IBM IBM ロゴ OpenEdition OS/390 Tivoli Tivoli ロゴ Tivoli Enterprise™ Tivoli Enterprise Console TME Microsoft、Windows、Windows NT および Windows ロゴは、Microsoft Corporation の米国およびその他の国における商標です。 Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。 UNIX は、The Open Group がライセンスしている米国およびその他の国における登 録商標です。 他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。 特記事項 87 88 Tivoli Event Integration Facility: リファレンス 索引 日本語, 数字, 英字, 特殊文字の 順に配列されています。なお, 濁 音と半濁音は清音と同等に扱われ ています。 アプリケーションの構成、C API で作成 された受信 イベント 子 36 オーファン イベントの流れ エンドポイント 受信 システム変数、設定 LCF_BINDIR 14 トランスポート・オプション ライブラリー 28, 30 作成 イベント送達 14 イベント・リスナー インストール 9 概要 13 定義 23 内部のクラス表現 (BAROC) 流れ 2, 22 概要 21 構成 29 テスト 29 4 72 API 45 説明 1 ソースのモニター 3 非 TME 4, 14, 28 必要なライブラリー 27 必要なライブラリーへのリンク 27 ファイル、リスト 21 例コード 26 TME 4, 30 アダプター、非 TME およびエンドポイ ント 24 アダプター構成機能 72 アダプターのコンパイル、C API で作成 した 27 アダプターのコンパイル、Java API で作 成した 27 アダプターの実行、Event Integration Facility Java API で作成された 30 アダプターをライブラリーにリンク 27 © Copyright IBM Corp. 2003 9 準備 9 マイグレーション 10 インストール・プロセス、スタンドアロン 9 インターオペラビリティー エラー・ファイル 場所 71 モニター リスナー ID 5 エラー・メッセージ 71 エンコード方式、UTF-8 31, 76, 77 エンドポイント・アダプター 23 1 40 イベント送達 概要 13 過負荷 40 タイマー チャネル イベントの流れ 10 2 キャッシュ 72 実行場所 29 状態相関 35 構成ファイル、例 18 接続オプション 13 選択、方法の 23 24 22 15 ファイアウォール 15 フィルター操作 6 変換 3 イベント受信接続パラメーター 23 イベントの識別 22 イベント・クラス 23 インストール 29 プログラミング 要約 6 イベント・データベース 23 バッファー・ファイル 29 概要 3 管理対象ノード 状態相関 35 16 ファイル 22 ポート番号 79 4 1, 15 送達方法 27 状態相関 35 トランスポート・オプション ライブラリー 27 78 40 バックアップのリスト ストリング 説明 1 2 バックアップ 36 40 クラス定義、ベース サマリー 36 アダプター 2 接続、 停止時または始動時 説明 1, 5 可用性 [ア行] イベント・サーバー イベントの流れ 19 トランスポート・オプション ライブラリー 27 40 17 テスト・オプション 14 トランスポート・オプション バックアップ・サーバー 17 イベントの受信 説明 15 API 24 イベントの送信 キャッシュからのレート 16 テスト 13, 14 方法 13 API 24 イベントの流れ 2, 22 イベント・クラス 階層 23 説明 23 定義 23 デフォルトのクラス 23 名前 23, 71 フィルター操作 33 イベント・コンソール 22 14 [カ行] 13 階層、イベント・クラス 23 過負荷、イベント送達 40 可用性、イベント 40 環境変数 CLASSPATH 36 環境変数、表記 ix 関数 概要 24 通信 25 データ転送 26 disconnect 63 getConfigVal 64 onMessage 65 receiveEvent 66 registerListener 67 sendEvent 68 TECAgent 69 TECEvent 70 tec_agent_getenv 46 tec_agent_init 47 89 関数 (続き) 構成ファイル (続き) tec_create_EIF_handle 48 tec_create_handle 49 説明 21 例、イベント送達 tec_create_handle_c 50 例、キャッシュ tec_create_handle_r 52 API tec_destroy_handle tec_errno 54 53 tec_get_event 概要 57 2 viii イベントの受信 15 エンドポイント・アダプター 72 概要 16 活動化 16 キーワード 72, 73 サイズ 16, 40 説明 16 パス 72 フィルター操作 34, 74 キャッシュ、イベント サイズ 72 キャッシュの活動化 16 許可、wpostzmsg および TECAgent 42 許可、wpostzmsg および Tivoli Enterprise 14 アダプター 24 クラス、イベント 「イベント・クラス」を参照 4 クラス名 EDException 10 EIFException 10 ゲートウェイ、IBM Tivoli Enterprise Console イベントの流れ 1, 2 構成ファイル 21, 33 状態相関 35 接続 73 バックアップ・トランスポート 18 フィルター操作、イベントの 33, 35 XML ファイル 21 言語、2 バイト文字 31 構成ファイル 概要 33 キーワード 71 90 説明 3, 23 モニター、アダプターによる 「状態相関」を参照 属性 22 コンパイル、アダプターの 26 概要 C API で 19 式、フィルター操作の タイマー イベント送達 35 40 17 チューニング、パフォーマンスの 通信 イベント・サーバーとの 25 16, 34 状態相関 概要 33, 35 キーワード 76 API 40 24, 25 データ転送関数 26 データベース イベント 22 36 37 トレース 39 ライブラリー 30 log.jar ファイル 36 xerces-3.2.1.jar ファイル 36 XML 80 zce.jar ファイル 36 状態マシン 実行 36 除去、イベントの 33 書体の規則 viii 資料 vi 信頼性 17 スタブ・ライブラリー 25 スタンドアロン・インストール・プロセス 9 ストリング、イベント 23 スペース、ブランク 71 スレッド 26 正規表現、フィルター操作の 35 セキュリティー、トランスポート 14 接続 オプション 13 キーワード 73, 78 コネクション依存型送達 13 Tivoli Event Integration Facility: リファレンス 9 単一引用符 71 チャネル、イベントの送達 システム障害 16, 34 システム要件 9 初期化 API 25 キャッシュ 73, 80 クリーンアップ 80 実行、状態マシンの 35 17, 18, 82 ソフトウェア要件 [タ行] 障害、システム 3 2 作成、アダプターの 24, 45 作成された受信アプリケーションの構成、 テスト 40 相関、状態 14 [サ行] 既存のアダプターのアップグレード 24 キャッシュ イベント送信のレート 16, 73, 76 Console Agent 許可の役割 31, 76, 77 ソケット 5, 71 13 13 ソース wpostzmsg 14 コンソール、イベント 14 13 接続パラメーター、イベント受信 前提条件 9 33 28, 30 キーワード、構成ファイル 規則 書体 TME 31 postzmsg トランスポート・オプション ライブラリー 非 TME 16 UTF-8 エンコード方式 コマンド 管理対象ノード・アダプター イベントの流れ 状態相関 35 コネクションレス型送達 再試行 78 18 24, 25 項目、フィルター 国際化対応 55 tec_put_event 56 tec_register_callback 接続 (続き) デーモン、portmapper 18, 79, 82 定義、イベント 23 ディレクトリー名、表記 ix テスト アダプター 29 イベントの送信 13, 14 イベントのフィルター操作 37 作成 24 状態相関 37 デバッグ 「トラブルシューティング」を参照 39 トラブルシューティング アダプター・コード 24 概要 39 シナリオ、共通 41 トレース・ログ 39 メッセージ・ログ 39 トランスポート オプション 13 タイプ 17 LCF 14, 17 SOCKET 17 TME 14, 17 トランスポート・タイプ 82 トレース・ログ 39, 74, 81 [ナ行] 名前、イベント・クラス ニュースグループ 例 35 フォーマット・ファイル 23 vii vi 9 プログラミング、アダプターの 24 33 ヘッダー・ファイル アダプター・コード内 ルール IBM Tivoli Enterprise Console tec_eeif.h tec_eif.h 変数 17, 40, 78 10 13, 16, 17, 40 LD_LIBRARY_PATH 非 TME 接続 13 非ポーリング、イベントの受信 表記 [数字] 2 バイト文字 15 ポーリング、イベントの受信 ファイアウォール、イベント送信 ファイル 4 com.tivoli.tec.eif.* 10 com.tivoli.tec.event_delivery.* eif.log 76 evd.jar 30 log.jar 30 root.baroc 4 .ed_diag_config 74 フィルター操作、イベントの キーワード 74, 75 キャッシュ 74 キャッシュ・ファイル 34 構成ファイル 33 項目、フィルター 33 システム障害 34 状態相関 33, 35 正規表現 35 テスト 37 廃棄、イベントの 33 要約 6 79 15 [マ行] 74 10 39, 74, 76 ソース、アダプター別 10 19 APPEND_CLASSPATH キーワード 71 APPEND_JVMPATH キーワード 72 マイグレーション、アダプターの マニュアル メッセージ・ログ モニター イベント 23 ActiveConnections キーワード 19 ActiveConnectionsSafety キーワード AdapterCdsFile キーワード 71 AdapterErrorFile キーワード 71 「資料」を参照 vi マルチスレッド 26 バッファー 72 フォーマット 31 ライブラリー 27 ロギングおよびトレース用 BAROC 4, 71 15 31 A 76 UDP 呼び出しの再送 75 ポート番号、イベント・サーバー用 環境変数 ix 書体 ix パス名 ix イベント・クラス定義 構成 71 31 SHLIB_PATH 31 TIVOLIHOME 72, 76 変数の表記 ix ポート portmapper 31 トレース 39 メッセージ 39, 76 31 LIBPATH 31 PATH 31 24 26 ログ 36 LD_LIBRARY_PATHJ 4 6 ローカリゼーション・ディレクトリー 34, 72, 73 トランスポート・オプション 14 ライブラリー 28 非 TME およびエンドポイント・アダプ 10 説明 21 例、アダプター・コード パフォーマンス、構成 非 TME アダプター イベントの流れ 2 概要 21 10 CLASSPATH ターの作成 1, 15 リターン・コード パッケージ、Java 21 バッファー・ファイル 説明 リスナー、イベント 15 バックアップ サーバー 25 リージョン、Tivoli 管理 17 リカバリー、システム 16 ブランク・スペース 71 プロキシー、ファイアウォール [ハ行] 廃棄、イベントの パス名、表記 ix ライブラリー、スタブ 31 ブック 「資料」を参照 ハードウェア要件 [ラ行] フィルター操作、イベントの (続き) 3 問題判別 「トラブルシューティング」を参照 39 [ヤ行] 役割、許可 アダプター 24 ユーティリティー トレースとログ 39 ed_scan_get_n 59 ed_scan_n 60 ed_sleep 61 要件、システム 9 呼び出し 「関数」を参照 46 B BAROC 「BAROC ファイル」を参照 4 BAROC ファイル イベント・ストリング、作成 23 クラス名、構成ファイル内 71 説明 4, 21 BufEvtMaxSize キーワード 16, 72 BufEvtPath キーワード 14, 42, 72 BufferEvents キーワード 16, 34, 73 BufferFlushRate キーワード 16, 73 C C API で作成された受信アプリケーショ ンの構成 19 C API で作成したアダプターのコンパイ ル 27 C API、概要 6 CDS ファイル 場所 71 Channels キーワード 82 CLASSPATH 環境変数 36 com.tivoli.tec.eif.* ファイル 10 索引 91 com.tivoli.tec.event_directory.* ファイル 10 ConnectionMode キーワード ConnectionsQueued 73 N jar ファイル NO_UTF8_CONVERSION キーワード evd.jar 36 Java API で作成されたアダプターの実 20 行、Event Integration Facility D DBCS J 30 Java API で作成したアダプターのコンパ イル 27 Java API、概要 31 disconnect 関数 26, 63 Java パッケージ jcf.jar ファイル JNI 31 E jsafe.zip ファイル ed_diag_config_file キーワード ed_sleep ユーティリティー 61 EIFSDK 9 EIFSDK の下のディレクトリー構造: bin、contrib、default_sm、include、jars、 javadoc、lib、samples 9 Event Integration Facility Java API で作成 されたアダプターの実行 30 Filter キーワード 33, 74 FilterCache キーワード 33, 74 getConfigVal 関数 64 getport_timeout_seconds キーワード 75 getport_timeout_usec キーワード 76 getport_total_timeout_ usec キーワード 76 getport_total_timeout_seconds キーワード 76 H I ibmjsse.jar ファイル ID、イベント 5 30 24 postzmsg コマンド LCF トランスポート・タイプ 14, 17, 82 LD_LIBRARY_PATH 変数 31 LD_LIBRARY_PATHJ 変数 31 libas.a ライブラリー 28 36 libjvm.dll ファイル 36 libjvm.sl ファイル 36 libjvm.so ファイル 36 27, 28, 29 Tivoli Event Integration Facility: リファレンス 16, 76 31, 77 Pre37ServerEncoding キーワード 31, 77 PREPEND_CLASSPATH キーワード 77 PREPEND_JVMPATH キーワード 77 R receiveEvent 関数 66 RECEIVER_MODE 11 registerListener 関数 67 RetryInterval キーワード libsunrpc.a ライブラリー 28, 29 libtas.a ライブラリー 28 libteceeiffwk.a ライブラリー 14, 28 libteceeifgw.a ライブラリー 14 libteceeif.a ライブラリー 14, 28 libteceifgw.a ライブラリー 27 libteceif.a ライブラリー 14 libteclcf.a ライブラリー 31 libteclcf.sl ライブラリー 31 libteclcf.so ライブラリー 31 libthreads.a ライブラリー 28 libthread.a ライブラリー 28, 29 libtmf.a ライブラリー 28 libui.a ライブラリー 28 LogFileName キーワード 39, 76 LogLevel キーワード 39, 76 log.jar ファイル 30, 36 MaxPacketSize キーワード 14 Pre37Server キーワード M 92 31 Port キーワード 82 portmapper デーモン 18, 79, 82 libpthread.a ライブラリー 29 librim.a ライブラリー 28 libsocket.a ライブラリー 28, 29 G HPUX、サポートされていない PATH 環境変数 30 libpthreads.a ライブラリー FilterMode キーワード 75 FQHostname キーワード 75 vi P libmrt.a ライブラリー 27 libnsl.a ライブラリー 28, 29 LIBPATH 変数 31 F 65 21 30 L libjvm.a ファイル onMessage 関数 6 libcpl.a ライブラリー 27 libdes.a ライブラリー 27 libdl.a ライブラリー 27, 28, 29 eif.log ファイル 76 evd.jar ファイル 30, 36 Event Integration Facility 24 O OS/390 OpenEdition 74 ed_scan_get_n ユーティリティー 59 ed_scan_n ユーティリティー 60 76 78 root.baroc (ベース BAROC ファイル) 4 S SENDER_MODE 11 sendEvent 関数 68 ServerLocation キーワード 18, 78, 83 ServerPort キーワード 79 SHLIB_PATH 変数 31 SOCKET トランスポート・タイプ 17, 82 StateCorrelationCleaningInterval キーワード 80 StateCorrelationConfigPath キーワード 80 StateCorrelationMaxFileSize キーワード 80 StateCorrelationTotalSize キーワード 80 T Tcl 式、フィルター操作の 35 TCP ソケット 17 TECAgent 関数 69 TECAgent クラス定数 10 TECEvent 関数 70 teclcf.dll ライブラリー 31 tec_agent_getenv 関数 46 tec_agent_init 関数 47 tec_create_EIF_handle 関数 48 tec_create_handle 関数 49 Z tec_create_handle_c 関数 50 tec_create_handle_r 関数 52 zce.jar ファイル 30, 36 tec_destroy_handle 関数 53 tec_eeif.h ヘッダー・ファイル 10 tec_eif.h ヘッダー・ファイル tec_errno 関数 54 [特殊文字] 10 .baroc ファイル tec_get_event 関数 55 tec_put_event 関数 56 tec_recv_agent_port エントリー 「BAROC ファイル」を参照 .conf ファイル 80 「構成ファイル」を参照 tec_register_callback 関数 57 .ed_diag_config ファイル TestMode キーワード theTECAgent=new .rls ファイル 「ルール」を参照 81 sr, TECAgent.SENDER_MODE, false 21 21 74 21 .xml ファイル 11 「XML ファイル」を参照 ' (単一引用符) 71 Tivoli Application Development 21 Environment 27, 28 Tivoli Availability Intermediate Manager 79 Tivoli Management Framework イベントに必要 4 ライブラリー 27, 28 Firewall Security Toolbox 15 Tivoli 管理リージョン 17 TIVOLIHOME 変数 72, 76 TME アダプター 4, 30 TME 接続 13 TME トランスポート・タイプ 82 TraceFileName キーワード 14, 17, 39, 81 TraceLevel キーワード 39, 81 TransportList キーワード 15, 18, 82 Type キーワード 18 U UDP 呼び出し 75 UseStateCorrelation キーワード 83 UTF-8 エンコード方式 76, 77 W WIDTHSTRMEANING キーワード Windows、特別な考慮事項 26 Winsock の初期化、WSAStartup WSASCleanup 26 Winsocket 26 wpostzmsg コマンド 14 84 X xerces-3.2.1.jar ファイル XML ファイル 21 30, 36 索引 93 94 Tivoli Event Integration Facility: リファレンス プログラム番号: 5698-TEC Printed in Japan SC88-9605-00
© Copyright 2024 ExpyDoc