Skip to content

Commit 75fdfd3

Browse files
committed
observability review
1 parent fd8f5b8 commit 75fdfd3

10 files changed

+121
-109
lines changed

modules/ossm-config-dist-trac.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88

99
Distributed Tracing is the process of tracking the performance of individual services in an application by tracing the path of the service calls in the application. Each time a user takes action in an application, a request is executed that might require many services to interact to produce a response. The path of this request is called a distributed transaction.
1010

11-
{ProductName} uses Jaeger to allow developers to visualize call flows in a microservice application.
11+
{ProductName} uses Jaeger to allow developers to view call flows in a microservice application.

modules/ossm-cr-threescale.adoc

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,31 @@
77

88
= 3scale configuration
99

10-
Here is an example that illustrates the 3scale Istio Adapter parameters for the {ProductName} custom resource and a description of the available parameters with appropriate values.
10+
The following table explains the parameters for the 3scale Istio Adapter in the `ServiceMeshControlPlane` resource.
1111

1212
.Example 3scale parameters
1313
[source,yaml]
1414
----
15-
threeScale:
16-
enabled: false
17-
PARAM_THREESCALE_LISTEN_ADDR: 3333
18-
PARAM_THREESCALE_LOG_LEVEL: info
19-
PARAM_THREESCALE_LOG_JSON: true
20-
PARAM_THREESCALE_LOG_GRPC: false
21-
PARAM_THREESCALE_REPORT_METRICS: true
22-
PARAM_THREESCALE_METRICS_PORT: 8080
23-
PARAM_THREESCALE_CACHE_TTL_SECONDS: 300
24-
PARAM_THREESCALE_CACHE_REFRESH_SECONDS: 180
25-
PARAM_THREESCALE_CACHE_ENTRIES_MAX: 1000
26-
PARAM_THREESCALE_CACHE_REFRESH_RETRIES: 1
27-
PARAM_THREESCALE_ALLOW_INSECURE_CONN: false
28-
PARAM_THREESCALE_CLIENT_TIMEOUT_SECONDS: 10
29-
PARAM_THREESCALE_GRPC_CONN_MAX_SECONDS: 60
30-
PARAM_USE_CACHED_BACKEND: false
31-
PARAM_BACKEND_CACHE_FLUSH_INTERVAL_SECONDS: 15
32-
PARAM_BACKEND_CACHE_POLICY_FAIL_CLOSED: true
15+
spec:
16+
addons:
17+
3Scale:
18+
enabled: false
19+
PARAM_THREESCALE_LISTEN_ADDR: 3333
20+
PARAM_THREESCALE_LOG_LEVEL: info
21+
PARAM_THREESCALE_LOG_JSON: true
22+
PARAM_THREESCALE_LOG_GRPC: false
23+
PARAM_THREESCALE_REPORT_METRICS: true
24+
PARAM_THREESCALE_METRICS_PORT: 8080
25+
PARAM_THREESCALE_CACHE_TTL_SECONDS: 300
26+
PARAM_THREESCALE_CACHE_REFRESH_SECONDS: 180
27+
PARAM_THREESCALE_CACHE_ENTRIES_MAX: 1000
28+
PARAM_THREESCALE_CACHE_REFRESH_RETRIES: 1
29+
PARAM_THREESCALE_ALLOW_INSECURE_CONN: false
30+
PARAM_THREESCALE_CLIENT_TIMEOUT_SECONDS: 10
31+
PARAM_THREESCALE_GRPC_CONN_MAX_SECONDS: 60
32+
PARAM_USE_CACHED_BACKEND: false
33+
PARAM_BACKEND_CACHE_FLUSH_INTERVAL_SECONDS: 15
34+
PARAM_BACKEND_CACHE_POLICY_FAIL_CLOSED: true
3335
----
3436

3537
.3scale parameters

modules/ossm-observability-access.adoc

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,22 @@
44
//* service_mesh/v2x/ossm-observability.adoc
55

66
[id="ossm-observability-access-console_{context}"]
7-
= Accessing the Kiali console
7+
= Viewing service mesh data
88

