Spring Boot

Status page and uptime monitoring for Spring Boot apps

Monitor Spring Boot services. Works out of the box with Spring Boot Actuator health endpoints. Public status page or headless via our API.

Three ways to ship a status page for Spring Boot

Pick the level of control you need — zero-code, low-code, or full headless.

Hosted

Add your Spring Boot endpoint, point a CNAME at status.yourdomain.com, done. Works in 5 minutes.

Headless

Use our public API to build your own UI inside your Spring Boot app. Full control over design and branding.

See the API

Embedded badges

Drop SVG uptime and status badges into your README or landing page. Auto-updates every 5 minutes.

Drop this health endpoint into your Spring Boot app

Copy, paste, point PulseAPI at the URL. Returns 200 when healthy, 503 when degraded.

application.yml
# application.yml
management:
  endpoints:
    web:
      exposure:
        include: health, info
  endpoint:
    health:
      show-details: always
      probes:
        enabled: true
  health:
    db:
      enabled: true
    redis:
      enabled: true
    diskspace:
      enabled: true

Spring Boot Actuator exposes /actuator/health with a stable JSON schema. Assert `$.status == "UP"`. Add JSON-path rules for specific components.

What breaks in Spring Boot apps — and how to catch it

Actuator "UP" with broken downstream

The default health check can pass while a critical bean fails intermittently. Add custom HealthIndicators and assert specific components.

JVM memory pressure

Long GC pauses show up as latency spikes. Response-time alerts catch this before OOMs happen.

Kafka consumer lag

Silent consumer failures cause queues to grow. Expose a lag endpoint and assert a threshold.

Headless angle

Don't like our status page? Build your own in Spring Boot.

Our API returns the same data our hosted UI consumes. Full OpenAPI spec documented at api.pulseapi.tech/docs.

Spring @RestController that proxies our status API for a custom page.
@RestController
public class StatusController {

    private final RestTemplate rest = new RestTemplate();

    @GetMapping("/status")
    public ResponseEntity<String> status() {
        String body = rest.getForObject(
            "https://api.pulseapi.tech/status/acme",
            String.class
        );
        return ResponseEntity.ok(body);
    }
}

Spring Boot monitoring — FAQ

Does it work with Spring Boot 2, 3, or Micronaut?

All of them. The Actuator /actuator/health shape is stable across Spring versions and Micronaut's is similar.

Can I secure /actuator/health?

Yes. Use an API key or IP allow-list. PulseAPI supports custom headers per endpoint.

How do I handle Kubernetes probes?

Use Actuator's liveness and readiness sub-paths. Point PulseAPI at `/actuator/health/liveness` for uptime and `/readiness` for dependency health.

Can I render the status page inside a Spring app?

Yes. Proxy our public API in a @RestController or render with Thymeleaf.

Start monitoring your Spring Boot app in 5 minutes

Free tier. No credit card. Add your endpoint and get alerts when it breaks.