Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting query failure metrics as NaN always. #9

Open
msaha1994 opened this issue May 14, 2020 · 13 comments
Open

Getting query failure metrics as NaN always. #9

msaha1994 opened this issue May 14, 2020 · 13 comments

Comments

@msaha1994
Copy link

I am using the druid version of 0.12.

@msaha1994 msaha1994 changed the title Getting guery failure metrics as NaN always. Getting query failure metrics as NaN always. May 14, 2020
@elukey
Copy link
Contributor

elukey commented May 14, 2020

hi @msaha1994, I'd need a couple of info:

  1. Are you using the last upstream version? If so, what config file are you using?
  2. There is a debug option, can you try to use it and see if any error pops up?

@msaha1994
Copy link
Author

msaha1994 commented May 14, 2020

I am not using the latest upstream.
Should I use sudo nohup .venv/bin/druid_exporter --debug --listen localhost:8000& to run in debug mode.
Also, I have one more question do I need to add recipient base URL config in common.runtime.properties to use this operations-software-druid-exporter?

@elukey
Copy link
Contributor

elukey commented May 14, 2020

Please do test the last upstream if possible :)

You need to instruct Druid to send metrics to the ip:port that the exporter is listening on, please check https://github.com/wikimedia/operations-software-druid_exporter#how-does-it-work.

@msaha1994
Copy link
Author

I have taken the upstream pull. I am using the below command to run this.
sudo nohup .venv/bin/druid_exporter /home/ubuntu/operations-software-druid_exporter/conf/example_druid_0_12_3.json

My druid common.runtime.properties are-
druid.monitoring.monitors=["io.druid.java.util.metrics.SysMonitor","io.druid.java.util.metrics.JvmMonitor","io.druid.java.util.metrics.JvmCpuMonitor","io.druid.java.util.metrics.JvmThreadsMonitor","io.druid.server.metrics.EventReceiverFirehoseMonitor","io.druid.server.metrics.QueryCountStatsMonitor"]
druid.emitter=http
druid.monitoring.emissionPeriod=PT1m
druid.emitter.logging.logLevel=info
druid.emitter.http.recipientBaseUrl=http://10.10.18.254:8000/

Still not getting the data for query druid_broker_query_countt.
Do i need to chnage in collector.py?

@elukey
Copy link
Contributor

elukey commented May 14, 2020

Have you tried to query the brokers some times to see if datapoints are generated?

@msaha1994
Copy link
Author

should i try curl http://localhost:8000/query/time/?

@elukey
Copy link
Contributor

elukey commented May 14, 2020

Nope what I mean is querying the druid broker itself, your example seems to point to the prometheus exporter. If you don't query the Druid broker no data point will be emitted and sent to the prometheus exporter, that will have no data to visualize.

@msaha1994
Copy link
Author

My druid's recipient base URL port and operations-software-druid_exporter port both are the same. Will it be a problem?

@elukey
Copy link
Contributor

elukey commented May 14, 2020

Mmmm it is a bit strange, how could two different daemons (druid broker and prometheus exporter) bind to the same port on the same host? Are you sure?

@msaha1994
Copy link
Author

So if I will set recipientBaseurl=http://10.10.40.198:8000/ and running exporter as sudo nohup .venv/bin/druid_exporter --listen 10.10.40.198:8000&
It should work??

@elukey
Copy link
Contributor

elukey commented May 14, 2020

Ah sorry I misread the above: yes please set recipientBaseurl in the Druid configuration to the address of the prometheus exporter. Then you have to query your Broker on port 8082 and see if datapoints appear (if it is not 8082 then the port that you configured for the broker).

@msaha1994
Copy link
Author

I should try this curl http://10.10.18.254:8082/druid/broker/query/time right?

@elukey
Copy link
Contributor

elukey commented May 15, 2020

@msaha1994 you should try to query the Druid brokers as you would do to simulate any Druid workload, and then see if any datapoint is visualized. The flow is:

user-query -> Druid -> datapoint-via-http -> prometheus exporter <- query for datapoints

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants