0Pricing
Spring Boot 4 Microservices & REST APIs · Leçon

Indicateurs d'état

Signalez l'état de l'application et de ses dépendances.

Indicateurs d'état est une leçon Spring Boot 4 Microservices & REST APIs gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Spring Boot 4 Microservices & REST APIs, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Spring Boot 4 Microservices & REST APIs comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

The Health Endpoint

The /actuator/health endpoint reports whether the application and its dependencies are functioning. Load balancers and orchestrators poll it to decide if an instance should receive traffic.

GET /actuator/health
{ "status": "UP" }

Aggregated Status

Overall health is an aggregate of many health indicators. If any critical indicator reports DOWN, the overall status becomes DOWN. Statuses include UP, DOWN, and OUT_OF_SERVICE.

Built-in Indicators

Boot auto-configures indicators for common dependencies — datasource, disk space, Redis, RabbitMQ, and others — whenever the corresponding starter is present. They contribute to the aggregate automatically.

Showing Health Details

By default details are hidden. Reveal per-component breakdowns with management.endpoint.health.show-details, ideally only to authenticated callers.

management:
  endpoint:
    health:
      show-details: when-authorized
      # or: always / never

Detailed Output

With details enabled, the response lists each component’s status and contributed data, making it easy to see which dependency is failing.

{
  "status": "UP",
  "components": {
    "db": { "status": "UP", "details": { "database": "PostgreSQL" } },
    "diskSpace": { "status": "UP" }
  }
}

A Custom HealthIndicator

Implement HealthIndicator to report on a dependency Boot does not cover — say, a downstream API. Return Health.up() or Health.down() with optional details.

@Component
public class PaymentApiHealthIndicator implements HealthIndicator {
    private final PaymentClient client;
    public PaymentApiHealthIndicator(PaymentClient client) { this.client = client; }

    @Override
    public Health health() {
        return client.ping()
            ? Health.up().withDetail("latencyMs", client.lastLatency()).build()
            : Health.down().withDetail("reason", "ping failed").build();
    }
}

Indicator Naming

The component name is derived from the bean/class name with the HealthIndicator suffix stripped. PaymentApiHealthIndicator appears as paymentApi in the output.

Liveness and Readiness Probes

In Kubernetes you distinguish liveness (is the app alive?) from readiness (can it serve traffic?). Boot exposes both as health groups when probes are enabled.

management:
  endpoint:
    health:
      probes:
        enabled: true
# exposes /actuator/health/liveness and /readiness

Health Groups

Group indicators under a named subset so probes only consider the relevant checks. Readiness might include the database; liveness usually should not, to avoid pod restarts on transient outages.

management:
  endpoint:
    health:
      group:
        readiness:
          include: db,paymentApi

Tuning Status to HTTP Codes

Actuator maps health statuses to HTTP codes — UP to 200, DOWN to 503 by default — so infrastructure can act on the response code without parsing the body.

Designing Good Health Checks

Keep checks fast and meaningful:

  • Probe real dependencies, not just process liveness
  • Avoid heavy work that itself causes failures
  • Separate liveness from readiness to prevent restart storms

Quick Check

Test your understanding of custom indicators.

Recap

Health endpoints signal operational status.

  • /actuator/health aggregates many indicators
  • Built-in indicators cover common dependencies
  • Implement HealthIndicator for custom checks
  • Use show-details wisely; names strip the suffix
  • Enable liveness/readiness probes and groups for Kubernetes

Questions Fréquemment Posées

La leçon « Indicateurs d'état » est-elle gratuite ?

Oui — le texte complet de « Indicateurs d'état » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Spring Boot 4 Microservices & REST APIs, passe à CoddyKit PRO. Le cours Spring Boot 4 Microservices & REST APIs comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Indicateurs d'état » ?

Signalez l'état de l'application et de ses dépendances. Tu pratiques Spring Boot 4 Microservices & REST APIs avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Spring Boot 4 Microservices & REST APIs ?

Aucune expérience préalable n'est requise. Spring Boot 4 Microservices & REST APIs sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Indicateurs d'état » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Spring Boot 4 Microservices & REST APIs ?

Oui. Chaque leçon Spring Boot 4 Microservices & REST APIs inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Activer les points de terminaison Actuator
  2. Indicateurs d'état
  3. Métriques personnalisées avec Micrometer
  4. Sécuriser les points de terminaison Actuator
← Retour à Spring Boot 4 Microservices & REST APIs