9-
To access the Kiali console you must have {ProductName} installed and projects configured for the service mesh.
10-
11-
.For administrators
12-
13-
1. Use the perspective switcher to switch to the Administrator perspective.
14-
15-
2. Click *Home* > *Overview*.
9+
The Kiali operator works with the telemetry data gathered in {ProductName} to provide graphs and real-time network diagrams of the applications, services, and workloads in your namespace.
1610

17-
3. In the Launcher section, click `Open on Kiali`.
18-
19-
4. Log in to the Kiali console with the same user name and password as you use to access the {product-title} console.
20-
21-
.For developers
11+
To access the Kiali console you must have {ProductName} installed and projects configured for the service mesh.
2212

23-
1. Use the perspective switcher to switch to the Developer perspective.
13+
.Procedure
2414

25-
2. Click *Topology*.
15+
. Use the perspective switcher to switch to the Administrator perspective.
2616

27-
3. Click `Kiali` from a node in the topology you have configured for the service mesh. Or click the *Kiali* link in the toolbar.
17+
. Click *Home* > *Projects*.
2818

29-
4. Log in to the Kiali console with the same user name and password as you use to access the {product-title} console.
19+
. Click the name of your project. For example click `bookinfo`.
3020

31-
.Procedure from the command line
21+
. In the Launcher section, click `Kiali`.
3222

33-
. Run this command from the CLI to obtain the route and Kiali URL:
34-
+
35-
[source,terminal]
36-
----
37-
$ oc get routes
38-
----
39-
+
40-
In the output on the `kiali` line, use the URL in the HOST/PORT column to open the Kiali console. Log in to the Kiali console with the same user name and password as you use to access the {product-title} console. Select the project for your service in the *Namespace* field.
23+
. Log in to the Kiali console with the same user name and password that you use to access the {product-title} console.
4124

4225
When you first log in to the Kiali Console, you see the Overview page which displays all the namespaces in your mesh that you have permission to view.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Module included in the following assemblies:
2+
//
3+
//* service_mesh/v2x/ossm-observability.adoc
4+
5+
6+
[id="ossm-observability-cli_{context}"]
7+
= Accessing metrics and tracing data from the CLI
8+
9+
Access the Jaeger, Prometheus, and Grafana consoles to view and manage your data.
10+
11+
.Procedure
12+
13+
. Switch to the control plane project. In this example, `istio-system` is the control plane project. Run the following command:
14+
+
15+
[source,terminal]
16+
----
17+
$ oc project istio-system
18+
----
19+
20+
. Get the routes to {ProductName} components. Run the folowing command:
21+
+
22+
[source,terminal]
23+
----
24+
$ oc get routes
25+
----
26+
+
27+
This command returns URLs for the web consoles of Kiali, Jaeger, Prometheus, and Grafana, and any other routes in your service mesh.
28+
29+
. Copy the URL for the component you want from the `HOST/PORT` column into a browser to open the console.

modules/ossm-observability-visual.adoc

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,43 @@ This module is included in the following assemblies:
55
////
66

77
[id="ossm-observability-visual_{context}"]
8-
= Viewing your service mesh
8+
= Working with data in the Kiali console
99

10-
The Kiali operator works with the telemetry data gathered in {ProductName} to provide graphs and real time network diagrams of the applications, services, and workloads in your namespace.
10+
From the *Graph* menu in the Kiali console, you can use the following graphs and viewing tools to gain deeper insights about data that travels through your service mesh. These tools can help you identify problems with services or workloads.
1111

12-
The Overview page displays all the namespaces that have services in your mesh. You can reveal deeper insights about the data traveling through your Service mesh or help identify problems with services or workloads in your service mesh with the following graphs and visualizations.
12+
There are several graphs to choose from:
13+
14+
* The *App graph* shows an aggregate workload for all applications that are labeled the same.
15+
16+
* The *Versioned App graph* shows a node for each version of an application. All versions of an application are grouped together.
17+
18+
* The *Workload graph* shows a node for each workload in your service mesh. This graph does not require you to use the application and version labels. If your application does not use version labels, use this the graph.
19+
20+
* The *Service graph* shows a node for each service in your mesh but excludes all applications and workloads from the graph. It provides a high level view and aggregates all traffic for defined services.
21+
22+
To view a summary of metrics, select any node or edge in the graph to display its metric details in the summary details panel.
1323

