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_endpoint in the server configuration. This'll enable OpenTelemetry traces to be sent for observability use cases.

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