codecentric / spring-boot-admin

Admin UI for administration of spring boot applications
Apache License 2.0
12.39k stars 3.08k forks source link

Override probed-endpoints #3839

Open konushefci-jehona opened 1 week ago

konushefci-jehona commented 1 week ago

Description

I am currently using Spring Boot Admin to manage and monitor multiple microservices. However, I encountered an issue where I cannot selectively override the probed endpoints for a specific microservice. This limitation is particularly problematic in a scenario where we use Flyway for most services but need to exclude it for a specific service that does not use Flyway, as it causes NoResourceFoundException due to missing endpoints.

Steps to Reproduce

  1. Configure multiple microservices with Spring Boot Admin, with at least one service not using Flyway.
  2. Attempt to exclude the Flyway probed endpoint for this specific service.

Expected Behavior

I would expect to have the ability to configure probed endpoints on a per-microservice basis, allowing more control over what is monitored and exposed via Spring Boot Admin.

Actual Behavior

All services inherit the same probed endpoints configuration, leading to errors in services that do not have certain endpoints like Flyway.

Possible Solution

Allow configuration of probed endpoints in the application properties or via the admin server that supports service-specific overrides.

Additional Context

The lack of this feature complicates the management of microservices with differing architectures and can lead to false alarms or errors in monitoring systems.

I am looking for any advice on workarounds or if there are plans to support this feature in upcoming releases.

erikpetzold commented 1 week ago

Hi @konushefci-jehona

this property was only relevant for Spring Boot 1.x applications. Do you really use Spring Boot 1? Otherwise you can just remove the property from your config.

Spring Boot Admin will detect the available endpoints on Spring Boot 2 and 3 services automatically.

Besides that, having endpoints in the list that are not available on specific services should not be a problem. These endpoints are only probed, so checked if they are available (via OPTIONS request). In the default list there is flyway and liquibase and many others, event though many applications do not have them. This does not cause any error in the examples or at our production instances.