diff --git a/content/en/docs/Configuration/p8s-jaeger-grafana/_index.md b/content/en/docs/Configuration/p8s-jaeger-grafana/_index.md index f64fc843e..83097debe 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/_index.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/_index.md @@ -1,5 +1,5 @@ --- -title: "Prometheus, Jaeger, Grafana" +title: "Prometheus, Tracing, Grafana" description: "Kiali data sources and add-ons." --- diff --git a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md index 7ac966b1a..bacf17619 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md @@ -9,10 +9,10 @@ weight: 2 There are two possibilities to integrate Kiali with Grafana Tempo: -- Using the Tempo API: This option returns the traces from the Tempo API in OpenTelemetry format. +- Using the Grafana Tempo API: This option returns the traces from the Tempo API in OpenTelemetry format. - Using the Jaeger frontend with the Grafana Tempo backend. -### Use Tempo API +### Using the Grafana Tempo API This is a configuration example to setup Kiali tracing with Grafana Tempo: @@ -23,18 +23,36 @@ spec: # Enabled by default. Kiali will anyway fallback to disabled if # Tempo is unreachable. enabled: true - # Jaeger service name is "tracing" and is in the "telemetry" namespace. + # Tempo service name is "query-frontend" and is in the "tempo" namespace. # Make sure the URL you provide corresponds to the non-GRPC enabled endpoint - # if you set "use_grpc" to false. - in_cluster_url: "http://tracing.telemetry:3200" + # It does not support grpc yet, so make sure "use_grpc" is set to false. + in_cluster_url: "http://query-frontend.tempo:3200" provider: "tempo" - use_grpc: true - # Public facing URL of Grafana with the Tempo Datasource - # Note this is not fully integrated - url: "http://my-tempo-host/explore?left=%7B%22datasource%22:%22Tempo%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22queryType%22:%22traceId%22,%22query%22:%22%22%7D%5D,%22range%22:%7B%22from%22:%22now-1h%22,%22to%22:%22now%22%7D%7D&orgId=1" + use_grpc: false + # Public facing URL of Grafana + url: "http://my-tempo-host:3200" ``` -### Use Jaeger frontend with Grafana Tempo tracing backend +The default UI for Grafana Tempo is Grafana, so we should also set the Grafana url in the configuration: + +```yaml +spec: + external_services: + grafana: + in_cluster_url: http://grafana.istio-system:3000 + url: http://my-grafana-host +``` + +We also need to set up a default [Tempo datasource](https://grafana.com/docs/grafana/latest/datasources/tempo/) in Grafana. + +![Kiali grafana_tempo](/images/documentation/configuration/grafana_tempo_ds.png) + +To improve performance, the data of each Trace is not complete until we hover in that specific trace. Because all the trace information is not +complete in advance, the total number of spans is unknown, and all the traces are represented in the graph with the same size. + +![Kiali grafana_tempo](/images/documentation/configuration/grafana_tempo.png) + +### Using the Jaeger frontend with Grafana Tempo tracing backend It is possible to use the Grafana Tempo tracing backend exposing the Jaeger API. [tempo-query](https://github.com/grafana/tempo/tree/main/cmd/tempo-query) is a diff --git a/static/images/documentation/configuration/grafana_tempo.png b/static/images/documentation/configuration/grafana_tempo.png new file mode 100644 index 000000000..4dde1c065 Binary files /dev/null and b/static/images/documentation/configuration/grafana_tempo.png differ diff --git a/static/images/documentation/configuration/grafana_tempo_ds.png b/static/images/documentation/configuration/grafana_tempo_ds.png new file mode 100644 index 000000000..5a311aebd Binary files /dev/null and b/static/images/documentation/configuration/grafana_tempo_ds.png differ