1

いくつかの測定値を収集するために RHQ プラグインを作成しようとしています。現時点の値を返すプラグインを作成するのは相対論的に簡単に思えます。ただし、これらの測定値をファイルから収集する必要があります。これらのファイルは、1 時間ごとなどのスケジュールに従って作成されますが、1 分ごとの測定など、より細かい測定値が含まれています。ファイルは次のようになります。

18:00 20
18:01 42
18:02 39
...
18:58 12
18:59 15

測定のタイムスタンプ付きの多くの値を返すことができる RHQ プラグインを作成することは可能ですか?

4

2 に答える 2

2

org.rhq.core.pluginapi.measurement.MeasurementFacet#getValues内で必要な数の値を返すことができると思いますMeasurementReport

したがって、基本的にファイルを開き、最後の既知の位置をシークし (ファイルが常に追加されている場合)、そこから読み取り、行ごとに読み取ります

MeasurementData data = new MeasurementDataNumeric(timeInFile, request, valueFromFile);
report.add(data);

もちろん、この (履歴) データに関するアラートは、1 時間後にファイルを読み取っただけの場合、悪い値が発生した時点でさかのぼってアラートを発行することはできないため、一種の疑わしいものです:->

于 2015-06-25T12:39:22.157 に答える
0

はい、きっと可能です。

@Override
public void getValues(MeasurementReport report,  Set<MeasurementScheduleRequest> metrics) throws Exception {     
    for (MeasurementScheduleRequest request : metrics) {
        Double result = SomeReadUtilClass.readValueFromFile();
        MeasurementData data =  new MeasurementDataNumeric(request, result)
        report.addData(data );
    }
}

SomeReadUtilClassはファイルを読み取るためのユーティリティ クラスでreadValueFromFileあり、関数です。ファイルから値を読み取るためにログインを記述できます。

resultより重要なDouble変数です。この結果値は、データベースから計算するか、ファイルを読み取ることができます。そして、MeasurementDataNumeric関数に提供する必要があるこの結果値MeasurementDataNumeric(request, result));

于 2015-11-17T11:41:14.283 に答える