Hello,
first i want to thank you for that great check. It is really helpful.
Today i run in a problem. I am using graphite to visualize performance data in IcingaWeb2.
The redfish check returns performance data including parenthesis and square bracket characters.
This results in directory names like '../power_on_hours_drive_MICRON_5400_MTFDDAK960TGA_(0)_[0:0:0]/...' on the graphite server.
The graphite module for icingaweb is unable to display graphs when these characters exist.
I found this closed issue #197 where the equal sign is replaced by a underscore character.
When I extend the code of your fix (file: plugin.py; linenumer: 251) like this
perf_string = "'%s'=%s" % (name.replace(" ", "_").replace("=", "_").replace("'", "_").replace("[", "_").replace("]", "_").replace("(", "_").replace(")", "_"), value)
the graphs are displayed correctly.
The directory then reads like '../power_on_hours_drive_MICRON_5400_MTFDDAK960TGA__0____0_:0:0_/...'.
I dont know if this is the best way to handle this problem or if this only fixes my usecase.
Best regards,
Bjoern
Hello,
first i want to thank you for that great check. It is really helpful.
Today i run in a problem. I am using graphite to visualize performance data in IcingaWeb2.
The redfish check returns performance data including parenthesis and square bracket characters.
This results in directory names like '../power_on_hours_drive_MICRON_5400_MTFDDAK960TGA_(0)_[0:0:0]/...' on the graphite server.
The graphite module for icingaweb is unable to display graphs when these characters exist.
I found this closed issue #197 where the equal sign is replaced by a underscore character.
When I extend the code of your fix (file: plugin.py; linenumer: 251) like this
perf_string = "'%s'=%s" % (name.replace(" ", "_").replace("=", "_").replace("'", "_").replace("[", "_").replace("]", "_").replace("(", "_").replace(")", "_"), value)the graphs are displayed correctly.
The directory then reads like '../power_on_hours_drive_MICRON_5400_MTFDDAK960TGA__0____0_:0:0_/...'.
I dont know if this is the best way to handle this problem or if this only fixes my usecase.
Best regards,
Bjoern