Hitachi

JP1 Version 13 JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス


4.4.4 メソッド一覧

ユーザー作成プラグインで実装するメソッド一覧を次に示します。

なお,すべてのメソッドを実装する必要はありません。各製品で実装が必要なものだけを選択して実装してください。各製品のプラグインメソッドについては,各製品のマニュアルを参照してください。

表4‒6 ユーザー作成プラグインで実装するメソッド一覧

項番

カテゴリ

メソッド名

説明

4.1の番号※2

1

構成情報取得

__configurationGet

構成情報を取得するメソッドです。

1

2

__configurationGetAdapterless

構成情報を取得するメソッドです(アダプタコマンドが未セットアップの場合)

3

__createTreeNode

ツリー情報を取得するメソッドです。

4

イベント

__eventGet

JP1イベントを処理するメソッドです。

5

5

__transformEvent

(外部システムで発生した)イベント情報をJP1イベントに変換するメソッドです。

6

関連情報取得

__createLink

取得した構成間の関連を生成する処理を行うメソッドです。

2

7

__linkValueGet

リンク情報の詳細情報を取得するメソッドです。

8

__simtLoad

IM管理ノードがローディングされたときに必要な関連情報を収集するメソッドです。

9

トレンド情報取得

__metricListGet

取得可能な時系列データのメトリックの一覧を取得するメソッドです。

3

10

__timeSeriesDataGet

時系列データを取得するメソッドです。

11

url情報取得

__urlGet

モニター起動用のURLを取得するメソッドです。

6

12

ユーザー作成の任意のメソッド※1

ユーザー作成の任意のメソッド※1

ユーザーが作成する任意のメソッドです。

「_」アンダースコアから始まるメソッド名は付けないでください。

3

注※1

ユーザー作成の任意のメソッドは,プラグイン処理実行API(im_api_v1_actions)経由で実行されます。プラグイン処理実行API(im_api_v1_actions)については「5.7.1 プラグイン処理実行」を参照してください。

注※2

4.1 ユーザー作成プラグインによって実現できること」で説明した番号と対応しています。

〈この項の構成〉

(1) __configurationGetメソッド

機能

各製品の構成情報をJSON形式で返却するメソッドです。構成取得対象ホスト定義ファイル(imdd_target_host.conf)にホスト名を記述した場合に,インテリジェント統合管理基盤では,アダプタコマンドを実行したあとアダプタコマンドの戻り値を確認し,戻り値が0のときだけこのメソッドを呼び出します。

  • 構成情報の取得が正常に終了した場合

    __configurationGetメソッド内でargs.setResult(JSON形式の構成情報)メソッドを呼び出します。

  • 構成情報の取得に失敗した場合

    args.setResultメソッドではなくargs.setError(エラーメッセージ)メソッドを呼び出します。

__configurationGetメソッド内では,自身が処理可能なコンポーネントの場合,args.setResultメソッドかargs.setErrorメソッドのどちらかのメソッドを必ず呼び出してください。

__configurationGetメソッドは,インテリジェント統合管理基盤のシステム管理ツリーを作成するjddcreatetreeコマンドの中で呼び出されます。

各ユーザー作成プラグインではargs.componentの値を参照し,自身が処理可能かどうかを判定してください。

パラメーター

__configurationGetメソッドのパラメーターを次に示します。

表4‒7 __configurationGetメソッドのパラメーター

項番

メンバー

説明

備考

1

hostname

構成情報の取得元ホスト名

なし

2

component

構成情報の管理元コンポーネント名

"/HITACHI/JP1/PFM/CONFINFO"

3

data

アダプタコマンドの実行結果

ヘッダー情報に記載されている文字コードに基づき,UTF-8形式に変換された文字列です。

ヘッダー情報は含まれません。

なし

4

jp1UserName

JP1ユーザー名

各製品の管理者権限を持つユーザー

5

jp1Token

jp1UserNameのJP1トークン

JP1トークンはBASE64エンコード済み

6

protocolName

プロトコル名称

アダプタコマンドの実行結果に含まれていたヘッダー情報

7

protocolVersion

プロトコルバージョン

アダプタコマンドの実行結果に含まれていたヘッダー情報

8

codeset

文字コード

アダプタコマンドの実行結果に含まれていたヘッダー情報

9

productName

製品名称

アダプタコマンドの実行結果に含まれていたヘッダー情報

10

setResult(String json)

JSON形式の構成情報をセットするメソッド

なし

11

setError(String message)

エラー通知用のメソッド

エラーメッセージをセットします。

12

stderr

アダプタコマンドが標準エラー出力に出力した値を格納する

注意

setResultに設定する構成情報は,構成要素ごとにvalue情報を付加したSIDを付与する必要があります。SIDの詳細については「7.1 SID」を参照してください。

返却する構成情報一覧

__configurationGetメソッドが返却する構成情報の一覧について説明します。

取得形式
{
  "meta":{
    "timestamp":"作成時刻(ISO8601形式 UTC時刻)",
    "objectRoot":[
        {
           "type":"オブジェクトルートノード種別",
           "defaultSystem":
           {
             "name":"デフォルトシステムノードの構造化IDの名称",
             "label":"デフォルトシステムノードの表示名"
           }
        },…
                 ]
         },
  "simtData":[
    {"sid":"<SID>","value":{付与情報}},
    …
             ]
}
記述内容

取得したインフラ一覧の記述内容を次に示します。

表4‒8 取得したインフラ一覧の記述内容

項番

項目名

データ型

説明

1

meta

Object

ファイルの情報を格納するオブジェクト

2

timestamp

string

ファイル作成の年月日,日時をISO8601形式のUTC時刻で返却する

この属性は省略できません。

時間はJP1/IM - Managerのサーバ時間です。

3

objectRoot

配列

