question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Conductor server metrics how/help + prometheus

See original GitHub issue

Hello guys I read a few tickets about conductor server and prometheus metrics

https://github.com/Netflix/conductor/issues/600 https://github.com/Netflix/conductor/issues/1769

And the conductor documentation https://netflix.github.io/conductor/metrics/server/

But I can’t understand how to enable spectator in conductor server and then push metrics to a external prometheus server.

https://netflix.github.io/conductor/metrics/server/#publishing-metrics

Conductor uses spectator to collect the metrics.

  • To enable conductor serve to publish metrics, add this dependency to your build.gradle.

    is build.grade, server/build.gradle ?

    I followed the link and I tried to add

      // metrics -- this line didn't work
     compile "com.netflix.spectator:spectator-reg-metrics3:0.89.0"
    

    or https://github.com/brharrington/spectator-examples/blob/master/metrics3/build.gradle

    I had errors

    A problem occurred configuring project ‘:conductor-server’.

    Could not resolve all dependencies for configuration ‘:conductor-server:runtimeCopy’. Could not find com.netflix.spectator:spectator-reg-metrics3:0.89.0.

    OR

    Could not get unknown property ‘version_guice’ for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

  • Conductor Server enables you to load additional modules dynamically, this feature can be controlled using this configuration.

    I added to docker/server/config/config.properties

    # Additional modules for metrics collection (optional)
    conductor.additional.modules=com.netflix.conductor.contribs.metrics.MetricsRegistryModule,com.netflix.conductor.contribs.metrics.LoggingMetricsModule
    com.netflix.conductor.contribs.metrics.LoggingMetricsModule.reportPeriodSeconds=15
    
  • Create your own AbstractModule that overides configure function and registers the Spectator metrics registry.

  • Initialize the Registry and add it to the global registry via ((CompositeRegistry)Spectator.globalRegistry()).add(…).

the last two option I don’t know where I need to add it.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
marcocrassocommented, Apr 16, 2021

@eins today I faced the same problem and a Web search brings me here. In case you still want to achieve this, I’d suggest to:

for development purposes:

in server/build.gradle file add:

implementation 'org.springframework.boot:spring-boot-starter-actuator'

in server/src/main/resources/application.properties add:

conductor.metrics-prometheus.enabled=true
management.endpoints.web.exposure.include=prometheus,health,info,metrics

** EDITED ** in java/com/netflix/conductor/contribs/metrics/PrometheusMetricsConfiguration.java

Remove the instantiation of Prometheus registry, and let Spring inject the actuator one:

public PrometheusMetricsConfiguration(MeterRegistry meterRegistry) {
    LOGGER.info("Prometheus metrics module initialized");

    final MicrometerRegistry metricsRegistry = new MicrometerRegistry(meterRegistry);

then hit at root:

./gradlew server

visit: http://localhost:8080/actuator and follow the links.

for PRD

For production, build a docker image with the change in server/build.gradle and then configure your container as showed.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Server Metrics - Conductor Documentation
The following metrics are published by the server. ... Another way to collect metrics is using Prometheus client to push them to Prometheus...
Read more >
netflix-conductor/community - Gitter
Hi, I am looking to extract the conductor metrics into prometheus. ... here: https://netflix.github.io/conductor/metrics/server/#publishing-metrics.
Read more >
Demonstration of Workflow Metrics in Netflix Conductor
Orkes Founder Viren Baraiya gave a short demonstration of how the Orkes team uses metrics to analyze workflow usage, timings and failures.
Read more >
Monthly Announcement Summary - from March 01, 2018 ... - IBM
ZG18-0060 IBM POWER9 technology-based servers enhance I/O options ... of IBM Spectrum Conductor™ plus the IBM Spectrum Conductor Deep Learning Impact add-on ...
Read more >
flaviostutz/conductor-server - Docker Image
conductor -server. Netflix's Conductor Server Docker container. Prometheus plugin is installed on Conductor. Access metrics by calling '/metrics'.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found