是否可以创建一个从文件中收集历史测量值的RHQ插件?

时间:2015-06-25 09:09:51

标签: plugins rhq

我正在尝试创建一个RHQ插件来收集一些测量值。似乎相对论很容易创建一个返回当前时刻值的插件。但是,我需要从文件中收集这些测量值。这些文件是按计划创建的,例如每小时一个,但它们包含更精细的测量,例如每分钟的测量。该文件可能如下所示:

IEnumerableSignatures

是否可以创建一个RHQ插件,该插件可以返回带有时间戳的许多值进行测量?

2 个答案:

答案 0 :(得分:2)

我认为您可以在org.rhq.core.pluginapi.measurement.MeasurementFacet#getValues内在MeasurementReport内返回任意数量的值。

所以基本上打开文件,寻找最后一个已知位置(如果文件总是附加到),从那里读取,并为每一行读取

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

当然,对此(历史)数据的警报有点可疑,就好像您只在一小时后读取文件一样,警报在发生错误值时无法追溯触发: - >

答案 1 :(得分: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));

提供此结果值