シナリオ: 診断情報を収集するための MMI API の実行
XYZ Corporation で Maximo® Asset Management 環境に問題が発生し、システム管理者が IBM® 技術サポートと一緒に問題管理レポート (PMR) を開きます。IBM 技術サポートおよび開発部門は、顧客の Maximo 環境から特定のリソースの診断情報を収集する必要があると判断しました。
IBM 技術サポートおよび開発部門は、ロギング・アプリケーションの「モニター環境情報」ダイアログにある使用可能なリソースを確認し、システム管理者が特定の MMI API を実行する必要があると判断しました。場合によっては、情報を収集するために必要な API がすぐに使用可能でないこともあります。その場合、IBM 開発部門は、必要な情報を収集できるスクリプトを提供することがあります。
IBM は、http://<host>:<port>/maximo/oslc/members/<memberid>/<api> のような URL を入力して Web ブラウザーで API を実行するようにシステム管理者に指示します。 システム管理者は、IBM による分析のために、PMR で結果の診断出力を送信します。
API の出力
システム管理者がブラウザーに必要な URL を入力して MMI API を実行すると、その出力がブラウザーに直接表示されます。
ブラウザーに JSON ビューアーのアドオンまたは拡張機能がインストールされていない限り、出力はフォーマット設定されておらず、簡単に読むことはできません。JSON ビューアーには、Mozilla Firefox ブラウザー用と Google Chrome ブラウザー用があります。Microsoft Internet Explorer には、JSON ビューアーはありません。JSON ビューアーを見つけるには、ブラウザーを開き、「JSON ビューアー」を Web 検索します。 例えば、Firefox には、JSONView というアドオンがあります。Chrome には、JSONView という拡張機能があります。
システム管理者はブラウザーの出力をテキスト・ファイルに保存し、IBM による分析のために PMR でそのファイルを送信します。
スクリプトの作成
前提条件スキル
- システム管理者レベル
- REST API 呼び出しの経験
- プログラミングおよびスクリプト言語のスキル
サンプル・スクリプト
from psdi.server import MXServer
if request.getWhere() is not None and request.getWhere().get("spi:topic") is not None:
eventTopicToFind = request.getWhere().get("spi:topic")[0]
eventTopic = MXServer.getMXServer().getEventTopicTree().findEventTopic(eventTopicToFind)
listenerCount = eventTopic.getListenerCount()
br.setProperty("spi:listenerCount",listenerCount)- request - MMI API 要求オブジェクト。このスクリプトは、要求オブジェクトを使用して、ユーザーが関心を持っているオブジェクト・イベント・タイプを判別します。
- br - API がユーザーに返す応答。
このスクリプトは、要求オブジェクトを使用して、オブジェクト・イベント・タイプを判別します。その際、eventTopicToFind = request.getWhere().get("spi:topic")[0] で Whereパラメーターを使用します。
br パラメーターには、単純な setProperty(string,any) インターフェースがあります。スクリプトはこのインターフェースを使用して、ユーザーに返送する情報を収集します。スクリプトは br setProperty API を使用して、整数 listenerCount を br オブジェクトに設定します。 このオブジェクトは、API の利用者への応答をフォーマット設定するために使用されます。
スクリプトを MMI に追加するには、ロギング・アプリケーションの「モニター環境情報」ダイアログを開き、「新規行」を選択し、「クラス名またはスクリプト名」フィールドにスクリプト名を指定します。スクリプトは、限定された表記 script:<script name> で指定する必要があります (例えば、script:LISTENERS)。
スクリプトを実行するには、URL 構文 http://<host>:<port>/maximo/oslc/members/<memberid>/<event topic context>?oslc.where=spi:topic="maximo.asset.add" を使用します。
URL の例: http://127.0.0.1/maximo/oslc/members/OS4zMi4yMS4xMzcvTVhTZXJ2ZXI-/eventtopic?oslc.where=spi:topic="maximo.asset.add"
MMI API の実行および出力の表示と出力の IBM への送信については、Maximo Management Interface wiki を参照してください。