diff --git a/src/main/java/org/graylog/inputs/jmx/JMXTransport.java b/src/main/java/org/graylog/inputs/jmx/JMXTransport.java index 629343c..64b122b 100644 --- a/src/main/java/org/graylog/inputs/jmx/JMXTransport.java +++ b/src/main/java/org/graylog/inputs/jmx/JMXTransport.java @@ -30,6 +30,7 @@ import org.graylog2.plugin.journal.RawMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import scala.util.parsing.combinator.testing.Str; import javax.management.MBeanServerConnection; import javax.management.ObjectName; @@ -211,7 +212,9 @@ private void populateConfiguredAttributes() { if (attribute.getKey() != null) { mapKey += attribute.getKey(); } - configuredAttributes.put(mapKey, + String queryStr = queryBuilder.build().getObj(); + queryStr = queryStr.replace("*", ""); + configuredAttributes.put(queryStr + "+" + mapKey, attribute); } queries.add(queryBuilder.build()); @@ -233,7 +236,7 @@ private void fetchData() { for (Query query : queries) { HashMultimap results = queryProcessor.processQuery(connection, query); for (Map.Entry entry : results.entries()) { - processResult(event, entry); + processResult(event, entry, query); } } publishToGLServer(event); @@ -283,10 +286,12 @@ private String sanitize(String string) { //process JMXTrans result object as per configured json - private void processResult(Map event, Map.Entry objectResult) { + private void processResult(Map event, Map.Entry objectResult, Query query) { Result result = objectResult.getValue(); String attrName = result.getAttributeName(); Set resultKeys = result.getValues().keySet(); + String queryStr = query.getObj(); + queryStr = queryStr.replace("*", ""); Map objectProperties = new HashMap<>(); @@ -296,21 +301,14 @@ private void processResult(Map event, Map.Entry