オブジェクトルートノード種別とデフォルトのシステムノード情報を格納する配列

この属性は省略できます。

4

type

string

ツリーのルートノードおよびシステムノード配下に配置するオブジェクトルートノード種別(ネットワーク機器(NETWORKDEVICE)やストレージ(STORAGE)など)を表す

ホスト(HOST)の指定は不要です。必ずツリーのルートノードおよびシステムノード配下に配置してください。

この属性は省略できます。省略した場合は,ホストだけをツリーのルートノードおよびシステムノード配下に配置します。

5

defaultSystem

Object

オブジェクトルートノードが親ノードとなるデフォルトのシステムノードを作成する場合に指定する

この属性を省略した場合,typeで指定したオブジェクトルートノードのデフォルトのツリーノードは,AllSystems直下に配置されます。

6

name

string

デフォルトのシステムノードの構成情報のSIDの名称を指定する

この属性を省略した場合,オブジェクトルートノード種別を構成情報のSIDの名称とします。

7

label

string

デフォルトのシステムノードのlabelを指定する

この属性を省略した場合,デフォルトのシステムノードの付与情報にlabel属性は設定されません。

8

simtData

配列

構成情報の配列

9

sid

string

構成情報のSIDを表す

10

value

Object

付与情報を表す

取得例

__configurationGetメソッドが各製品から取得する情報については,「7.1.4 各製品から取得する情報」を参照してください。

setResultでセットした構成情報による影響

setResultでセットした構成情報によって,影響を受ける機能と影響内容について,次の表に示します。

表4‒9 影響する機能一覧

項番

機能名

影響内容

1

システムのステータス監視

  • IM管理ノードの取得機能が,セットした構成情報をIM管理ノードファイルとして出力します。

  • IM管理ノードツリー生成機能が構成情報を元にツリーを生成し,IM管理ノードツリーファイルとして出力します。

  • __eventGetメソッドが構成情報のSIDを使用します。__eventGetによって,JP1イベントとIM管理ノードをマッピングします。

2

IM管理ノードによるシステムの統合監視

__createLink,またはIM管理ノードリンク定義ファイル(imdd_nodeLink_def.conf)で,構成情報のSIDを使用します。

typeがrootJobnetExecutionOrder(ルートジョブネット実行順序)のIM管理ノードリンクに従い,業務フローを表示します。

3

カスタムUI表示

構成情報のSIDに従い,カスタムUIの画面を表示します。

4

関連ノード表示

__createLink,またはIM管理ノードリンク定義ファイル(imdd_nodeLink_def.conf)で,構成情報のSIDを使用します。IM管理ノードリンクに従い,関連ノードを表示します。

5

IM管理ノードのプロパティ表示

構成情報の付与情報(value)のpropertyに設定した情報を表示します。

6

連携製品画面の起動

構成情報の付与情報(value)のmethodsに__urlGetが設定されているIM管理ノードについて,連携製品元の画面を起動します。

7

トレンド情報表示

構成情報の付与情報(value)のmethodsに__metricListGetおよび__timeSeriesDataGetが設定されているIM管理ノードについて,指定したメトリックのトレンド情報を表示します。

8

IM管理ノードごとのトレンドデータ管理

構成情報の付与情報(value)のjp1im_TrendData_labelsを参照し,jp1TrendDataService.getTrendDataメソッドの引数promQLQueryで,PromQL文内に指定した置き換え文字列「$jp1im_TrendData_labels」の値を設定します。

構成情報の付与情報のjp1im_TrendData_labelsが設定されていない場合,該当する管理ノードに関連するトレンドデータの取得はできません。

jp1TrendDataService.getTrendDataメソッドの詳細については,「4.5.17 jp1TrendDataService.getTrendData」を参照してください。

注※

IM管理ノードツリー生成機能については「7.4 IM管理ノードツリー生成機能」を参照してください。

(2) __configurationGetAdapterlessメソッド

機能

__configurationGetAdapterlessメソッドと同様に,各製品の構成情報をJSON形式で返却するメソッドです。SaaSの監視など,アダプタコマンドを実装できない場合にこのメソッドを実装して使用します。構成取得対象ホスト定義ファイル(imdd_target_host.conf)に,ホスト名を記述しない(製品だけを記述)場合に,インテリジェント統合管理基盤がこのメソッドを呼び出します。

各ユーザー作成プラグインでこのメソッドを実装する場合は,args.componentの値を参照し,自身が処理可能か否かを判定してください。

なお,このメソッドを実装する上で必要な固有の環境情報(例えば,SaaSを監視する際の認証関連の情報など)は,ユーザー作成プラグインの定義ファイルに記述します。詳細については,「4.6.1 ユーザー作成プラグインで使用する定義ファイル」を参照してください。

パラメーター

__configurationGetAdapterlessメソッドのパラメーターを次に示します。

表4‒10 __configurationGetAdapterlessメソッドのパラメーター

項番

メンバー

説明

備考

1

component

構成情報の管理元コンポーネント名

"/HITACHI/JP1/PFM/"+構成取得対象定義ファイル(imm_target_host.conf)のproductに指定した製品名

2

jp1UserName

JP1ユーザー名

各製品の管理者権限を持つユーザー

3

jp1Token

jp1UserNameのJP1トークン

JP1トークンはBASE64エンコード済み

4

setResult(String json)

JSON形式の構成情報をセットするメソッド

なし

5

setError(String message)

エラー通知用のメソッド

エラーメッセージをセットします。

注意

setResultに設定する構成情報は,構成要素ごとにvalue情報を付加したSIDを付与する必要があります。SIDの詳細については「7.1 SID」を参照してください。

  • 構成情報の取得が正常に終了した場合

    __configurationGetAdapterlessメソッド内でargs.setResult(JSON形式の構成情報)メソッドを呼び出します。

  • 構成情報の取得に失敗した場合

    args.setResultメソッドではなくargs.setError(エラーメッセージ)メソッドを呼び出します。

