Skip to content

Debug UI & HTTP API

FrogDB includes a built-in web UI for diagnostics and a JSON API for programmatic access to server state.

Enable the HTTP server and set an authentication token for protected endpoints:

Terminal window
frogdb-server --http-port 9090 --http-token my-secret-token

Or via configuration:

[http]
enabled = true
bind = "127.0.0.1"
port = 9090
token = "my-secret-token"

These endpoints are unauthenticated and suitable for load balancer and Kubernetes probes.

EndpointDescriptionResponse
GET /health/liveLiveness probe — process is running200 if alive, 503 if shutting down
GET /health/readyReadiness probe — accepting commands200 if ready, 503 if starting or shutting down

Kubernetes probe configuration:

livenessProbe:
httpGet:
path: /health/live
port: 9090
initialDelaySeconds: 5
readinessProbe:
httpGet:
path: /health/ready
port: 9090
initialDelaySeconds: 5
EndpointDescription
GET /metricsPrometheus-format metrics

See Metrics Reference for the full list.

EndpointDescription
GET /status/jsonMachine-readable server status (JSON)

Also available via the Redis protocol: STATUS JSON

Navigate to http://<host>:<port>/debug/ in a browser to access the debug web interface.

The UI provides:

  • Overview — server info, memory usage, connection count, command throughput
  • Performance — slowlog entries, latency statistics
  • Cluster — cluster topology and node status
  • Configuration — current configuration values
  • Diagnostic Bundles — generate and download diagnostic snapshots

All /debug/api/* endpoints require Bearer token authentication:

Terminal window
curl -H "Authorization: Bearer my-secret-token" http://localhost:9090/debug/api/metrics
EndpointDescription
GET /debug/api/clusterCluster topology and state
GET /debug/api/configCurrent configuration values
GET /debug/api/metricsCurrent metrics snapshot (JSON)
GET /debug/api/clientsConnected clients list
GET /debug/api/slowlogSlowlog entries
GET /debug/api/latencyLatency statistics

Generate a diagnostic bundle containing server state, configuration, metrics, slowlog, and other information useful for troubleshooting:

EndpointDescription
GET /debug/api/bundle/generateGenerate and download a new diagnostic bundle
GET /debug/api/bundle/listList previously generated bundles
GET /debug/api/bundle/{id}Download a specific bundle by ID
Terminal window
# Generate and download a bundle
curl -H "Authorization: Bearer my-secret-token" \
http://localhost:9090/debug/api/bundle/generate -o bundle.tar.gz
# List available bundles
curl -H "Authorization: Bearer my-secret-token" \
http://localhost:9090/debug/api/bundle/list