Skip to Content
ReferenceAPI referenceHealth

Check that the app is up and how its parts are doing

GET
/health

Answers 200 whenever the process serves requests, so Docker and load balancers can use it as a liveness probe. Read status and the component objects to find a problem, and advisories for what needs fixing. No credentials needed.

Response Body

Request fulfilled, document follows

application/json
  1. response

How the app and its parts are doing.

advisories?array<>

Problems that need an operator, critical ones first. Empty when nothing does.

crowdsec*

The CrowdSec integration.

database*

The database connection.

geoip*

The GeoLite2 databases.

ingestion*

The log ingestion of this process. The counters start at zero when the process starts.

mode?string

agent for a process that only tails logs, full for one that also serves the API.

Default"full"
Value in"full""agent"
schemaWait?|

Agents only. How the wait for the database schema ended, ready, newer or timeout, and waiting until it ends. Null in full mode.

startedAt*|

When this process started, as ISO 8601 in UTC.

status*string

healthy when the database answers, the app runs with it, every log source is readable and ingestion is running or turned off. GeoIP, CrowdSec and the advisories never change it.

Value in"healthy""degraded"
timestamp*string

When this report was built, as ISO 8601 in UTC.

Example Request
curl -X GET 'https://geometrikks.example.com/health'
Example Response200
{  "advisories": [    {      "detail": "string",      "docsUrl": "string",      "id": "string",      "remedy": "string",      "severity": "warning",      "summary": "string"    }  ],  "crowdsec": {    "enabled": true,    "lapiReachable": true  },  "database": {    "reachable": true,    "servicesActive": true  },  "geoip": {    "asnAvailable": false,    "asnDbBuildDate": "string",    "available": true,    "dbBuildDate": "string"  },  "ingestion": {    "failedBatches": 0,    "failedRecords": 0,    "lastRecordAt": "string",    "missingFiles": [      "string"    ],    "parsedLines": 0,    "pendingRecords": 0,    "publishDropped": 0,    "running": true,    "status": "running",    "unavailableSources": [      {        "kind": "string",        "label": "string",        "reason": "string"      }    ]  },  "mode": "full",  "schemaWait": "string",  "startedAt": "string",  "status": "healthy",  "timestamp": "string"}