Welcome to Questions - Ask OpenNMS, where you can ask questions and receive answers from other members of the community.

Best interface for PM data

0 votes

I am trying to understand which is the best way to handle the date contained in the .jrb files (I am only interested in the data, not the graphs).

I encountered at least three ways:

  1. via file system - going to each folder and grab  the files. This has the big plus of having the .properties files in the same place.
  2.  via data export  - produces a XML output (however it didn´t seem to be fully implemented, not all measurements are in the output).
  3. TCP export - Using a TCP channel to export the data.

Which of these 3 (or other) you think it is better to handle .jrb files?


Thank you in advance.

OpenNMS version
asked Jun 3, 2014 by Russo (570 points)

1 Answer

0 votes
Best answer
I would recommend the TCP Protobuff export. Make sure you deactivate storeByGroup to get clean updates. If you are interested, there exist a feature branch called "feature-opennms-tsdb" which is a branch from master allows writing into a "OpenTSDB 2.0" time series database. The RRDtool feature can be completely deactivated.
answered Jun 12, 2014 by indigo (11,480 points)
selected Jun 25, 2014 by DerTak
Thanks for the reply. I´ll check this functionality you said. Nevertheless can you explain your comment:
"Make sure you deactivate storeByGroup to get clean updates".
What do you mean by clean updates?
Other issue that I think I have is the data stored in the property files, this data can be also extracted in any way?

Thank you very much :)
With storeByGroup activated, OpenNMS writes multiple metrics in one RRD file to be more IO efficient. Exporting with TCP Protobuf it could be much harder to process the collected metrics in your external application, cause the RRD file name is part of the output.
Thanks for the answer. The processing should not be a problem if the array produced  in the value field has a defined order, i.e. if the order of the array is the same as the one configured in the data-collection file.
Well I was thinking about this problem and probably you are right. If a table doesn´t have a specific value (row) in the middle of a sequence, it is impossible to know which of the value is missing, unless the buffer fills it up with a NaN value.