1424
[id="ossm-observability-topology_{context}"]
1525
== Namespace graphs
1626

17-
The namespace graph is a map of the services, deployments and workflows in your namespace and arrows that show how data flows through them. To view a namespace graph:
18-
19-
1. Click *Graph* in the main navigation.
20-
+
21-
2. Select `bookinfo` from the *Namespace* menu.
27+
The namespace graph is a map of the services, deployments, and workflows in your namespace and arrows that show how data flows through them.
2228

29+
.Prerequisite
2330

24-
If your application uses version tags, like the Bookinfo sample application, you can see a Version graph. Select a graph from the Graph Type drop down menu. There are several graphs to choose from:
31+
* Install the Bookinfo sample application.
2532

26-
* The App graph shows an aggregate workload for all applications that are labeled the same.
33+
.Procedure
2734

28-
* The Versioned App graph shows a node for each version of an app. All versions of an app are grouped together.
35+
. Send traffic to the mesh by entering the following command several times.
36+
+
37+
[source,terminal]
38+
----
39+
$ curl "http://$GATEWAY_URL/productpage"
40+
----
41+
+
42+
This command simulates a user visiting the `productpage` microservice of the application.
2943

30-
* The Workload graph shows a node for each workload in your service mesh. This graph does not require you to use the app and version labels. If your app does not use version labels, use this the graph.
44+
. In the main navigation, click *Graph* to view a namespace graph.
3145

32-
* The Service graph shows a node for each service in your mesh but excludes all applications and workloads from the graph. It provides a high level view and aggregates all traffic for defined services.
46+
. Select `bookinfo` from the *Namespace* menu.
3347

34-
To view a summary of metrics, select any node or edge in the graph to display its metric details in the summary details panel.

modules/ossm-tutorial-jaeger-generating-traces.adoc

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,9 @@ This PROCEDURE module included in the following assemblies:
77
[id="generating-sample-traces-analyzing-trace-data_{context}"]
88
= Generating example traces and analyzing trace data
99

10-
Jaeger is an open source distributed tracing system. You use Jaeger for monitoring and troubleshooting microservices-based distributed systems. Using Jaeger you can perform a trace, which follows the path of a request through various microservices that make up an application. Jaeger is installed by default as part of the {ProductShortName}.
10+
Jaeger is an open source distributed tracing system. With Jaeger, you can perform a trace that follows the path of a request through various microservices which make up an application. Jaeger is installed by default as part of the {ProductShortName}.
1111

12-
This tutorial uses {ProductShortName} and the bookinfo tutorial to demonstrate how you can use Jaeger to perform distributed tracing.
13-
14-
[NOTE]
15-
====
16-
The Bookinfo example application allows you to test your {ProductName} {ProductVersion} installation on {product-title}.
17-
18-
Red Hat does not provide support for the Bookinfo application.
19-
====
20-
21-
This tutorial uses {ProductShortName} and the Bookinfo tutorial to demonstrate how you can perform a trace using the Jaeger component of {ProductName}.
12+
This tutorial uses {ProductShortName} and the Bookinfo sample application to demonstrate how you can use Jaeger to perform distributed tracing.
2213

2314
.Prerequisites:
2415

@@ -28,31 +19,33 @@ This tutorial uses {ProductShortName} and the Bookinfo tutorial to demonstrate h
2819
* Bookinfo example application installed.
2920

