Breaks in your performance data

Hi,

I am referring to https://support.nagios.com/kb/article/nagios-core-performance-graphs-using-influxdb-nagflux-grafana-histou-802.html. I am running influxdb 1.7.9 on CentOS Linux release 7.7.1908 (Core) . I am seeing the breaks as per the grafana chart.

I have got this response from Nagios Forum.

The breaks in performance data generally mean you are not receiving valid data back from the plugin during these intervals, or perhaps for some reason, the performance data is being deleted before it is being processed. You may want to look at the influxdb logs to see if it is reporting any errors.

Versions :- influxdb-1.7.9-1.x86_64 , grafana-6.5.3-1.x86_64, histou v0.4.3, Nagflux v0.4.1, CentOS Linux release 7.7.1908 (Core), Nagios Core 4.4.5

Please let me know if you need any additional information.
grafanaimage
Best Regards,

Kaushal

We might need:

  1. A sample of the data, with the current and desired output.
  2. Your current Telegraf input configuration (if you use telegraf)

This is the documentation about how to properly input data in influx.

Also, what do you mean by “breaks” in the data?

  • periods of time without data?
  • particular chars (ie: spaces) inside some of the values?

@Giovanni_Luisotto

A sample of the data, with the current and desired output. Is there any SQL query to query influx DB? Any example regarding SQL query for timestamp?

Yes, there is no data for specific periods of time. I am referring to https://support.nagios.com/kb/article/nagios-core-performance-graphs-using-influxdb-nagflux-grafana-histou-802.html. I look forward to hearing from you. Thanks in advance.

Best Regards,

Kaushal

@Giovanni_Luisotto I am attaching the screenshot for your reference. For example is there a way to run sql query in InfluxDB for the time period between 17:20 till 18:00 where there is no data?

You can use “fill(previous)” instead of “fill(null)”, which is the default one.
This will show the previous value if there are no points in the current range

@Giovanni_Luisotto I am not sure if i understand it completely. Please guide. Thanks in Advance.

  • Can you run a query to get data that do not exist? no
  • Can you “emulate” data that do not exists? yes

At the end of your current query, whatever it is, you can add a function, called fill()
Docs here

# example
# This will replace nulls with the last available value
SELECT {...} FROM {...} WHERE {...} GROUP BY {...} fill(previous)
 

In your case, you may want to use previous or linear as the fill parameter

@Giovanni_Luisotto It works fine when I use fill(previous). I am not sure where do I set it permanently?
I am using the Nagflux connector to connect Nagios and InfluxDB. I am referring to https://support.nagios.com/kb/article/nagios-core-performance-graphs-using-influxdb-nagflux-grafana-histou-802.html

Please suggest further.

Best Regards,

Kaushal

I’m not going to read that article, but since you are using grafana you will have to edit the query inside the chart and add the fill function.

Sample:

@Giovanni_Luisotto I got it working by referring to the docs. The issue is that Histou which is a Grafana add-on that creates graphs specifically for the Nagios performance data generates dashboards without that behavior. Can it be done using histou? More Info regarding histou:- https://github.com/Griesbacher/histou. I look forward to hearing from you.

Much appreciated for your help and thanks in advance.

Best Regards,

Kaushal