Прямой доступ к компонентам / данным Spring Boot Actuator Health? - PullRequest
0 голосов
/ 18 марта 2020

Из приложения Sprig Boot возможно ли получить доступ к данным привода / работоспособности напрямую, не делая вызов покоя и не анализируя результаты?

В идеале я мог бы автоматически связать бин и затем получить выборку представления объекта данные о работоспособности с вызовом метода.

Например, если моя конечная точка работоспособности показывает что-то вроде этого:

{
    "status": "UP",
    "components": {
        "db": {
            "status": "UP",
            "details": {
                "database": "PostgreSQL",
                "result": 1,
                "validationQuery": "SELECT 1"
            }
        },
        "diskSpace": {
            "status": "UP",
            "details": {
                "total": 499963174912,
                "free": 389081399296,
                "threshold": 10485760
            }
        },
        "ping": {
            "status": "UP"
        },
        "redis": {
            "status": "UP",
            "details": {
                "version": "3.2.12"
            }
        }
    }
}

Затем, какие компоненты я могу автоматически связать, чтобы найти каждый из этих битов информации

Ответы [ 2 ]

1 голос
/ 18 марта 2020

Конечно, вы можете ввести соответственно Endpoint. Например, если вы заинтересованы в HealthEndpoint, вы можете сделать:

@RestController
public class ActuatorController {

    private final HealthEndpoint healthEndpoint;

    public ActuatorController(HealthEndpoint healthEndpoint) {
        this.healthEndpoint = healthEndpoint;
    }

    @GetMapping("health")
    public String health() {
        return healthEndpoint.health().getStatus().getCode();
    }
}
0 голосов
/ 18 марта 2020

Кроме того, информация и точки здоровья включены в приводе по умолчанию, и вам не нужно выставлять их вручную. Как только вы добавите зависимость в ваш pom. xml она будет включена, и вы сможете получить доступ к конечным точкам URL, не раскрывая их

...