__configurationGetAdapterlessメソッド内では,自身が処理可能なコンポーネントの場合,args.setResultメソッドかargs.setErrorメソッドのどちらかのメソッドを必ず呼び出してください。

__configurationGetAdapterlessメソッドは,インテリジェント統合管理基盤のシステム管理ツリーを作成するjddcreatetreeコマンドの中で呼び出されます。

返却する構成情報一覧

__configurationGetAdapterlessメソッドが返却する構成情報の一覧の取得形式,記述内容,およびsetResultでセットした構成情報による影響は,__configurationGetメソッドと同じです。

__configurationGetメソッドとの使い分けについて

__configurationGetメソッドと__configurationGetAdapterlessメソッドの主な違いを下記の表に示します。

表4‒11 __configurationGetメソッドと__configurationGetAdapterlessメソッドの比較

メソッド名

構成取得対象定義

ファイルの記述

固有の環境情報の取得方法

備考

__configurationGet

製品とホスト名

アダプタコマンドまたはユーザー作成プラグインの定義ファイル

JP1/Baseが必要

__configurationGetAdapterless

製品だけ

ユーザー作成プラグインの定義ファイル

なし

そのため,__configurationGetメソッドと__configurationGetAdapterlessメソッドを使い分けについては,下記の表の通りになります。

表4‒12 __configurationGetメソッドと__configurationGetAdapterlessメソッドの使い分け

利用メソッド名

利用ケース

__configurationGet

  • (セキュリティなどの理由で)製品プラグインの定義ファイルに環境情報を記述したくない場合

__configurationGetAdapterless

  • JP1/Baseをインストールできない場合

  • アダプタコマンドを実装するのが手間な場合(アダプタコマンドを使う必要がない場合)

(3) __createTreeNodeメソッド

機能

入力情報のsimtDataに対応するツリーのSIDおよび付与情報を取得し,JSON形式で返却するメソッドです。

ユーザー作成プラグインに__createTreeNodeメソッドを実装すると,JP1/IMのデフォルトツリーをカスタマイズできます。デフォルトツリーの詳細については「7.4.2 ノード生成機能」を参照してください。

ユーザー作成プラグインは,simtDataのツリーのSIDがカスタマイズ対象ツリーノードのターゲットの場合にツリーノードオブジェクトを生成し,それをsetResultします。ターゲットのオブジェクトタイプと名前がどちらも同じsimtDataの場合は,ツリー上で同一ノードにします。このため,オブジェクトタイプと名前がどちらも同じsimtDataは,同じツリーのSIDを返却するように設定してください。

カスタマイズ対象のツリーノードの親ノードをカスタマイズしない場合は,treeNodeCreatorオブジェクトを使用して親ノード部分のツリーのSID取得し,ツリーのSIDの一部として使用してください。

  • ツリーのSIDおよび付与情報の取得が正常に終了した場合

    __createTreeNodeメソッド内でargs.setResult(JSON形式のツリーのSID)メソッドを呼び出します。

  • ツリーのSIDおよび付与情報の取得に失敗した場合

    args.setResultメソッドではなくargs.setError(エラーメッセージ)メソッドを呼び出します。

__createTreeNodeメソッド内では,自身が処理可能なSimtDataの場合,args.setResultメソッドかargs.setErrorメソッドのどちらかのメソッドを必ず呼び出してください。

__createTreeNodeメソッドは,インテリジェント統合管理基盤のシステム管理ツリーを作成するjddcreatetreeコマンドの中で呼び出されます。

パラメーター

__createTreeNodeメソッドのパラメーターを次に示します。

表4‒13 __createTreeNodeメソッドのパラメーター

項番

メンバー

説明

備考

1

jp1UserName

JP1ユーザー名

なし

2

jp1Token

jp1UserNameに対応するJP1認証トークン

3

simtData

ツリーのSIDを取得したいSimtData

4

treeNodeCreator

作成済みのノード情報の管理およびデフォルトのツリー作成機能を提供するオブジェクト

詳細は「4.4.4(3)(a) treeNodeCreatorオブジェクト」を参照してください。

5

setResult (String json)

JSON形式の取得したツリーのSIDおよび付与情報をセットするメソッド

6

setError (String message)

エラー通知用のメソッド

エラーメッセージをセットします。

返却するツリーのSIDおよび付与情報の形式

__createTreeNodeメソッドが返却するツリーのSIDおよび付与情報の形式について説明します。

取得形式
{
    "meta":{
        "componentName":"ツリー情報の取得対象コンポーネント名"
    },
    "simtData":[
        {"sid":"ツリーのSID","value":{付与情報}},
        ・・・
   ]
}
記述内容

取得したツリーのSIDおよび付与情報の記述内容を次に示します。

表4‒14 取得したツリーのSIDおよび付与情報の記述内容

項番

項目名

データ型

説明

1

meta

Object

メタ情報を表す

2

componentName

string

ツリー情報の取得対象コンポーネント名を表す

3

simtData

Object

simtDataを表す

4

sid

string

ツリーのSIDを表す

5

value

Object

付与情報を表す

取得例

__createTreeNodeメソッドの取得例を次に示します。

{
    "meta":{
        "componentName":"/HITACbHI/JP1/OA/CONFINFO"
    },
    "simtData":[
        {
           "sid":"_ROOT_AllSystems/_HOST_host1/_CATEGORY_job
           /_SUBCATEGORY_JP1%2FAJS3%20-%20Manager/_OBJECT_AJSROOT1",
           "value":
             {
                "target":["_JP1AJS-M_host1/_HOST_host1/_JP1SCHE_AJSROOT1"],
                "label":"AJSROOT1"}}
             }
        }
    ]
}
setResultでセットしたIM管理ノードツリー情報による影響

