Skip to main content

Monitoring & Health

Health Check - /api/health

  • Endpoint: /api/health

  • Method: GET

  • Description: Checks the health status of the application and database.

  • Response (healthy):

    {
    "status": "healthy",
    "database": "connected",
    "basicConnection": true,
    "tablesFound": 2,
    "tables": [
    "servers",
    "backups"
    ],
    "preparedStatements": true,
    "initializationStatus": "complete",
    "initializationComplete": true,
    "connectionHealth": true,
    "timestamp": "2024-03-20T10:00:00Z"
    }
  • Response (degraded):

    {
    "status": "degraded",
    "database": "connected",
    "basicConnection": true,
    "tablesFound": 2,
    "tables": [
    "servers",
    "backups"
    ],
    "preparedStatements": false,
    "preparedStatementsError": "Prepared statement error details",
    "initializationStatus": "complete",
    "initializationComplete": true,
    "connectionHealth": false,
    "connectionHealthError": "Connection health check failed",
    "connectionDetails": {
    "additional": "diagnostic information"
    },
    "timestamp": "2024-03-20T10:00:00Z"
    }
  • Error Response (503):

    {
    "status": "unhealthy",
    "error": "Database connection failed",
    "message": "Connection timeout",
    "stack": "Error: Connection timeout\n at...",
    "timestamp": "2024-03-20T10:00:00Z"
    }
  • Notes:

    • Returns 200 status for healthy systems
    • Returns 503 status for unhealthy systems or prepared statement failures
    • Includes preparedStatementsError field when prepared statements fail
    • Includes initializationError field when database initialization fails
    • Includes connectionHealthError and connectionDetails when connection health checks fail
    • Stack trace only included in development mode
    • Tests basic database connection, prepared statements, initialization status, and connection health
    • Provides comprehensive health diagnostics for troubleshooting