From 9fd04c8af5a63376f1063dd73a16cbae52de699b Mon Sep 17 00:00:00 2001 From: josunect Date: Wed, 13 Dec 2023 10:29:47 +0000 Subject: [PATCH 1/7] Update tempo docs --- .../p8s-jaeger-grafana/tracing/tempo.md | 36 ++++++++++++++---- .../documentation/configuration/tempo_ds.png | Bin 0 -> 54236 bytes 2 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 static/images/documentation/configuration/tempo_ds.png 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 a75514f1..5ec589ae 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md @@ -9,12 +9,19 @@ weight: 2 There are two possibilities to integrate Kiali with Grafana Tempo: -- 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. +- [Using the Grafana Tempo API](#using-the-grafana-tempo-api): This option returns the traces from the Tempo API in OpenTelemetry format. +- [Using the Jaeger frontend](#using-the-jaeger-frontend-with-grafana-tempo-tracing-backend) with the Grafana Tempo backend. ### Using the Grafana Tempo API -This is a configuration example to setup Kiali tracing with Grafana Tempo: +There are two steps to set up Kiali and Grafana Tempo: + +- [Set up the Kiali CR](#set-up-the-kiali-cr) updating the Tracing and Grafana sections. +- [Set up a Tempo data source](#set-up-a-tempo-datasource-in-grafana) in Grafana. + +#### Set up the Kiali CR + +This is a configuration example to set up Kiali tracing with Grafana Tempo: ```yaml spec: @@ -26,11 +33,11 @@ spec: # 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 # It does not support grpc yet, so make sure "use_grpc" is set to false. - in_cluster_url: "http://query-frontend.tempo:3200" + in_cluster_url: "http://tempo-tempo-query-frontend.tempo.svc.cluster.local:3200/" provider: "tempo" use_grpc: false - # Public facing URL of Grafana - url: "http://my-tempo-host:3200" + # Public facing URL of Tempo + url: "https://tempo-tempo-query-frontend-tempo.apps-crc.testing/" ``` The default UI for Grafana Tempo is Grafana, so we should also set the Grafana url in the configuration: @@ -40,13 +47,26 @@ spec: external_services: grafana: in_cluster_url: http://grafana.istio-system:3000 - url: http://my-grafana-host + url: https://grafana.apps-crc.testing/ ``` -We also need to set up a default [Tempo datasource](https://grafana.com/docs/grafana/latest/datasources/tempo/) in Grafana. +#### Set up a Tempo Datasource in Grafana + +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) +For this, we go to the Home menu in Grafana, click in _data sources_, and then in the _Add data source_. Select the Tempo data source and fill the values: + +![Kiali grafana_tempo](/images/documentation/configuration/tempo_ds.png) + +The most important values to set up are the following: + +- Mark the data source as default, so the url from Kiali redirects properly to the Tempo data source. +- Update the http url. This is the internal url of the http tempo frontend service. E.g. `http://tempo-tempo-query-frontend.tempo.svc.cluster.local:3200/` + +#### Additional configuration + The _Traces_ tab will show your traces in a bubble chart: ![Kiali grafana_tempo](/images/documentation/configuration/grafana_tempo.png) diff --git a/static/images/documentation/configuration/tempo_ds.png b/static/images/documentation/configuration/tempo_ds.png new file mode 100644 index 0000000000000000000000000000000000000000..46589e4769000518d8dc3d67e1e168cab50e52de GIT binary patch literal 54236 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ⅆ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 literal 0 HcmV?d00001 From ab88f56521a136a0c81fc3f8497328d85d9ee30e Mon Sep 17 00:00:00 2001 From: Josune Cordoba <49480155+josunect@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:29:06 +0000 Subject: [PATCH 2/7] Update content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md Co-authored-by: John Mazzitelli --- .../en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5ec589ae..3af17142 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md @@ -52,7 +52,7 @@ spec: #### Set up a Tempo Datasource in Grafana -We also need to set up a default [Tempo datasource](https://grafana.com/docs/grafana/latest/datasources/tempo/) in Grafana: +We can optionally set up a default [Tempo datasource](https://grafana.com/docs/grafana/latest/datasources/tempo/) in Grafana so that you can view the Tempo tracing data within the Grafana UI, as you see here: ![Kiali grafana_tempo](/images/documentation/configuration/grafana_tempo_ds.png) From 8191f2402fbb4919671127be599cdc2fbe6bdbe0 Mon Sep 17 00:00:00 2001 From: Josune Cordoba <49480155+josunect@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:29:45 +0000 Subject: [PATCH 3/7] Update content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md Co-authored-by: John Mazzitelli --- .../en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 3af17142..ea93fa56 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md @@ -56,7 +56,7 @@ We can optionally set up a default [Tempo datasource](https://grafana.com/docs/g ![Kiali grafana_tempo](/images/documentation/configuration/grafana_tempo_ds.png) -For this, we go to the Home menu in Grafana, click in _data sources_, and then in the _Add data source_. Select the Tempo data source and fill the values: +To set up the Tempo datasource, go to the _Home_ menu in the Grafana UI, click _Data sources_, then click the _Add new data source_ button and select the `Tempo` data source. You will then be asked to enter some data to configure the new Tempo data source: ![Kiali grafana_tempo](/images/documentation/configuration/tempo_ds.png) From 738e5e953610ef376b796db10216294052d2da48 Mon Sep 17 00:00:00 2001 From: Josune Cordoba <49480155+josunect@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:30:06 +0000 Subject: [PATCH 4/7] Update content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md Co-authored-by: John Mazzitelli --- .../en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ea93fa56..a99a95c8 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md @@ -62,8 +62,8 @@ To set up the Tempo datasource, go to the _Home_ menu in the Grafana UI, click _ The most important values to set up are the following: -- Mark the data source as default, so the url from Kiali redirects properly to the Tempo data source. -- Update the http url. This is the internal url of the http tempo frontend service. E.g. `http://tempo-tempo-query-frontend.tempo.svc.cluster.local:3200/` +- Mark the data source as default, so the URL that Kiali uses will redirect properly to the Tempo data source. +- Update the HTTP URL. This is the internal URL of the HTTP tempo frontend service. e.g. `http://tempo-tempo-query-frontend.tempo.svc.cluster.local:3200/` #### Additional configuration From cf765a32925c06c07372528bb0b8d39bae81ed75 Mon Sep 17 00:00:00 2001 From: Josune Cordoba <49480155+josunect@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:30:26 +0000 Subject: [PATCH 5/7] Update content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md Co-authored-by: John Mazzitelli --- .../en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 a99a95c8..8ec74ef0 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md @@ -67,7 +67,7 @@ The most important values to set up are the following: #### Additional configuration -The _Traces_ tab will show your traces in a bubble chart: +The _Traces_ tab in the Kiali UI will show your traces in a bubble chart: ![Kiali grafana_tempo](/images/documentation/configuration/grafana_tempo.png) From 112815f621c19a92ca4acac87ff2e68e7b688b81 Mon Sep 17 00:00:00 2001 From: Josune Cordoba <49480155+josunect@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:36:44 +0000 Subject: [PATCH 6/7] Update content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md Co-authored-by: John Mazzitelli --- .../en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8ec74ef0..5557899a 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md @@ -40,7 +40,7 @@ spec: url: "https://tempo-tempo-query-frontend-tempo.apps-crc.testing/" ``` -The default UI for Grafana Tempo is Grafana, so we should also set the Grafana url in the configuration: +The default UI for Grafana Tempo is Grafana, so we should also set the Grafana URL in the Kiali configuration, such as this example: ```yaml spec: From a6acab3cfb89c2dfb85efc75313bf4d8b6cb41e4 Mon Sep 17 00:00:00 2001 From: josunect Date: Wed, 13 Dec 2023 16:46:24 +0000 Subject: [PATCH 7/7] Update setting name --- .../en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5557899a..6c2fbf05 100644 --- a/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md +++ b/content/en/docs/Configuration/p8s-jaeger-grafana/tracing/tempo.md @@ -111,7 +111,7 @@ set from Istio to the Tempo Distributor service and the Zipkin port. Tanka will deploy the service in `distributor.tempo.svc.cluster.local:9411`. -The `in_cluster_url` Kiali option needs to be set to' +The `external_services.tracing.in_cluster_url` Kiali option needs to be set to: `http://query-frontend.tempo.svc.cluster.local:16685`. #### Tempo Operator