前のトピック: 計算機の使用方法次のトピック: MOM 上での JavaScript 計算機の実行


JavaScript 計算機の使用方法

JavaScript 計算機は、ユーザが作成した JavaScript テキスト ファイルに指定された計算に従って、入力メトリックを読み取り、出力メトリックを生成します。 計算された新しいメトリックは、仮想カスタム エージェントの下の Investigator ツリーに表示できます。または、計算機スクリプトで指定された出力メトリックに従って、Investigator ツリーのどのノードにも表示できます。 計算されたメトリックはシャットオフできますが、メトリックを生成する計算機ではシャットオフ状態が認識されません。

Enterprise Manager の JavaScript エンジンでは、実行中の Enterprise Manager に JavaScript 計算機をホット デプロイすることができます。

JavaScript 計算機の作成

JavaScript 計算機ファイルは、名前の最後に .js 拡張子が付いており、Enterprise Manager の scripts ディレクトリに配置される必要があります。 サンプルの JavaScript 計算器ファイルは、Enterprise Manager インストールの examples/scripts/ ディレクトリに用意されています。

JavaScript 計算機は、入力メトリックを指定し、1 つ以上の出力メトリックを生成します。

execute( ) 関数

各計算機には 2 つの引数が指定された execute() 関数が必要です。 さらに、ヘルパ関数を使用して、Enterprise Manager に送り返すメトリックを作成できます。 構文は以下のとおりです。

function execute(metricData,javascriptResultSetHelper)

各項目の説明

execute() 関数は、スクリプト エンジンによって、15 秒間隔で呼び出されます。

入力メトリックの指定

計算機スクリプトでは、受信する入力メトリックを、以下のいずれかの方法で指定できます。

注: getAgentRegex() 関数および getMetricRegex() 関数内で文字列として作成された正規表現では、Introscope で使用する他の正規表現(メトリック グループや検索ビューで使用する表現)とは異なる方法で、文字のエスケープを行う必要があります。 これらの JavaScript 関数から返される Java のエスケープ文字は、JavaScript 内でもエスケープする必要があります。 この理由から、たとえば「¥|」は、JavaScript では「¥¥|」とエスケープする必要があります。

グローバル変数「log」

すべての JavaScript の計算機の関数は、種類が IModuleFeedbackChannel のグローバル変数「log」にアクセスします。 例:

function execute(metricData,javascriptResultSetHelper) {
log.info("message");
log.error("message");
log.debug("message");
}

注: 高度な JavaScript 機能を使用する場合、または ECMA に準拠する場合は、スクリプト エンジンに Mozilla Rhino JavaScript ライブラリ、バージョン 1.6_R1 が埋め込まれていることに注意してください。

出力メトリック データの作成

出力メトリック データを作成する方法

スクリプトから計算された値は、通常、以下のようになります。

javascriptResultSetHelper.addMetric(metricName, heapUsedValue,Packages.com.wily.introscope.spec.metric.MetricTypes.kIntegerFluctuatingCounter,frequency)

注: 正規表現を指定するときは、生成するメトリックのいずれかと一致する可能性があるため、注意が必要です。 たとえば、正規表現「EJB.*Time.*」を指定すると、EJB の下に新しい値が挿入される可能性があります (つまり、「EJB.*Time.*」という正規表現を使用すると、「EJB」の下に新しい値が挿入されます)。 これを行う正規表現を変更するか、独自のメトリックからメトリック データを削除します。

Javascript 計算機の追加

新しい JavaScript 計算機をインストールするには、Enterprise Manager インストールの <EM_Home>/scripts ディレクトリに JavaScript テキスト ファイルをコピーします。 スクリプトに別のディレクトリを使用することもできます。この場合は、introscope.enterprisemanager.javascript.dir プロパティを使用してディレクトリを指定します。

スクリプトは、このスクリプト ディレクトリから、introscope.enterprisemanager.javascript.refresh プロパティで指定された間隔(デフォルトは 60 秒)で自動的にデプロイされます。

デプロイが成功すると、新しいメトリックがメトリック ブラウザ ツリーに表示されます。