Health Check
This technical design describes implementation and API for healthcheck.
API
GET /api/health/<access_token>/
Permissions
Requires access_token in url. access_token if configured per namespace and can be adjusted in vault.
Request
- URL parameters
| Key | Type | Notes |
|---|---|---|
| format | string | json value will format response into json. |
- Headers
Content-Type: application/json
Authorization: JWT access_tokenResponse
| Key | Type | Notes |
|---|---|---|
| cache | string | Status of given backend. working or exception error formatted. Nested data per resource. |
| celery | string | Status of given backend. working or exception error formatted. Nested data per resource |
| cloud_front | string | Status of given backend. working or exception error formatted. Nested data per resource |
| history | string | Status of given backend. working or exception error formatted. Nested data per resource |
| postgres | string | Status of given backend. working or exception error formatted. |
| s3 | string | Status of given backend. working or exception error formatted. |
| rabbit | string | Status of given backend. working or exception error formatted. |
| redis2 | string | Status of given backend. working or exception error formatted. |
| redis | string | Status of given backend. working or exception error formatted. |
| vault | string | Status of given backend. working or exception error formatted. |
| websocket | string | Status of given backend. working or exception error formatted. |
- Successful status
200 OK - Response body schema:
json
{
"cache": {
"data": {"status": "working", "response_time": "0.1"},
"pages": {"status": "working", "response_time": "0.1"},
"task_lock": {"status": "working", "response_time": "0.1"},
"task_queue": {"status": "working", "response_time": "0.1"}
},
"celery": {
"ping": {"status": "working", "response_time": "0.1"},
"queues.high_priority": {"status": "working", "response_time": "0.1"},
"queues.medium_priority": {"status": "working", "response_time": "0.1"},
"queues.low_priority": {"status": "working", "response_time": "0.1"},
},
"cloud_front": {
"custom_component": {"status": "working", "response_time": "0.1"}
},
"history": {
"clickhouse": {"status": "working", "response_time": "0.1"}",
"e2e": {"status": "working", "response_time": "0.1"}",
"event_bridge.api_destination": {"status": "working", "response_time": "0.1"},
"event_bridge.connection": {"status": "working", "response_time": "0.1"},
"event_bridge.credentials": {"status": "working", "response_time": "0.1",
"event_bridge.rule": {"status": "working", "response_time": "0.1",
"api": {"status": "working", "response_time": "0.1",
"files:": {"status": "working", "response_time": "0.1"
},
"s3": {
"custom_component": {"status": "working", "response_time": "0.1"
},
"postgres": {"status": "working", "response_time": "0.1",
"rabbit": {"status": "working", "response_time": "0.1",
"redis2": {"status": "working", "response_time": "0.1",
"redis": {"status": "working", "response_time": "0.1",
"vault": {"status": "working", "response_time": "0.1",
"websocket": {"status": "working", "response_time": "0.1"
}Where response_time is in seconds.
Errors
| Error | Response code | Message |
|---|---|---|
Wrong format query string parameter | 404 Not Found | "detail": "Not found." |
Missing access_token | 404 Not Found | |
Wrong access_token | 405 Method Not Allowed | "detail": Method "GET" not allowed. |