Skip to content

M16.7 Service health: checks, dependencies, incidents #70

Closed as not planned

Description

@productdevbook

Part of #63. Needs M16.4 (alert delivery and the uptime runner).

yuva-api

  • monitor_services (name and environment, optional API property, push or pull with a health URL and interval, silence timeout), monitor_dependencies (kind, critical, latency), monitor_instances (gone after 24 h of silence); made by the first report, a member, or the first record or span that names the service.
  • POST /v1/monitoring/health (analytics:write) for pushed reports; pulled reports through the uptime runner and its address checks, reading application/health+json, Spring Boot Actuator or the status code alone; messages shown to members only.
  • State per service and dependency (healthy, degraded, down, unknown) from reports, critical and non-critical dependencies, the silence timeout, linked uptime checks and the linked property's 5xx rate and p95 over 5 minutes; recovery after two healthy evaluations; the monitor_states job every 30 s; monitor_state_changes (400 days) and monitor_health_hours (90 days).
  • monitor_incidents and monitor_incident_updates: one automatic incident per service turning degraded or down, resolved after 5 minutes healthy; manual incidents and maintenance windows (no alerts or automatic incidents inside one); monitor.incident stored event and webhook.
  • State-change alert rules of M16.4 on services and dependencies; the health dataset; MCP tools for current state and incidents.

yuva-widget, yuva-api (SDKs)

  • sdk/go/health and createHealth in useyuva/server (with the srvx, h3, Nitro, Hono, Express, Fastify and Next.js wiring of M16.2): register checks with timeouts and criticality, serve application/health+json, push reports on an interval.

yuva-panel

  • Monitoring section: services overview with state, dependencies and incidents; a service's page with its checks, instances and history; incidents with updates and maintenance; a health panel type for dashboards (M16.6). en and tr.

yuva-docs

  • Health checks per stack, pushed versus pulled, how state is derived; en, tr, de.

Done when

Stopping a critical dependency of a sample service turns the dependency down and the service down within the configured time (a non-critical one degraded), opens one incident and one alert, and both close when it comes back; a service that stops reporting turns down after its timeout; a pulled Actuator endpoint and a pushed Go report give the same states.

Activity

  1. productdevbook commented on Oct 14, 2026

    @productdevbook
    OwnerAuthor

    Closed for now: the API monitoring work moved off main into #72 and is not on the roadmap until that PR is reviewed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions