Fix error with duplicate config keys on different queries
Hi,
we encountered an error with the jmx plugin and the config. If two different queries return the same name parameters then the plugin renames both with one of the configured labels.
Example:
I have the following config:
{ "type": "jvm", "queries": [ { "object": "java.lang:type=OperatingSystem", "attributes": [ { "name": "SystemCpuLoad", "label": "tph_jvm_os_systemCpuLoad" }, { "name": "ProcessCpuLoad", "label": "tph_jvm_os_processCpuLoad" } }, { "object": "java.lang:type=OperatingSystemParent", "attributes": [ { "name": "SystemCpuLoad", "label": "tph_jvm_parent_systemCpuLoad" }, { "name": "ProcessCpuLoad", "label": "tph_jvm_parent_processCpuLoad" } } ] }
In Graylog I would only receive the values: tph_jvm_parent_systemCpuLoad tph_jvm_parent_processCpuLoad but it could be that the values are from the HostOS and not the parent.
The reason is that the key replacements are handled in a HashMap without using the query (only the Name) - the fix is this PR.
Thanks!