3021
.Procedure
31-
. After you have deployed the Bookinfo application you will need to generate calls to the Bookinfo application so that you have some trace data to analyze. Access `http://<GATEWAY_URL>/productpage` and refresh the page a few times to generate some trace data.
32-
. The installation process creates a route to access the Jaeger console.
33-
.. In the {product-title} console, navigate to *Networking* -> *Routes* and search for the Jaeger route, which is the URL listed under *Location*.
34-
.. Use the CLI to query for details of the route:
35-
+
36-
[NOTE]
37-
====
38-
Replace `<control_plane_project>` with the name of your control plane project. In this example, the control plane project is `istio-system`.
39-
====
22+
23+
. After installing the Bookinfo sample application, send traffic to the mesh. Enter the following command several times.
4024
+
25+
[source,terminal]
4126
----
42-
$ export JAEGER_URL=$(oc get route -n <control_plane_project> jaeger -o jsonpath='{.spec.host}')
27+
$ curl "http://$GATEWAY_URL/productpage"
4328
----
4429
+
45-
. Launch a browser and navigate to `https://<JAEGER_URL>`.
46-
47-
. If necessary, log in using the same user name and password as you use to access the {product-title} console.
30+
This command simulates a user visiting the `productpage` microservice of the application.
4831

49-
. In the left pane of the Jaeger dashboard, from the Service menu, select "productpage" and click the *Find Traces* button at the bottom of the pane. A list of traces is displayed, as shown in the following image:
50-
51-
+
52-
image::ossm-jaeger-main-screen.png[]
32+
. In the {product-title} console, navigate to *Networking* -> *Routes* and search for the Jaeger route, which is the URL listed under *Location*.
33+
* Alternatively, use the CLI to query for details of the route. In this example, `istio-system` is the control plane namespace:
5334
+
54-
. Click one of the traces in the list to open a detailed view of that trace. If you click on the top (most recent) trace, you see the details that correspond to the latest refresh of the ``/productpage`.
35+
[source,terminal]
36+
----
37+
$ export JAEGER_URL=$(oc get route -n istio-system jaeger -o jsonpath='{.spec.host}')
38+
----
5539
+
56-
image::ossm-jaeger-spans.png[]
40+
.. Enter the following command to reveal the URL for the Jaeger console. Paste the result in a browser and navigate to that URL.
5741
+
58-
The trace in the previous figure consists of a few nested spans, each corresponding to a Bookinfo Service call, all performed in response to a ``/productpage` request. Overall processing time was 2.62s, with the *details* Service taking 3.56ms, the *reviews* Service taking 2.6s, and the *ratings* Service taking 5.32ms. Each of the calls to remote Services is represented by a client-side and server-side span. For example, the *details* client-side span is labeled `productpage details.myproject.svc.cluster.local:9080`. The span nested underneath it, labeled `details details.myproject.svc.cluster.local:9080`, corresponds to the server-side processing of the request. The trace also shows calls to *istio-policy*, which reflect authorization checks made by Istio.
42+
[source,terminal]
43+
----
44+
echo $JAEGER_URL
45+
----
46+
47+
. Log in using the same user name and password as you use to access the {product-title} console.
48+
49+
. In the left pane of the Jaeger dashboard, from the *Service* menu, select *productpage.bookinfo* and click the *Find Traces* button at the bottom of the pane. A list of traces is displayed.
50+
51+
. Click one of the traces in the list to open a detailed view of that trace. If you click the first one in the list, which is the most recent trace, you see the details that correspond to the latest refresh of the `/productpage`.

service_mesh/v1x/ossm-observability.adoc

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,9 @@ toc::[]
77

88
You can view your application's topology, health and metrics in the Kiali console. If your service is having issues, the Kiali console offers ways to visualize the data flow through your service. You can view insights about the mesh components at different levels, including abstract applications, services, and workloads. It also provides an interactive graph view of your namespace in real time.
99

10-
You can observe the data flow through your application if you have one installed. If you don't have your own application installed, you can see how observability works in {ProductName} by installing the xref:../../service_mesh/v1x/prepare-to-deploy-applications-ossm.adoc#ossm-tutorial-bookinfo-overview_deploying-applications-ossm-v1x[Bookinfo sample application].
10+
.Before you begin
1111

