我正在尝试创建一个RHQ插件来收集一些测量数据。似乎相对性很容易创建一个插件,返回当前的价值。但是,我需要从文件中收集这些测量数据。这些文件是按计划创建的,例如,每小时一个文件,但是它们包含更精细的测量,例如每分钟一次测量。该文件可能如下所示:
18:00 20
18:01 42
18:02 39
...
18:58 12
18:59 15是否有可能创建一个RHQ插件,它可以用时间戳返回多个值以进行度量?
发布于 2015-06-25 12:39:22
我认为在org.rhq.core.pluginapi.measurement.MeasurementFacet#getValues中可以在MeasurementReport中返回任意数量的值。
因此,基本上打开文件,寻求到最后一个已知的位置(如果文件总是附加到),从那里读取,并为每一行进行读取。
MeasurementData data = new MeasurementDataNumeric(timeInFile, request, valueFromFile);
report.add(data);当然,对这些(历史数据)数据发出警报是有问题的,就好像您只在一小时后才读取该文件一样,在出现错误值时不能追溯地触发警报:->
发布于 2015-11-17 11:41:14
是的当然是可能的。
@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是一个更重要的双变量,您可以从数据库或读取文件中计算这个结果值。然后,您必须向MeasurementDataNumeric函数MeasurementDataNumeric(request, result));提供这个结果值。
https://stackoverflow.com/questions/31045942
复制相似问题