Reference
Check how an instance is set up and what to change. Doctor checks what the CLI can see itself,
then asks the server for its own checks: whether data is durable, whether the S3 bucket is in the
server’s region, whether the disk cache is on local NVMe rather than network block storage like
EBS, whether caches fit in memory, and whether recent queries used indexes. Local, self-hosted,
and Cloud.
Doctor is read-only. It never changes the instance, its data, its caches, or helix.toml, and it
never starts a container.
Usage
Arguments
Options
Checks
Each check passes, warns, fails, or is skipped with its reason. A warning means the setup works but costs performance or money; a failure means it risks losing data or cannot work. Warnings and failures print a fix.
The query checks cover queries from the last 24 hours since the server started. A missing index
stops being reported once the index is active. Queries that only count matches are not analyzed
yet. Server checks need a server image with
GET /v2/diagnostics; an older server reports server.diagnostics as skipped. Helix Cloud manages
storage, caching, and regions, so a Cloud database reports cloud.managed as skipped.
Behavior
- Prints
Helix doctor, the target, and the server’s uptime, then the checks grouped by area, and a summary such asSetup works, with room to improve · 2 warnings · 9 passed. - Passing checks print one line; others also print their detail and fix.
- Exits
1when any check fails, after printing the report. Warnings alone exit0. - A local instance whose container is not running reports that, and skips the server checks.
--jsonprints an object withtarget,uptime_secs(when the server reported its checks),checks, andsummary. Each check hasid,category,status(pass,warn,fail, orskip),summary, and, when present,detailandfix. The server’s own report isGET /v2/diagnostics.
Examples
Related
helix status— show instance state.helix logs— view server logs.- Secondary indexes — create the indexes doctor recommends.