Overview
This API returns detailed health information for the Etlworks instance.
It supports both single-node and multi-node deployments.
Authentication
None
The API endpoint parameters
Single Node
PATH: /health
EXAMPLE: https://app.etlworks.com/health
Returns health information for the current node only.
Multi-Node
PATH: /health?allNodes=true
EXAMPLE: https://company.etlworks.com/health?allNodes=true
When the allNodes query parameter is set to true, the API returns an aggregated view that includes the health status of all active nodes in the cluster.
Other parameters
METHOD: GET
HEADERS: none
REQUEST BODY: none
REQUEST CONTENT TYPE: none
Response
Single-Node Environment
For standalone deployments (no load balancer or cluster), the API returns a JSON object describing the local system health:
{
"status": "UP",
"db": {
"status": "UP",
"version": "13.0",
"schema.version": 84,
"running.flows": 0
},
"disk": {
"status": "UP",
"free": 549674905600,
"free.human": "511.9 GiB",
"total": 640232857600,
"total.human": "596.4 GiB"
},
"dataDisk": {
"status": "UP",
"free": 78954240000,
"free.human": "73.5 GiB",
"total": 128000000000,
"total.human": "119.2 GiB"
},
"ram": {
"status": "UP",
"mem": 34092032000,
"mem.human": "31.8 GiB",
"mem.free": 19785678848,
"mem.free.human": "18.4 GiB",
"heap": 11185160192,
"heap.human": "10.4 GiB",
"heap.used": 553466272,
"heap.used.human": "527.8 MiB"
},
"cpu": {
"status": "UP",
"processors": 16,
"systemload.average": 0.41,
"threads": 41,
"threads.peak": 64,
"threads.daemon": 34
},
"redis": {
"status": "UP",
"version": "7.0.9",
"db.size": 81,
"mem.used": 1498576,
"mem.used.human": "1.4 MiB",
"mem.used.rss": 15970304,
"mem.used.rss.human": "15.2 MiB"
}
}
Multi-Node Environment
In clustered or load-balanced deployments, the same endpoint with ?allNodes=true automatically aggregates health information from all active nodes.
Each node periodically pushes its local health status to Redis.
The API then merges all node reports into a single document.
{
"status": "UP",
"nodes": [
{
"id": "node-01",
"timestamp": "2025-11-01T16:03:29.323Z",
"status": "UP",
"cpu": { "status": "UP", "processors": 8, "systemload.average": 0.4 },
"ram": { "status": "UP", "mem.human": "16 GiB", "heap.used.human": "512 MiB" },
"disk": { "status": "UP", "free.human": "200 GiB", "total.human": "512 GiB" },
},
{
"id": "node-02",
"timestamp": "2025-11-01T16:03:22.942Z",
"status": "UP",
"cpu": { "status": "UP", "processors": 16, "systemload.average": 0.2 },
"ram": { "status": "UP", "mem.human": "32 GiB" },
"disk": { "status": "UP", "free.human": "1.1 TiB" },
}
],
"shared": {
"db": { "status": "UP", "version": "13.0" },
"redis": { "status": "UP", "version": "7.2.4" },
"dataDisk": { "status": "WARNING", "free.human": "800 MiB", "total.human": "512 GiB" }
}
}
Key Points
-
status:
Overall cluster health.
-
"UP" – all nodes healthy
-
"WARNING" – one or more nodes have limited resources
-
"DOWN" – one or more nodes unreachable or critical
-
-
nodes:
Array of individual node health reports.
-
timestamp:
ISO-8601 timestamp (UTC) when the node last updated its health.
The most recent timestamp across all nodes is used in the UI as Last Updated.
-
shared:
Common components (database, Redis, shared data disks).
Health Status Evaluation
Each subsystem (CPU, RAM, Disk, Redis, etc.) contributes to the overall node and cluster status.
|
Subsystem |
Status Rules |
|---|---|
|
Disk / Data Disk |
UP ≥ 1 GiB free, WARNING ≥ 100 MiB, DOWN < 100 MiB |
|
RAM / Heap |
Evaluated by free vs total memory |
|
CPU |
Evaluated by system load average |
|
Overall node |
Worst status among subsystems |
|
Cluster (multi-node) |
Worst status among nodes |
Response codes
- 200 for success
- 500 for an internal error
- 504 for not responding (timeout)
- 502 for network gateway error
- 5xx for network issues
Monitor Etlworks instance health
Read about monitoring Etlworks instance health using this API endpoint.
Viewing System Health in the Etlworks UI
Read how super-admin users can view System Health in Etlworks UI.