Druid Prometheus-emitter Download

0 views
Skip to first unread message

Raphael Dyen

unread,
Dec 30, 2023, 8:55:23 AM12/30/23
to fledizgili
TLDR Udit was struggling to enable QueryCountStatsMonitor and was getting an exception. Gian suggested adding to an override on `druid.indexer.runner.javaOpts` or `druid.indexer.runner.javaOptsArray` and clarified that the issue was due to middlemanager's inability to do queries.
I am getting following exception when adding to the *druid.monitoring.monitors* on mm runtime.properties```1) No implementation for org.apache.druid.server.metrics.QueryCountStatsProvider was bound. while locating org.apache.druid.server.metrics.QueryCountStatsProvider for the 1st parameter of org.apache.druid.server.metrics.QueryCountStatsMonitor.(QueryCountStatsMonitor.java:40) while locating org.apache.druid.server.metrics.QueryCountStatsMonitor at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:99) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:99) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule)```
druid prometheus-emitter download
hmm. i am not sure (never done this myself) but i guess you would need to add it to an override on `druid.indexer.runner.javaOpts` or `druid.indexer.runner.javaOptsArray`. Like `-Ddruid.monitoring.monitors=...`
Hi all, I am new to druid and I have to collect metrics from druid on an http endpoint through APIs in a spring boot application. But although I have done all the configuration needed, I am still not able to do it. Since there are different directories for common.runtime.properties, I am doing all the configuration changes in the /auto dir of druid-26.0.0. Also, when i am trying to see the console, I am getting the following error:Exception in thread "main" org.apache.druid.java.util.common.ISE: Extension [/Users/ananya/Downloads/apache-druid-26.0.0/extensions/druid-extensions-contrib-firehose-segment-push] specified in "druid.extensions.loadList" didn't exist!? at org.apache.druid.guice.ExtensionsLoader.getExtensionFilesToLoad(ExtensionsLoader.java:184) at org.apache.druid.guice.ExtensionsLoader$ServiceLoadingFromExtensions.addAllFromFileSystem(ExtensionsLoader.java:293) at org.apache.druid.guice.ExtensionsLoader$ServiceLoadingFromExtensions.(ExtensionsLoader.java:281) at org.apache.druid.guice.ExtensionsLoader$ServiceLoadingFromExtensions.(ExtensionsLoader.java:269) at org.apache.druid.guice.ExtensionsLoader.lambda$getFromExtensions$0(ExtensionsLoader.java:140) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) at org.apache.druid.guice.ExtensionsLoader.getFromExtensions(ExtensionsLoader.java:138) at org.apache.druid.cli.Main.main(Main.java:98)Also, I am attaching my spring boot application
These are the things I have added in the common.runtime.properties file in the druid/auto dirdruid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor", "org.apache.druid.server.metrics.QueryCountStatsMonitor","org.apache.druid.segment.realtime.RealtimeMetricsMonitor"]druid.emitter=httpdruid.module.enable="druid-metrics"druid.emitter.logging.logLevel=infodruid.monitoring.emissionPeriod = PT1Mdruid.emitter.http.minHttpTimeoutMillis = 1000druid.emitter.http.recipientBaseUrl =
Yes, my bad. I have removed that extension. Now, I am getting this errorException in thread "main" java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector, see the following errors:1) No implementation for java.util.List was bound. while locating java.util.List for the 1st parameter of org.apache.druid.segment.realtime.RealtimeMetricsMonitor.(RealtimeMetricsMonitor.java:52) while locating org.apache.druid.segment.realtime.RealtimeMetricsMonitor at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) while locating org.apache.druid.java.util.metrics.MonitorScheduler at org.apache.druid.server.metrics.MetricsModule.configure(MetricsModule.java:95) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) while locating org.apache.druid.java.util.metrics.MonitorScheduler annotated with com.google.inject.name.Named(value=ForTheEagerness)1 error at org.apache.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:88) at org.apache.druid.cli.ServerRunnable.run(ServerRunnable.java:62) at org.apache.druid.cli.Main.main(Main.java:112)Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:1) No implementation for java.util.List was bound. while locating java.util.List for the 1st parameter of org.apache.druid.segment.realtime.RealtimeMetricsMonitor.(RealtimeMetricsMonitor.java:52) while locating org.apache.druid.segment.realtime.RealtimeMetricsMonitor at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) while locating org.apache.druid.java.util.metrics.MonitorScheduler at org.apache.druid.server.metrics.MetricsModule.configure(MetricsModule.java:95) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) while locating org.apache.druid.java.util.metrics.MonitorScheduler annotated with com.google.inject.name.Named(value=ForTheEagerness)1 error at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470) at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) at com.google.inject.Guice.createInjector(Guice.java:99) at com.google.inject.Guice.createInjector(Guice.java:73) at com.google.inject.Guice.createInjector(Guice.java:62) at org.apache.druid.initialization.ExtensionInjectorBuilder.build(ExtensionInjectorBuilder.java:49) at org.apache.druid.initialization.ServerInjectorBuilder.build(ServerInjectorBuilder.java:118) at org.apache.druid.initialization.ServerInjectorBuilder.makeServerInjector(ServerInjectorBuilder.java:73) at org.apache.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:85) ... 2 more
When I removed `RealTimeMetricsMonitor` , many of the errors are gone except I am getting the following error in middleManager.stdout.logException in thread "main" java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector, see the following errors:1) No implementation for org.apache.druid.server.metrics.QueryCountStatsProvider was bound. while locating org.apache.druid.server.metrics.QueryCountStatsProvider for the 1st parameter of org.apache.druid.server.metrics.QueryCountStatsMonitor.(QueryCountStatsMonitor.java:40) while locating org.apache.druid.server.metrics.QueryCountStatsMonitor at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) while locating org.apache.druid.java.util.metrics.MonitorScheduler at org.apache.druid.server.metrics.MetricsModule.configure(MetricsModule.java:95) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) while locating org.apache.druid.java.util.metrics.MonitorScheduler annotated with com.google.inject.name.Named(value=ForTheEagerness)1 error at org.apache.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:88) at org.apache.druid.cli.ServerRunnable.run(ServerRunnable.java:62) at org.apache.druid.cli.Main.main(Main.java:112)Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:1) No implementation for org.apache.druid.server.metrics.QueryCountStatsProvider was bound. while locating org.apache.druid.server.metrics.QueryCountStatsProvider for the 1st parameter of org.apache.druid.server.metrics.QueryCountStatsMonitor.(QueryCountStatsMonitor.java:40) while locating org.apache.druid.server.metrics.QueryCountStatsMonitor at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) at org.apache.druid.server.metrics.MetricsModule.getMonitorScheduler(MetricsModule.java:110) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) while locating org.apache.druid.java.util.metrics.MonitorScheduler at org.apache.druid.server.metrics.MetricsModule.configure(MetricsModule.java:95) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.server.metrics.MetricsModule) while locating org.apache.druid.java.util.metrics.MonitorScheduler annotated with com.google.inject.name.Named(value=ForTheEagerness)1 error at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470) at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) at com.google.inject.Guice.createInjector(Guice.java:99) at com.google.inject.Guice.createInjector(Guice.java:73) at com.google.inject.Guice.createInjector(Guice.java:62) at org.apache.druid.initialization.ExtensionInjectorBuilder.build(ExtensionInjectorBuilder.java:49) at org.apache.druid.initialization.ServerInjectorBuilder.build(ServerInjectorBuilder.java:118) at org.apache.druid.initialization.ServerInjectorBuilder.makeServerInjector(ServerInjectorBuilder.java:73) at org.apache.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:85) ... 2 more
35fe9a5643
Reply all
Reply to author
Forward
0 new messages