Unable to configure monitoring on broker node

Hi,

I am trying to configure broker node to emit metrics. I added following configuration in my config file (supervisor.conf). Druid version: 0.13.0-incubating

-Ddruid.monitoring.monitors=[“org.apache.druid.java.util.metrics.JvmMonitor”]
-Ddruid.emitter=logging
-Ddruid.emitter.logging.logLevel=info

``

I keep seeing following erros in the logs. Not sure why it won’t accept the above configuration.

2019-06-24 04:21:05,156 DEBG ‘druid-broker’ stdout output:
2019-06-24T04:21:05,153 INFO [main] org.apache.druid.guice.JsonConfigurator - Unable to parse [druid.monitoring.monitors]=[[org.apache.druid.java.util.metrics.JvmMonitor]] as a json object, using as is.
com.fasterxml.jackson.core.JsonParseException: Unrecognized token ‘org’: was expecting (‘true’, ‘false’ or ‘null’)
at [Source: [org.apache.druid.java.util.metrics.JvmMonitor]; line: 1, column: 5]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1581) ~[druid-services-0.13.0-incubating-selfcontained.jar:0.13.0-incubating]

``

2019-06-24 04:21:05,312 DEBG ‘druid-broker’ stdout output:
2019-06-24T04:21:05,311 INFO [main] org.apache.druid.guice.JsonConfigurator - Unable to parse [druid.monitoring.monitors]=[[org.apache.druid.java.util.metrics.JvmMonitor]] as a json object, using as is.
com.fasterxml.jackson.core.JsonParseException: Unrecognized token ‘org’: was expecting (‘true’, ‘false’ or ‘null’)
at [Source: [org.apache.druid.java.util.metrics.JvmMonitor]; line: 1, column: 5]

``

  1. Problem parsing object at prefix[druid.monitoring]: Can not deserialize instance of java.util.ArrayList out of VALUE_STRING token
    at [Source: N/A; line: -1, column: -1] (through reference chain: org.apache.druid.server.metrics.MonitorsConfig[“monitors”]).

``

What am i missing here? what are the right values for setting up monitoring?

Thanks,

Prathamesh

Hi Prathamesh,

Can you try setting the properties in the broker runtime.properties.

Thanks,

Sashi

Setting that in supervisor.conf has same effect. This is when deploying using docker and using supervisor to start all the services.

In the JsonConfigurator class, I can see this comment :

// If it’s a String Jackson wants it to be quoted, so check if it’s not an object or array and quote

So maybe give a try to the value without , just the string.

Found the solution

Any quotes should be escaped when specifying values in supervisor.conf

-Ddruid.monitoring.monitors=[“org.apache.druid.java.util.metrics.JvmMonitor”]
-Ddruid.emitter=logging
-Ddruid.emitter.logging.logLevel=info

``

``