Skip to content

Commit e1e581d

Browse files
josunectnrfox
andauthored
docs: Add section for Kiali and distributed tracing OpenShift integration (openshift-service-mesh#328)
* Add tracing docs Signed-off-by: josunect <[email protected]> * Update docs/README.md Co-authored-by: Nick Fox <[email protected]> Create a new section Signed-off-by: josunect <[email protected]> * Update docs/README.md Co-authored-by: Nick Fox <[email protected]> Signed-off-by: josunect <[email protected]> * Link to install bookinfo Signed-off-by: josunect <[email protected]> * Update route Signed-off-by: josunect <[email protected]> --------- Signed-off-by: josunect <[email protected]> Co-authored-by: Nick Fox <[email protected]>
1 parent 9cab7e7 commit e1e581d

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

docs/README.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@
2929
- [Generate traffic and visualize your mesh](#generate-traffic-and-visualize-your-mesh)
3030
- [Observability Integrations](#observability-integrations)
3131
- [Scraping metrics using the OpenShift monitoring stack](#scraping-metrics-using-the-openshift-monitoring-stack)
32+
- [Configure Tracing with OpenShift distributed tracing](#configure-tracing-with-openshift-distributed-tracing)
3233
- [Integrating with Kiali](#integrating-with-kiali)
3334
- [Integrating Kiali with the OpenShift monitoring stack](#integrating-kiali-with-the-openshift-monitoring-stack)
35+
- [Integrating Kiali with OpenShift distributed tracing](#integrating-kiali-with-openshift-distributed-tracing)
3436
- [Uninstalling](#uninstalling)
3537
- [Deleting Istio](#deleting-istio)
3638
- [Deleting IstioCNI](#deleting-istiocni)
@@ -1058,6 +1060,54 @@ The easiest way to get started with production-grade metrics collection is to us
10581060

10591061
Congratulations! You should now be able to see your control plane and data plane metrics in the OpenShift Console. Just go to Observe -> Metrics and try the query `istio_requests_total`.
10601062

1063+
### Configure tracing with OpenShift distributed tracing
1064+
This section describes how to setup Istio with OpenShift Distributed Tracing to send distributed traces.
1065+
1066+
*Prerequisites*
1067+
* A Tempo stack is installed and configured
1068+
* An instance of an OpenTelemetry collector is already configured in the istio-system namespace
1069+
* An Istio instance is created with the `openshift` profile
1070+
* An Istio CNI instance is created with the `openshift` profile
1071+
1072+
*Steps*
1073+
1. Configure Istio to enable tracing and include the OpenTelemetry settings:
1074+
```yaml
1075+
meshConfig:
1076+
enableTracing: true
1077+
extensionProviders:
1078+
- name: otel-tracing
1079+
opentelemetry:
1080+
port: 4317
1081+
service: otel-collector.istio-system.svc.cluster.local
1082+
```
1083+
The *service* field is the OpenTelemetry collector service in the `istio-system` namespace.
1084+
1085+
2. Create an Istio telemetry resource to active the OpenTelemetry tracer
1086+
```yaml
1087+
apiVersion: telemetry.istio.io/v1
1088+
kind: Telemetry
1089+
metadata:
1090+
name: otel-demo
1091+
namespace: istio-system
1092+
spec:
1093+
tracing:
1094+
- providers:
1095+
- name: otel-tracing
1096+
randomSamplingPercentage: 100
1097+
```
1098+
1099+
3. Validate the integration: Generate some traffic
1100+
1101+
We can [Deploy Bookinfo](#deploy-gateway-and-bookinfo) and generate some traffic.
1102+
1103+
4. Validate the integration: See the traces in the UI
1104+
1105+
```sh
1106+
kubectl get routes -n tempo tempo-sample-query-frontend-tempo
1107+
```
1108+
1109+
If you [configure Kiali with OpenShift distributed tracing](#integrating-kiali-with-openshift-distributed-tracing) you can verify from there.
1110+
10611111
### Integrating with Kiali
10621112
Integration with Kiali really depends on how you collect your metrics and traces. Note that Kiali is a separate project which for the purpose of this document we'll expect is installed using the Kiali operator. The steps here are not specific to Sail Operator, but describe how to configure Kiali for use with Istio in general.
10631113

@@ -1115,6 +1165,37 @@ If you followed [Scraping metrics using the OpenShift monitoring stack](#scrapin
11151165
enabled: true
11161166
url: https://thanos-querier.openshift-monitoring.svc.cluster.local:9091
11171167
```
1168+
#### Integrating Kiali with OpenShift Distributed Tracing
1169+
This section describes how to setup Kiali with OpenShift Distributed Tracing to read the distributed traces.
1170+
1171+
*Prerequisites*
1172+
* Istio tracing is [Configured with OpenShift distributed tracing](#configure-tracing-with-openshift-distributed-tracing)
1173+
1174+
*Steps*
1175+
1. Setup Kiali to access traces from the Tempo frontend:
1176+
```yaml
1177+
external_services:
1178+
grafana:
1179+
enabled: true
1180+
url: "http://grafana-istio-system.apps-crc.testing/"
1181+
tracing:
1182+
enabled: true
1183+
provider: tempo
1184+
use_grpc: false
1185+
in_cluster_url: http://tempo-sample-query-frontend.tempo:3200
1186+
url: 'https://tempo-sample-query-frontend-tempo.apps-crc.testing'
1187+
tempo_config:
1188+
org_id: "1"
1189+
datasource_uid: "a8d2ef1c-d31c-4de5-a90b-e7bc5252cd00"
1190+
```
1191+
1192+
Where:
1193+
* `external_services.grafana` section: Is just needed to see the "View in Tracing" link from the Traces tab
1194+
* `external_services.tracing.tempo_config`: Is just needed to see the "View in Tracing" link from the Traces tab and redirect to the proper Tempo datasource
1195+
1196+
Now, we should be able to see traces from Kiali. For this, you can:
1197+
1. Select a Workload/Service/App
1198+
2. Click in the "Traces" tab
11181199

11191200
## Uninstalling
11201201

0 commit comments

Comments
 (0)