HI all, what is the health check endpoint for phoenix?
The health check endpoint for Phoenix is /healthz. This endpoint is used to verify that the Phoenix server is running, and is typically used in Docker or orchestration environments for health monitoring purposes. For example, you can check it at http://localhost:6006/healthz if running locally by default. This endpoint was added to support health checks, but note that it may only confirm the Python process is alive, not full application readiness (e.g., database connectivity) unless further enhancements are made in your deployment. For more, see the Phoenix Docker deployment docs and GitHub PR #2800.Would you like more detail on readiness checks or customizing health checks?Sources:
- GitHub PR #2800
- Phoenix Docker deployment docs
💡 Hint: Mention RunLLM in the thread for followups.
Thanks Xander S. Do you know why this docker-compose result in unhealthy service
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8882dfa9579d arizephoenix/phoenix:latest "/usr/bin/python3.11…" 16 seconds ago Up 16 seconds (unhealthy)
phoenix:
image: arizephoenix/phoenix:latest
ports:
- "6006:6006" # UI and OTLP HTTP collector
- "4317:4317" # OTLP gRPC collector
healthcheck:
test: ["CMD", "curl", "-fsS", "http://0.0.0.0:6006/healthz"]
interval: 10s
timeout: 2s
retries: 2
start_period: 3s
restart: unless-stopped
even so, it is available via UI and
curl -fsS http://0.0.0.0:6006/healthz
OK
Where do you see the service is unhealthy? The curl indicates it is in a healthy state
in docker ps
docker-compose treats it as unhealthy
so other services, which are dependent on phoenix (in docker compose), are not starting
The Phoenix image is distroless, which means that it ships with a minimal set of installed dependencies. It probably doesn't have curl inside the image itself, so I suspect that is why the healthcheck fails. You can test the latest debug image (which should have curl) to verify if that is the case.
nope(, same
986193df09ff arizephoenix/phoenix:latest-debug "/usr/bin/python3.11…" About a minute ago Up About a minute (unhealthy)The curl file is probably buried somewhere in the image.
One sec
Looks like the debug image has wget but not curl. Can you try rewriting your healthcheck command using wget?