setResultでセットしたIM管理ノードツリー情報によって,影響を受ける機能と影響内容について,次の表に示します。

表4‒15 影響する機能一覧

項番

機能名

影響内容

1

システムのステータス監視

IM管理ノードツリー生成機能が生成したツリー情報に,IM管理ノードツリー情報をマージして,IM管理ノードツリーファイルとして出力します。

注※

IM管理ノードツリー生成機能については「7.4 IM管理ノードツリー生成機能」を参照してください。

(a) treeNodeCreatorオブジェクト

treeNodeCreatorオブジェクトは,getObjectRootTreeSIDメソッド,getHostNameDefメソッドおよびgetCategoryNameメソッドを提供します。

(b) getObjectRootTreeSIDメソッド

getObjectRootTreeSIDメソッドは,パラメーターで指定したtarget(SID)に対応するツリーのSIDを返却するメソッドです。オブジェクトノードの親ノードをカスタマイズしない場合に使用し,オブジェクトノードのツリーのSIDの一部として使用します。

パラメーター

getObjectRootTreeSIDメソッドのパラメーターを次に示します。

表4‒16  getObjectRootTreeSIDメソッドのパラメーター

項番

項目名

データ型

説明

1

target

string

カスタマイズするツリーノードの親ノードに当たるオブジェクトルートノードの構成情報のSID

2

objectRoot

Object[]

オブジェクトルートノードの情報

次の形式で指定します。

[{"type":"オブジェクトルートノード種別"},,,},…]

注※

オブジェクト内の指定形式は,__configurationGetメソッドで取得する構成情報のmeta.objectRootと同じです。詳細については「4.4.4(1) __configurationGetメソッド」を参照してください。

戻り値

targetに対応したツリーのSIDを返却します。戻り値は,getObjectRootTreeSIDメソッドを呼び出すタイミングのツリーノードの生成状況に応じて異なります。

表4‒17 getObjectRootTreeSIDメソッドの戻り値

項番

生成状況

戻り値

1

ツリーノードが生成済みの場合

targetに対応した生成済みのツリーのSIDを返却する

2

ツリーノードが生成されていない場合

targetの内容を解析して,システムノード定義ファイル(imdd_systemnode.conf),ホスト名定義ファイル(imdd_host_name.conf)の定義内容に基づいたツリーのSIDを生成する

システムノード定義ファイル(imdd_systemnode.conf)の定義内容に一致しない場合は,デフォルトのツリーのSIDを返却します。

システムノード定義ファイル(imdd_systemnode.conf)の詳細については,「システムノード定義ファイル(imdd_systemnode.conf)」(2. 定義ファイル)を参照してください。

(c) getHostNameDefメソッド

getHostNameDefメソッドは,ホスト名定義ファイル(imdd_host_name.conf)に従って,パラメーターで指定したhostNameに対応するホスト名定義を返却するメソッドです。HOSTノードのツリーをカスタマイズする場合はこのメソッドを使用し,HOSTノードのツリーのSIDの名称とラベルとして使用します。

パラメーター

getHostNameDefメソッドのパラメーターを次に示します。

表4‒18  getHostNameDefメソッドのパラメーター

項番

項目名

データ型

説明

1

hostName

string

ホスト名(エイリアス名)を指定する

戻り値

getHostNameDefメソッドは,ホスト名定義ファイル(imdd_host_name.conf)の定義内容に従って,次の値を返却します。

{"hostName":"定義ファイルの値","label":"定義ファイルの値"}

対応するホスト名定義が無い場合は,nullを返却します。

