feat: API-level health check dashboard with endpoint timeline visualization

Open 💬 0 comments Opened Jul 14, 2026 by vinoth-aivar

Summary

Comprehensive API health monitoring system that tracks the status of all 60 GET endpoints with 24-hour timeline visualization and historical uptime metrics.

Features

  • 60 Endpoint Coverage: Monitors all health, model, guardrails, audit, budget, team, user, v1, report, spend, tag endpoints
  • Timeline Visualization: 24-hour status bars per endpoint with bucketing (1D, 7D, 30D, 90D filters)
  • Search & Filter: Filter endpoints by path, view day-level uptime percentages
  • Parallel Health Checks: Optimized Lambda execution with Promise.all() for concurrent endpoint checks
  • Timeout Management: Adaptive timeouts (30s default, 60s for slow endpoints like /spend/logs and /report/optimize)
  • DynamoDB Persistence: 90-day TTL health check history for trend analysis

Architecture

EventBridge (scheduled) → Lambda (aivar-gateway-health-check)
                              ↓
                    Check 60 GET endpoints
                              ↓
                    DynamoDB (aivar-gateway-health-results)
                              ↓
                    Next.js Frontend (CloudFront)

Deployment

# Deploy Lambda with health check logic
make deploy-health-lambda

# Deploy frontend (Next.js dashboard)
make deploy-health-dashboard

# Manual trigger
aws lambda invoke --function-name aivar-gateway-health-check --region us-east-1 /tmp/invoke.json

Files Modified

  • health-dashboard/lambda/check/index.ts - Core health check logic (60 endpoints, timeout management)
  • health-dashboard/src/app/[environment]/api/ApiDetail.tsx - Frontend with search + day filters
  • Makefile - Added deploy-health-lambda and deploy-health-dashboard targets

Endpoints Monitored

  • Health checks: /health/*, /health/readiness/details
  • Model info: /models, /v1/models, /model/info, /v1/model/info
  • Guardrails: /guardrails/list, /guardrails/submissions, /v2/guardrails/list, /guardrails/ui/*
  • Audit: /audit, /audit/settings
  • Budget: /budget/list, /budget/settings, /soft-budget/settings
  • Teams: /team/info, /team/list, /team/daily/activity
  • Users: /user/info, /user/list, /user/daily/activity, /user/daily/activity/aggregated
  • Reports: /report/*, /report/cache-opportunities, /report/optimize, /report/optimize-with-confidence
  • Spend: /spend/logs, /spend/logs/v2, /spend/tags
  • Tags: /tag/list, /tag/daily/activity, /tag/summary, /tag/dau, /tag/wau, /tag/mau, /tag/distinct
  • Other: /routing/state, /key/info, /key/list, /guardrails/usage/, /global/spend/, /organization/*, /get/sso_settings, /sso/microsoft/config, /exceptions

Performance Optimizations

  • Parallel API calls instead of sequential checking
  • Adaptive timeouts: 60s for heavy report/spend endpoints, 30s default
  • DynamoDB TTL for automatic old record cleanup
  • CloudFront caching for frontend assets

Related Issues

Addresses: Health check implementation for API-level monitoring

View original on GitHub ↗