Pasing unknown performance data from a check command

I’m using check_pgactivity plugin to monitor the status of my PostgreSQL database server.

In the syslog I can see thousands of error lines similar to:

Ignoring invalid perfdata for checkable ‘sql!longest_query’ and command ‘pgactivity’ with value: ‘icinga_director avg’=Us;60;300

As far as I have been able to analyze, the issue is the “U”. Only lines with a “U” in the perfdata value raise the error.

According to the https://www.monitoring-plugins.org/doc/guidelines.html#AEN197 U is an accepted value to indicate that the value is unknown.

That means that that returning “U” as perfdata value must be OK.

What am I missing here? Can anyone guide me on that?

Thanks !!

Javier Vilarroig

Thanks for posting. Based on the Monitoring Plugins Performance Data definition, this perfdata is valid. However, Icinga 2 does only implement a subset of this standard at the moment. Please take a look at the Icinga 2 issues #9282 and #9038.

Take the following icinga2 console output as an example.

<1> => parse_performance_data("'x'=Us")
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error while evaluating expression: Can't convert 'Us' to a floating point number.
<2> => parse_performance_data("'x'=U")
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error while evaluating expression: Can't convert 'U' to a floating point number

Btw, we talked about this internally just the other week and are aiming to address this one way or another. Sorry for any trouble.

Thanks for you fast answer.

Good to know, and reassuring :), that this is not a configuration problem but a known issue that will be fixed at some point.

All that error messages are annoying and take space in the journal, but are not creating big problems. So we can manage for now.

I will be looking forward to have that issue solved at some point.

Thanks again for you answer.