ホスト名定義ファイル(imdd_host_name.conf)については,「ホスト名定義ファイル(imdd_host_name.conf」(2. 定義ファイル)を参照してください。

(d) getCategoryNameメソッド

getCategoryNameメソッドは,パラメーターで指定したcategory(ID)に対応するカテゴリ名を返却するメソッドです。カスタマイズするツリーにCATEGORYノードを含む場合はこのメソッドを使用し,ツリーのSIDのラベルとして使用します。

パラメーター

getCategoryNameメソッドのパラメーターを次に示します。

表4‒19  getCategoryNameメソッドのパラメーター

項番

項目名

データ型

説明

1

category

string

categoryのID

戻り値

getCategoryNameメソッドは,IM管理ノードカテゴリ名称定義ファイル(imdd_category_name.conf)の定義内容に従って,categoryに対応するカテゴリ名を返却します。

対応するカテゴリ名の定義が無い場合は,nullを返却します。

IM管理ノードカテゴリ名称定義ファイル(imdd_category_name.conf)については,「IM管理ノードカテゴリ名称定義ファイル(imdd_category_name.conf」(2. 定義ファイル)を参照してください。

(4) __eventGetメソッド

機能

各製品から発行されるすべてのJP1イベントに対応する構成情報のSIDを返却するメソッドです。各ユーザー作成プラグインでは,各製品が発行するすべてのJP1イベントに対して,構成情報のSIDを返却する必要があります。各ユーザー作成プラグインでは,args.productNameなどの値を参照し,自身が処理可能なイベントかどうかを判定します。

  • 発行されたJP1イベントに対応する構成情報のSIDの生成が正常に終了した場合

    __eventGetメソッド内でargs.setTargetSid(構成情報のSID)メソッドを呼び出します。

  • 発行されたJP1イベントの情報に不足があり,そのJP1イベントに対応する構成情報のSIDの生成に失敗した場合

    args.setError(エラーメッセージ)メソッドは呼び出さず,returnして処理を終了します。

__eventGetメソッドは,インテリジェント統合管理基盤がJP1イベントを取得したタイミングで呼び出されます。

パラメーター

__eventGetメソッドのパラメーターを次に示します。

表4‒20 __eventGetメソッドのパラメーター

項番

メンバー

説明

備考

1

productName

プロダクト名

なし

2

idBase

イベントID

10進数の数値

3

event

JP1イベントの情報

event.sid:JP1イベントのSID

event.value:JP1イベントのvalue値

4

setTargetSid(String sid)

JP1イベントに対応する構成情報のSIDをセットするメソッド

なし

5

setError(String message)

エラー通知用のメソッド

エラー通知をセットします。

注※

value値には,イベントの各種属性名と属性値が格納されています。次の形式で,属性名に対応する属性値が取得できます。

value['属性名']

基本属性の場合は「B.」を拡張属性の場合は「E.」を,属性名の前に記載してください。

指定例:value['E.JPC_MGR']

setTargetSidをセットしたSID情報による影響

setTargetSidをセットしたSID情報によって,影響を受ける機能と影響内容について,次の表に示します。

表4‒21 影響を受ける機能一覧

項番

機能名

影響内容

1

システムのステータス監視

構成情報のSIDがtargetとなっているIM管理ノードとJP1イベントをマッピングします。

jddupdatetreeコマンドを構成変更モードで実行した場合,このメソッドで返却した構成情報のSIDのホスト名情報が,構成から削除された構成情報のSIDのJP1イベントの再マッピング先のホストを決定するために使用されます。

(5) __transformEventメソッド

機能

入力となるJSON形式のデータを,JP1イベントに変換するメソッドです。

ユーザー作成プラグイン,または製品プラグインに実装する__transformEventメソッドでは,JP1イベント変換のAPIで受信した,外部システムで発生したイベント情報を,JP1イベントに変換できます。

パラメーター

__ transformEventメソッドのパラメーターを次に示します。

表4‒22 __transformEventメソッドのパラメーター

項番

メンバー

説明

1

eventData

連携製品から受信したイベント情報(JSON形式)

2

jp1eventmax

発行できるJP1イベント数の最大値

3

setResult(String json)

連携製品から受信したイベント情報を変換したJP1イベント(JSON形式)を設定するメソッド

4

setError(String message)

エラー通知用のメソッド

エラーコードとメッセージをセットします。

プラグインで,__transformEventメソッドを使用する場合は,入力となるイベント情報のデータが,自プラグインで処理すべきデータかどうかを,__transformEventメソッド内で判定するように実装する必要があります。

また,判定結果に応じて,自プラグインで処理すべきデータのときだけ,返却するJP1イベントをsetResultに設定するように実装する必要があります。自プラグインで処理すべきデータでないときは,何も設定せずにreturnしてください。

__transformEventメソッドが返却するsetResultに設定するJP1イベントは,次に示す形式で設定します。

返却されたJP1イベントの形式は,呼び出し元のJP1イベント変換のAPIでチェックします。不正な形式の場合,JP1イベント変換のAPIは,レスポンスボディーにKAJY67000-Wメッセージを出力します。

また,100件を超えるJP1イベントの件数は発行できません。setResultに100件を超える件数のJP1イベントが設定されている場合,JP1/IM - Manager側では,JP1イベントの配列の先頭から100件までの件数のイベントを発行し,それ以降のイベントを発行しません。プラグイン内では,発行されなかったイベントの詳細を,ログに出力するなどして判別できるようにしてください。

なお,__transformEventメソッドでは,作成対象のJP1イベントに対する属性の値が不正かどうかのチェックを行いません。属性の値が不正な場合,JP1/IM - ManagerのJP1イベント変換のAPIでエラーとなり,エラーとなったJP1イベントを発行しません。

返却するJP1イベントの形式

記述形式

{
  "pluginName":プラグイン名,
  "exceedJp1eventMaxDetected":変換されたJP1イベント数の上限超過検知有無
  "events":[
    {
      “eventId”:イベントID, 
      “message”:メッセージ,
      “attrs”:{拡張属性名:拡張属性値, ...}
    },
    ...
  ]
}

記述内容

項番

項目名

データ型

説明

1

pluginName

文字列

プラグインを表す文字列を設定します。

JP1イベント変換のAPIで,エラーメッセージを生成する場合に使用します。

この項目は省略できません。

2

exceedJp1eventMaxDetected

boolean

変換したJP1イベントの件数が上限を超えたことの検知有無を設定します。

  • 上限を超えた場合:true

  • それ以外の場合:false

この項目は省略できません。

この項目が「true」の場合,JP1イベント変換のAPIは,レスポンスボディーにKAJY67003-Wを設定します。

3

events

配列

発行するJP1イベントを配列で設定します。

設定できるイベントの件数の上限は100件です。

上限を超えたかどうかは,このメソッドを使用するプラグイン側で判定し,上限を超えた場合は,項目「exceedJp1eventMaxDetected」に「true」を設定して呼び出し元に返却してください。

4

eventId

文字列

発行する基本部イベントIDを,次に示す範囲で設定します。

  • 0〜1FFFF

  • 7FFF8000〜7FFFFFFF

この項目は省略できません。

範囲外の値を指定した場合,JP1イベント変換APIがレスポンスボディーにKAJY67000-Wを設定し,要因に「eventIdの指定が範囲外です。指定する値は0〜1FFF,7FFF8000〜7FFFFFFFの範囲内の値を設定してください。」を設定します。

5

message

文字列

JP1イベントの内容を表すメッセージテキストを設定します。

この項目は省略できません。

登録するメッセージの文字コードは,JP1/IM - Managerが配置されているOS環境の文字コードに依存します。

1,023バイト以内の文字列で設定します。1,024バイト以上の文字列を指定した場合,1,023バイトまでの文字列をJP1イベントのメッセージに設定します。

6

attrs

配列

拡張属性名を配列で指定します。

この項目は省略できます。

同一の拡張属性名を複数指定した場合,最後に指定した拡張属性の値で上書きします。

拡張属性名は,先頭が英大文字で,英大文字,数字,およびアンダースコア(_)ラインから構成される32バイトまでの名称を指定できます。

構成する文字列が不正の場合,JP1イベント変換APIのレスポンスボディーにKAJY67000-Wを設定し,要因に「attrsの拡張属性名が不正です。英字は大文字,先頭は英字を指定してください」を設定します。

32バイトを超える文字列を指定した場合,JP1イベント変換のAPIがレスポンスボディーにKAJY67000-Wを設定し,要因に「attrsの拡張属性名は32バイト以下の文字列を指定してください。」を設定します。

また,拡張属性名には接頭辞「E.」を指定しないでください。「E.」を指定した場合,JP1イベント変換のAPIがレスポンスボディーにKAJY67000-Wを設定し,要因に「attrsの拡張属性名が不正です。英字は大文字,先頭は英字を指定してください」を設定します。

すべての拡張属性値の合計の長さは,10,000バイトまで指定できます。

合計の長さの制限を超えた場合,JP1イベント変換のAPIがレスポンスボディーにKAJY67000-Wを設定し,要因に「attrsの拡張属性値の上限は10000バイトです。10000バイト以下の文字列を指定してください。」を設定します。

JP1イベントの属性の詳細については,「3.1 JP1イベントの属性」を参照してください。

注※

JP1イベント変換のAPIの詳細については,「5.6.5 JP1イベント変換」を参照してください。

記述例

{
  "pluginName":"PFMCS",
  "exceedJp1eventMaxDetected":false
  "events":[
    {
    "eventId":"2FFF",
    "message":"xxxxx",
    "attrs":{"SEVERITY":"Error","JP1_SOURCEHOST":"HOSTB"}
    },
    ...
  ]
}

(7) __linkValueGetメソッド

機能

与えられたJSON形式のリンク情報の配列について,valueパラメーターに動的な付与情報を追加して返却するメソッドです。

プラグインで処理できないリンク情報が含まれる場合,そのリンク情報はそのまま返却されます。

パラメーター

__linkValueGetメソッドのパラメーターを次に示します。

表4‒26 __linkValueGetメソッドのパラメーター

項番

メンバー

説明

備考

1

jp1UserName

JP1ユーザー名

なし

2

jp1Token

jp1UserNameに対応するJP1認証トークン

3

linksData

リンク情報オブジェクトの配列のオブジェクト

4

links

リンク情報オブジェクトの配列

省略されません。空の配列は指定されません。

5

from

先行ノードのSID

なし

6

to

後続ノードのSID

7

type

処理対象種別

8

value

付与情報

9

select

取得するvalueのパラメーターの配列

オブジェクトやオブジェクトの配列のメンバーをさらに指定したい場合は,<オブジェクト名>.<メンバー名>と指定します。

以下の例で"impact"だけを指定したい場合はselectに"unit.impact"と指定します。

"value":{
    "unit": [
        {
           "precedingJob":"job1",
           "succeedingJob":"job2"
           "impact":true
        }
    ]
 }

省略できます。

省略した場合はすべてのパラメーターを取得します。

10

setResult(String json)

JSON形式のリンク情報をセットするメソッド

なし

11

setError(String message)

エラー通知用のメソッド

エラーコードとメッセージをセットします。

返却するリンク情報の形式

__linkValueGetメソッドが返却するリンク情報の形式について説明します。

取得形式
{
   "links": [
      {
          "from":"先行ノードのSID",
          "to":"後続ノードのSID",
          "type":"処理対象種別",
          "value":付与情報
       },  ・・・
  ]
}
記述内容

取得したリンク情報の記述内容を次に示します。

表4‒27 取得したリンク情報の記述内容

項番

項目名

データ型

説明

1

links

配列

リンク情報の配列

2

from

string

先行ノードのSID

3

to

string

後続ノードのSID

4

type

string

処理対象種別

5

value

Object

構成間の関連情報の付与情報を指定する

取得例

__linkValueGetメソッドの取得例を次に示します。

{
   "links": [
      {
         "from":"_JP1AJS-M_HOST1/_HOST_HOST1/_JP1SCHE_schedulerserv/
               _JP1JOBG_jobgroup/_JP1ROOTJOBNET_jobnet1",
         "to":"_JP1AJS-M_HOST1/_HOST_HOST1/_JP1SCHE_schedulerserv/
               _JP1JOBG_jobgroup/_JP1ROOTJOBNET_jobnet2",
         "type":"rootJobnetExecutionOrder",
         "value":{
              "unit": [
                   {
                     "precedingJob":"job1",
                     "succeedingJob":"job2"
                     "succeedingJobStartTime":"2019−05−14T00:00:00Z",
                     "precedingJobURL":"http://10.220.196.82:22252/ajs/…",
                     "succeedingJobURL":"http://10.220.196.82:22252/ajs/…",
                     "impact":"error"
                   }   ・・・
               ],
               "msg":"KAJY04254-E The collecting information process could not be generated."
           }
      }, ・・・
  ]
}
setResultでセットしたリンクの付与情報(value)による影響

setResultでセットしたリンクの付与情報(value)によって,影響を受ける機能と影響内容について,次の表に示します。

表4‒28 影響する機能一覧

項番

機能名

影響内容

1

連携ユニット表示

typeがrootJobnetExecutionOrder(ルートジョブネット実行順序)のIM管理ノードリンクについて,その付与情報(value)のunitに設定された情報を表示します。

また,URLパラメーターは,そのURLを指定したWWWブラウザーを起動します。

2

後続ルートジョブネットへの影響表示

typeがrootJobnetExecutionOrder(ルートジョブネット実行順序)のIM管理ノードリンクについて,その付与情報(value)のunitに設定されたユニット(最新世代)が,後続ユニットに及ぼす影響を表示します。

(8) __simtLoadメソッド

機能

IM管理ノードがローディングされたときに,必要な関連情報を収集するために呼び出されるメソッドです。次の動作で管理ノードが更新されたときに,simtサービスから呼び出されます。

  • サービス起動時のsimtDataの読み込み完了時

  • jddupdatetreeコマンド実行時のsimtDataの読み込み完了時

収集した情報は,グローバル変数に設定するなどで,ほかのメソッドに提供できます。例えば,__simtLoadメソッドで,AJSマネージャーホスト名とAJSエージェントホスト名を収集し,グローバル変数に設定しておくと,ほかのメソッド(__eventGetメソッド)でその情報を参照できます。

  • 関連情報の取得が正常に終了した場合

    グローバル変数に設定するなどで,ほかのメソッドへ情報を提供できます。

  • 関連情報の取得に失敗した場合

    args.setError(エラーメッセージ)メソッドを呼び出すようにしてください。

パラメーター

__simtLoadメソッドのパラメーターを次に示します。

項番

メンバー

説明

備考

1

simtDataList

構成情報のsimtDataの全リストデータ

管理ノードのマスタ情報にある全simtData情報

2

setError(String message)

エラー通知用のメソッド

エラーコードとメッセージをセットします。

なし

(9) __metricListGetメソッド

機能

時系列データで表示可能なメトリックの一覧を取得し,JSON形式で返却するメソッドです。

パラメーター

__metricListGetメソッドのパラメーターを次に示します。

表4‒29 __metricListGetメソッドのパラメーター

項番

メンバー

説明

備考

1

jp1UserName

JP1ユーザー名

なし

2

jp1Token

jp1UserNameに対応するJP1認証トークン

3

sid

メトリクス一覧を取得したい構成情報のsid

4

lang

取得するメトリック一覧の言語

5

setResult(String json)

JSON形式の取得したメトリック一覧をセットするメソッド

6

setError(String message)

エラー通知用のメソッド

エラーコードとメッセージをセットします。

返却するメトリック一覧の形式

__metricListGetメソッドが返却するメトリック一覧を次に示します。

取得形式
{
    "metrics":[
      {
         "name":"メトリック",
         "label":"メトリック表示名",
         "category":"メトリックのカテゴリ",
         "description":"メトリックの説明",
         "default":デフォルト設定
    }
  … 
]
記述内容

取得したメトリック一覧の記述内容を次に示します。

表4‒30 取得したメトリック一覧の記述内容

項番

項目名

データ型

説明

1

metrics

配列

メトリック情報の配列

指定できる要素数は100です。空の配列は指定できません。この項目は省略できません。

2

name

string

メトリック名

半角英数字と以下の記号で指定できます。

-(ハイフン),_(アンダースコア)

1〜255文字以内で指定します。

空文字は指定できません。この項目は省略できません。

3

label

string

メトリック表示名

1〜255文字の制御文字以外の文字で指定します。空文字は指定できません。この項目は省略できます。

4

category

string

メトリックのカテゴリ

1〜255文字の制御文字以外の文字で指定します。空文字は指定できません。この項目は省略できます。

5

description

string

メトリックの説明

1〜1,023文字の制御文字以外の文字で指定します。空文字は指定できません。この項目は省略できます。

JP1/IM - Manager(インテリジェント統合管理基盤)の[オペレーション・ビューアー]画面を使用する場合,長い文字列を指定すると,[トレンド]タブのメトリック表示名のツールチップで表示する文字列が.WWWブラウザーの制限(title属性で表示可能な文字数)によって途中で打ち切られる場合があります。

6

default

boolean

デフォルトのメトリックかどうかを指定する

  • true:デフォルトのメトリック

  • false:デフォルトのメトリックでない

デフォルトに指定できるメトリックの数は10までです。この項目は省略できません。

取得例

__metricListGetメソッドの取得例を次に示します。

{
    "metrics":[
      {
        "name":"CPU Usage",
        "label":"CPU使用率",
        "category":"CPU",
        "description":"CPUの使用率をコアごとに表示。(単位%)",
        "default":true
      }
     … 
    ]
}
setResultでセットしたメトリック一覧による影響

setResultでセットしたメトリック一覧によって,影響を受ける機能と影響内容について,次の表に示します。

表4‒31 影響する機能一覧

項番

機能名

影響内容

1

トレンド情報表示

[トレンド]タブの[トレンドグラフ設定]領域に,グラフ表示するメトリックの選択候補として一覧表示します。

(10) __timeSeriesDataGetメソッド

機能

時系列データを取得し,JSON形式で返却するメソッドです。

取得した時系列データのデータ数とインスタンス数がcountPerInstance,instanceCount指定した上限を超える場合は,レスポンスのexceedCountDetectedオブジェクトの該当メンバーをtrueに設定し,データ数をcountPerInstance,instanceCountの範囲に収まるように選定して返却します。

パラメーター

__timeSeriesDataGetメソッドのパラメーターを次に示します。

表4‒32 __timeSeriesDataGetメソッドのパラメーター

項番

メンバー

説明

備考

1

jp1UserName

JP1ユーザー名

なし

2

jp1Token

jp1UserNameに対応するJP1認証トークン

3

sid

時系列データを取得したい構成情報のsid

4

lang

取得する時系列データの言語

5

metric

メトリック名

1〜255文字以内で指定します。

空の配列は指定できません。この項目は省略できません。

6

startTime

時系列データの開始日時をISO 8601形式のUTC時刻で指定する。小数点以下の秒数は指定しない。

7

endTime

時系列データの終了日時をISO 8601形式のUTC時刻で指定する。小数点以下の秒数は指定しない。

8

countPerInstance

取得する1インスタンスあたりのデータ数の上限

countPerInstanceの値とinstanceCountの値を掛けた値が30,000以下であることを保証する。

9

instanceCount

インスタンス数の上限

10

setResult(String json)

JSON形式の時系列データをセットするメソッド

なし

11

setError(String message)

エラー通知用のメソッド

エラーメッセージをセットします。

返却する時系列データの形式

__timeSeriesDataGetメソッドが返却する時系列データを次に示します。

取得形式
{
    "metric":"メトリック",
    "timeSeriesData":[
            {
               "instance":"インスタンス名"
               "unit":"単位",
               "data":[
               {"time":"時刻","value":},
                   ・・・
            ]
          },
          ・・・
    ],
    "exceedCountDetected": {
        countPerInstance:1インスタンスごとのデータ数上限超過検知有無,
        instanceCount: インスタンス数の上限超過検知有無
    }
}
記述内容

取得した時系列データの記述内容を次に示します。

表4‒33 取得した時系列データの記述内容

項番

項目名

データ型

説明

1

timeSeriesData

配列

時系列データの配列

空の配列は指定できません。この項目は省略できません。

2

metric

string

メトリック名

半角英数字と以下の記号で指定できます。

-(ハイフン),_(アンダースコア)

1〜255文字以内で指定します。

空文字は指定できません。この項目は省略できません。

3

instance

string

インスタンス名

1〜255文字の制御文字以外の文字で指定します。空文字は指定できません。この項目は省略できます。

4

unit

string

メトリックの単位

1〜255文字の制御文字以外の文字で指定します。空文字は指定できません。この項目は省略できません。

5

data

配列

時刻,値の二次元データの配列

指定された期間に時系列データが存在しない場合は,空の配列を指定します。

この項目は省略できません。

6

time

string

データの時刻

ISO 8601形式のUTC時刻です。小数点以下の秒数は指定できません。

  • dataが空の場合:省略できます。

  • dataが空以外の場合:省略できません。空文字の指定はできません。

7

value

number

データの値

javascriptのnumberの精度に合わせます。

  • dataが空の場合:省略できます。

  • dataが空以外の場合:省略できません。

8

exceedCountDetected

Object

上限検知オブジェクト

この項目は省略できません。

9

countPerInstance

boolean

1インスタンスあたりのデータ数が上限を超えたことの検知有無

  • 上限を超えた場合:true

  • それ以外の場合:false

この項目は省略できません。

10

instanceCount

boolean

インスタンス数が上限を超えたことの検知有無

  • 上限を超えた場合:true

  • それ以外の場合:false

この項目は省略できません。

取得例

__timeSeriesDataGetメソッドの取得例を次に示します。

{
    "metric":"CPU Usage",
    "timeSeriesData":[
            {
              "instance":"CPU_1"
              "unit":"%",
              "data":[
                  {"time":"2019-05-22T00:00:00Z","value":14.04},
                                 ・・・
              ]
          },
            {
              "instance":"CPU_2"
              "unit":"%",
              "data":[
                {"time":"2019-05-22T00:00:00Z","value":09.24},
                                 ・・・
            ]
          },
       ・・・
    ],
    "exceedCountDetected": {
        "countPerInstance":true,
        "instanceCount":false
    }
 
}

指定したメトリック,期間でデータが存在しない場合

{
    "metric":"CPU Usage",
    "timeSeriesData":[
            {
              "unit":"%",
              "data":[
              ]
          }
    ],
    "exceedCountDetected": {
        "countPerInstance": false,
        "instanceCount": false
    }
 
}
setResultでセットした時系列データによる影響

setResultでセットした時系列データによって,影響を受ける機能と影響内容について,次の表に示します。

表4‒34 影響する機能一覧

項番

機能名

影響内容

1

トレンド情報表示

時系列データをトレンド表示します。

(11) __urlGetメソッド

機能

指定したSIDに関連するモニター起動用のURLを取得し,JSON形式で返却するメソッドです。

パラメーター

__urlGetメソッドのパラメーターを次に示します。

表4‒35 __urlGetメソッドのパラメーター

項番

メンバー

説明

備考

1

jp1UserName

JP1ユーザー名

なし

2

jp1Token

jp1UserNameに対応するJP1認証トークン

3

sid

関連するモニター起動用のURLを取得したい構成情報のSID

4

setResult(String json)

JSON形式のURL情報をセットするメソッド

5

setError(String message)

エラー通知用のメソッド

エラーメッセージをセットします。

返却するモニター起動用URLの形式

__urlGetメソッドが返却するモニター起動用のURLを次に示します。

取得形式
{
    urlList:[
       {
            "url":"モニター起動用URL",
            "name":"URLの名称"
       },
       …
    ]
}
記述内容

取得したモニター起動用のURLの記述内容を次の表に示します。

表4‒36 取得したモニター起動用のURL情報の記述内容

項番

項目名

データ型

説明

1

urlList

配列

URL情報オブジェクトの配列

2

url

string

URLの文字列

3

name

string

URLの名称

取得例

__urlGetメソッドの取得例を次に示します。

{
    urlList:[
       {
            "url":"http://10.220.196.82:22252/ajs/login.html?manager=10.220.196.82&type=monitor…",
            "name":"rootJobNet1のモニター起動画面"
       }
    ]
}
setResultでセットしたURL情報による影響

setResultでセットしたモニター起動用のURL情報によって,影響を受ける機能と影響内容について,次の表に示します。

表4‒37 影響する機能一覧

項番

機能名

影響内容

1

連携製品画面起動

構成情報の付与情報(value)のmethodsに,__urlGetが設定されているIM管理ノードについて,連携製品元の画面を起動します。