12-
After installing the Bookinfo sample application, send traffic to the mesh. Enter the following command a few times:
13-
14-
----
15-
$ curl http://$GATEWAY_URL/productpage
16-
----
17-
18-
If your sample application is configured correctly, this command simulates a user visiting the `productpage` microservice of the application.
12+
You can observe the data flow through your application if you have an application installed. If you don't have your own application installed, you can see how observability works in {ProductName} by installing the xref:../../service_mesh/v1x/prepare-to-deploy-applications-ossm.adoc#ossm-tutorial-bookinfo-overview_deploying-applications-ossm-v1x[Bookinfo sample application].
1913

2014
include::modules/ossm-observability-access.adoc[leveloffset=+1]
2115

service_mesh/v2x/ossm-create-mesh.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ include::modules/ossm-tutorial-bookinfo-removing.adoc[leveloffset=+2]
2828

2929
== Next steps
3030

31-
* xref:../../service_mesh/v2x/prepare-to-deploy-applications-ossm.adoc#deploying-applications-ossm[Enabling sidecar injection] on {ProductName}.
31+
* To continue the installation process, you must xref:../../service_mesh/v2x/prepare-to-deploy-applications-ossm.adoc#deploying-applications-ossm[enable sidecar injection].

service_mesh/v2x/ossm-observability.adoc

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,11 @@ include::modules/ossm-document-attributes.adoc[]
55

66
toc::[]
77

8-
You can view your application's topology, health and metrics in the Kiali console. If your service is having issues, the Kiali console offers ways to visualize the data flow through your service. You can view insights about the mesh components at different levels, including abstract applications, services, and workloads. It also provides an interactive graph view of your namespace in real time.
8+
You can view your application's topology, health, and metrics in the Kiali console. If your service is experiencing problems, the Kiali console allows you to view the data flow through your service. You can view insights about the mesh components at different levels, including abstract applications, services, and workloads. It also provides an interactive graph view of your namespace in real time.
99

10-
You can observe the data flow through your application if you have one installed. If you don't have your own application installed, you can see how observability works in {ProductName} by installing the xref:../../service_mesh/v2x/prepare-to-deploy-applications-ossm.adoc#ossm-tutorial-bookinfo-overview_ossm-create-mesh[Bookinfo sample application].
10+
You can observe the data flow through your application if you have an application installed. If you do not have your own application installed, you can see how observability works in {ProductName} by installing the xref:../../service_mesh/v2x/prepare-to-deploy-applications-ossm.adoc#ossm-tutorial-bookinfo-overview_ossm-create-mesh[Bookinfo sample application].
1111

12-
After installing the Bookinfo sample application, send traffic to the mesh. Enter the following command a few times:
13-
14-
----
15-
$ curl http://$GATEWAY_URL/productpage
16-
----
17-
18-
If your sample application is configured correctly, this command simulates a user visiting the `productpage` microservice of the application.
12+
include::modules/ossm-observability-cli.adoc[leveloffset=+1]
1913

2014
include::modules/ossm-observability-access.adoc[leveloffset=+1]
2115

@@ -29,6 +23,8 @@ include::modules/ossm-config-sampling.adoc[leveloffset=+2]
2923

3024
include::modules/ossm-config-external-jaeger.adoc[leveloffset=+2]
3125

26+
For more information about configuring Jaeger, see the xref:../../jaeger/jaeger_install/rhbjaeger-deploying.adoc#jaeger-deploy-default_jaeger-deploying[Jaeger documentation].
27+
3228
include::modules/ossm-access-grafana.adoc[leveloffset=+1]
3329

3430
include::modules/ossm-access-prometheus.adoc[leveloffset=+1]

service_mesh/v2x/ossm-reference.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ include::modules/ossm-document-attributes.adoc[]
55

66
include::modules/ossm-cr-example.adoc[leveloffset=+1]
77

8+
include::modules/ossm-cr-threescale.adoc[leveloffset=+1]
9+
810
== More information
911

1012
For more information about how to configure the features in the `ServiceMeshControlPlane` see the following link.

0 commit comments

Comments
 (0)