monitoring spring boot service (actuator, security enabled) using prometheus

3.1k Views Asked by At

I am currently trying to use PrAG stack to monitor spring boot based microservices. Have 2 spring boot projects 1.5.4 (pom.xml) have the following dependencies configured to get the metrics and transform the metrics to prometheus server:

  <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-hateoas</artifactId>
    </dependency>

    <dependency>
        <groupId>com.moelholm</groupId>
        <artifactId>prometheus-spring-boot-starter</artifactId>
        <version>1.0.1</version>
    </dependency>

Prometheus Scrape Configs:

scrape_configs:

  - job_name: 'Test-springboot-actuator'
    scrape_interval: 2s
    metrics_path: '/prometheus'
    static_configs:
         - targets: ['localhost:8090']

 - job_name: 'secondApp'

    scrape_interval: 2s

    basic_auth:
      username: user
      password: pass

    metrics_path: '/prometheus'
    static_configs:
         - targets: ['localhost:8080']

Test project does not use spring security , but the secondAPP uses the spring security.

Second App requires the basic authentication. Prometheus pod does not start,it somehow does not read the credentials that have been set in scrape_config.

Can anyone point me to the right direction?

1

There are 1 best solutions below

0
On

One thing you can do is allow the metrics endpoint to work when security is enabled. To do that you can use this setting.

endpoints.metrics.sensitive=false

Reference.