Tracing

Tracing allows collection of fine-grained details about policy evaluations. It’s a useful tool for debugging issues in your Kubewarden deployment and policies.

Jaeger is used to receive, store, and visualize trace events.

Policy tracing logs UI Policy Tracing Logs

Prerequisites

Cert-Manager and OpenTelemetry are required. Follow these instructions to install Cert Manager and the OpenTelemetry Operator.

Install Jaeger

Apply the installation steps from the tracing quickstart.

Once all the resources are created by the Jaeger operator, there is a Service under my-open-telemetry-collector.jaeger.svc.cluster.local.

The Jaeger Query UI is reachable at the following address:

https://<CLUSTER_IP>/api/v1/namespaces/jaeger/services/http:my-open-telemetry-query:16686/proxy/search

This endpoint may be unique depending on your configuration. You can find the endpoint listed for your Jaeger resource under the Services page.

Update rancher-kubewarden-controller with Jaeger endpoint

You’ll need to edit the rancher-kubewarden-controller resource to add the Jaeger endpoint "my-open-telemetry-collector.jaeger.svc.cluster.local:4317".

For instance:

telemetry:
  tracing:
    enabled: True
    jaeger:
      endpoint: "my-open-telemetry-collector.jaeger.svc.cluster.local:4317"
      tls:
        insecure: true

my-open-telemetry-collector is the service we installed under the jaeger namespace.

For simplicity, we’re not encrypting the communication between the OpenTelemetry collector and the Jaeger endpoint.

This is not suitable for production deployment. We recommend you read Jaeger’s documentation.

You should now be able to view any failed requests for policies tied to a specific Policy Server, or the detail view for any given policy. You can get a more in-depth view of the traces by using the Jaeger UI.