Monitoring the platform

The monitoring design of Kanidm is still very much in its infancy - take part in the discussion at github.com/kanidm/kanidm/issues/216.

kanidmd status endpoint

kanidmd currently responds to HTTP GET requests at the /status endpoint with a JSON object of either "true" or "false". true indicates that the platform is responding to requests.

URL<hostname>/status
Example URLhttps://example.com/status
Expected responseOne of either true or false (without quotes)
Additional Headersx-kanidm-opid
Content Typeapplication/json
Cookieskanidm-session

OpenTelemetry Tracing

Configure OTLP trace exports by setting a otel_grpc_url in the server configuration. This'll enable OpenTelemetry traces to be sent for observability use cases.

Example:

otel_grpc_url = "http://my-otel-host:4317"

Troubleshooting

Max Span Size Exceeded

On startup, we run some big processes that might hit a "max trace size" in certain configurations. Grafana Tempo defaults to 5MB, which is sensible for most things, but ... 😁

Grafana Tempo config to allow larger spans:

distributor:
  receivers:
    otlp:
      protocols:
        grpc:
          max_recv_msg_size_mib: 20