Commit graph

29 commits

Author SHA1 Message Date
Alvar Penning
7e65a60a5d
Fix PerfdataValue Counter Parsing
Ensure that the counter unit of measurement, "c", is parsed correctly
for performance data values again.

A prior refactoring in 720a88c29a changed
the parsing logic, resulting in an incorrect behavior for counter units.
By passing the raw input into the l_CsUoMs map first, the "c" UoM is
removed. Moving the explicit counter check before passing the raw unit
into the map resolves this issue.

Fixes #9540.
2025-05-12 16:34:05 +02:00
Lorenz Kästle
e7381193c8
Reject infinite performance data values
Some fault monitoring plugins may return "inf" or "-inf" as
values due to a failure to initialize or other errors.

This patch introduces a check on whether the parse value is infinite
(or negative infinite) and rejects the data point if that is the case.

The reasoning here is: There is no possible way a value of "inf" is ever
a true measuring or even useful. Furthermore, when passed to the
performance data writers, it may be rejected by the backend and lead
to further complications.
2025-01-09 11:46:34 +01:00
Maciej Dems
2bb5cc62e2 Fix missing values in PerfData normalization 2024-04-25 17:41:12 +02:00
Maciej Dems
91789b2888 Correct tests checks for icinga_perfdata 2024-04-25 17:41:12 +02:00
Yonas Habteab
e7c5554d87 Test: Add multiline PerfData test case 2023-04-05 15:44:13 +02:00
Alexander A. Klimov
ea5411a6e0 PluginUtility::FormatPerfdata(): normalize UoMs if desired 2021-07-05 19:05:32 +02:00
Julian Brost
06999faf25 Allow using E in perfdata both as exponent and unit prefix 2021-06-08 12:37:13 +02:00
Julian Brost
62cbe72cdb
Merge pull request #8492 from Icinga/bugfix/perfdata-scientific-notation
Fix perfdata parser not recognize scientific notation
2021-06-07 15:29:52 +02:00
Michael Insel
e070651203 Add test-case for perfdata scientific notation 2020-11-27 11:40:10 +01:00
Alexander A. Klimov
720a88c29a PerfdataValue: add UoMs
* {,{K,M,G,T,P,E,Z,Y}{,i}}B
  => bytes
* {,{k,m,g,t,p,e,z,y}{,i}}b
  => bits
* packets
* {n,u,m,}s m h d
  => seconds
* {n,u,m,,k,M,G,T,P,E,Z,Y}{{A,O,V,W},{A,W}{s,m,h}}
  => amperes, ohms, volts, watts, ampere-seconds, watt-hours
* lm dBm
  => lumens decibel-milliwatts
* {n,u,m,,k}g t
  => grams
* C F K
  => degrees-celsius, degrees-fahrenheit, degrees-kelvin
* {m,,h}l
  => liters

refs #7225
2020-04-03 12:47:36 +02:00
Michael Friedrich
d14a88235d Replace Copyright header with a short version, part I
CLion -> replace in path
2019-02-25 14:48:22 +01:00
Michael Friedrich
dab53448bc icinga.com: Update *.{h,c}pp 2018-10-18 09:27:04 +02:00
Michael Insel
158ae2188e Change copyright header for 2018 2018-01-02 12:08:55 +01:00
Michael Friedrich
79dcb789c2 Move PerfdataValue() class into base library
This is required for libremote and ApiListener stats in #5133
2017-05-15 16:32:29 +02:00
Michael Friedrich
b7caf0820d Ensure that *.icinga.com is used everywhere
fixes #13897
fixes #13277
2017-01-10 17:19:12 +01:00
Gunnar Beutner
1dc4ab367e Fix: Unit tests randomly crash after the tests have completed
fixes #12610
2016-09-07 08:25:53 +02:00
Gunnar Beutner
599929b0f6 Update copyright headers for 2016 2016-01-12 08:29:59 +01:00
Jason Young
faf6ce1a5f Update PerfdataValue::Parse to ignore invalid warn, crit, min, and max values
... instead of generating exception so that metric values can
still be passed to the graphing backend.
Also update icinga-perfdata tests to reflect these changes.

refs #5043

Signed-off-by: Michael Friedrich <michael.friedrich@netways.de>
2015-03-02 13:52:41 +01:00
Michael Friedrich
78bfd0204c Update copyright year 2015-01-22 12:00:23 +01:00
Gunnar Beutner
879684efcd Fix problems with PNP4Nagios
fixes #7268
2014-09-17 15:38:39 +02:00
Gunnar Beutner
632026cd9f Rename C++ header files.
Fixes #6291
2014-05-25 16:27:14 +02:00
Michael Friedrich
ce737ff2f3 Change copyright header (again).
Fixes #5424
2014-03-19 11:42:47 +01:00
Michael Friedrich
555d72150a Update copyright header.
Fixes #5424
2014-01-09 00:32:11 +01:00
Gunnar Beutner
9bf44b9b1d Fix: Missing warn/crit/min/max values are incorrectly set to 0.
Fixes #5358
2013-12-17 14:47:19 +01:00
Gunnar Beutner
0f28e55925 Implement support for non-standard "multi" performance data.
Refs #5082
2013-11-17 03:29:43 +01:00
Gunnar Beutner
2dacc047ec Remove quotes from perfdata keys.
Fixes #5031
2013-11-13 15:43:59 +01:00
Gunnar Beutner
ceb0a54baf Implement support for performance data unit prefixes.
Fixes #5026
2013-11-08 08:39:05 +01:00
Gunnar Beutner
e246170374 Fix unit test name.
Refs #2710
2013-11-07 18:21:55 +01:00
Gunnar Beutner
2af388e4ef Implement performance data parser.
Refs #2710
2013-11-07 16:07:52 +01:00