Check that the app is up and how its parts are doing
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.
Request fulfilled, document follows
application/json- 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?stringagent for a process that only tails logs, full for one that also serves the API.
"full""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*stringhealthy 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.
"healthy""degraded"timestamp*stringWhen this report was built, as ISO 8601 in UTC.
curl -X GET 'https://geometrikks.example.com/health'{ "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"}Get every setting with its environment variable GET
Returns the whole configuration in sections, with each setting's value, default, description and environment variable. A secret that is set shows as `******` and one that is not shows as null. Some rows add a value worked out at runtime, such as the auto-detected server location.
Check that the app is ready for traffic GET
Answers 200 with `ready` true when `SELECT 1` against the database returns within two seconds, and 503 with `ready` false otherwise. The head runs the query on every request, so a ready app goes back to 503 when the database drops. An agent answers 503 without querying until its startup schema check passes. After that it queries like the head, and an agent whose check timed out stays at 503 until it restarts. No credentials needed.