# Health Monitoring for Self-Hosted Instances
This PR implements basic health monitoring for self-hosted instances in
the admin panel.
## Service Status Checks
We're adding real-time health checks for:
- Redis Connection
- Database Connection
- Worker Status
- Message Sync Status
## Existing Functionality
We already have message sync and captcha counters that store aggregated
metrics in cache within a configurable time window (default: 5 minutes).
## New Endpoints
1. `/healthz` - Basic server health check for Kubernetes pod monitoring
2. `/healthz/{serviceName}` - Individual service health checks (returns
200 if healthy)
3. `/metricsz/{metricName}` - Time-windowed metrics (message sync,
captcha)
4. GraphQL resolver in admin panel for UI consumption
All endpoints use the same underlying service, with different
presentation layers for infrastructure and UI needs.
---------
Co-authored-by: Félix Malfait <felix@twenty.com>
37 lines
596 B
TypeScript
37 lines
596 B
TypeScript
import { gql } from '@apollo/client';
|
|
|
|
export const GET_SYSTEM_HEALTH_STATUS = gql`
|
|
query GetSystemHealthStatus {
|
|
getSystemHealthStatus {
|
|
database {
|
|
status
|
|
details
|
|
}
|
|
redis {
|
|
status
|
|
details
|
|
}
|
|
worker {
|
|
status
|
|
queues {
|
|
name
|
|
workers
|
|
status
|
|
metrics {
|
|
failed
|
|
completed
|
|
waiting
|
|
active
|
|
delayed
|
|
prioritized
|
|
}
|
|
}
|
|
}
|
|
messageSync {
|
|
status
|
|
details
|
|
}
|
|
}
|
|
}
|
|
`;
|