Skip to content

Commit

Permalink
OSDOCS-7593: Netobserv RTT
Browse files Browse the repository at this point in the history
  • Loading branch information
skrthomas committed Nov 15, 2023
1 parent 15de31f commit e063c4c
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 9 deletions.
18 changes: 18 additions & 0 deletions modules/network-observability-RTT-overview.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Module included in the following assemblies:
//
// network_observability/observing-network-traffic.adoc

:_mod-docs-content-type: CONCEPT
[id="network-observability-RTT-overview_{context}"]
= Round trip time tracing
You can trace TCP round trip time (RTT) to analyze network flows to help with determining application performance and network latency issues.

When RTT tracing is enabled, you can see the following TCP handshake Round Trip Time with overall metrics represented in a donut or line chart in the *Overview*.

* Top X 90th percentile
* Top X 99th percentile
* Top X average
* Bottom X minimum
* Top X maximum
See the _Additional Resources_ in this section for more information about enabling and working with this view.
42 changes: 42 additions & 0 deletions modules/network-observability-RTT.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// Module included in the following assemblies:
//
// * network_observability/observing-network-traffic.adoc

:_mod-docs-content-type: PROCEDURE
[id="network-observability-RTT_{context}"]
= Working with RTT tracing
You can track RTT by editing the `FlowCollector` to the specifications in the following YAML example.

.Procedure
. In the web console, navigate to *Operators* -> *Installed Operators*.
. In the *Provided APIs* heading for the *NetObserv Operator*, select *Flow Collector*.
. Select *cluster*, and then select the *YAML* tab.
. Configure the `FlowCollector` custom resource for RTT tracing, for example:
+
[id="network-observability-flowcollector-configuring-RTT_{context}"]
.Example `FlowCollector` configuration
[source, yaml]
----
apiVersion: flows.netobserv.io/v1alpha1
kind: FlowCollector
metadata:
name: cluster
spec:
namespace: netobserv
deploymentModel: DIRECT
agent:
type: EBPF
ebpf:
features:
- FlowRTT <1>
----
<1> You can start tracing RTT network flows by listing the `FlowRTT` parameter in the `spec.agent.ebpf.features` specification list.

.Verification
When you refresh the *Network Traffic* page, the *Overview*, *Traffic Flow*, and *Topology* views display new information about RTT:
.. In the *Overview*, select new choices in *Manage panels* to choose which graphical visualizations of RTT to display.
.. In the *Traffic flows* table, the *Flow RTT* column can be seen, and you can manage display in *Manage columns*.
.. In the *Traffic Flows* view, you can also expand the side panel to view more information about RTT.
.. Click *Common* filters -> *Protocol*. Filter the network flow data based on *Protocol TCP* to show flows with nonzero values.
.... Remove Protocol filter and filter based on "Flow RTT > 0" in *Common* filters
.. In the *Topology* view, click the Display option dropdown. Then click *RTT* in the *edge labels* drop-down list.
9 changes: 2 additions & 7 deletions modules/network-observability-operator-install.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,9 @@ This documentation assumes that your `LokiStack` instance name is `loki`. Using
. Navigate to the *Flow Collector* tab, and click *Create FlowCollector*. Make the following selections in the form view:
.. *spec.agent.ebpf.Sampling*: Specify a sampling size for flows. Lower sampling sizes will have higher impact on resource utilization. For more information, see the "FlowCollector API reference", `spec.agent.ebpf`.
.. If you are using Loki, set the following specifications:
... *spec.loki.mode*: LokiStack
... *spec.loki.lokistack.name*:
... *spec.loki.enable*: Select the check box to enable storing flows in Loki.
... *spec.loki.url*: Since authentication is specified separately, this URL needs to be updated to `https://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network`. The first part of the URL, "loki", must match the name of your `LokiStack`.
... *spec.loki.authToken*: Select the `FORWARD` value.
... *spec.loki.statusUrl*: Set this to `https://loki-query-frontend-http.netobserv.svc:3100/`. The first part of the URL, "loki", must match the name of your `LokiStack`.
... *spec.loki.tls.enable*: Select the checkbox to enable TLS.
... *spec.loki.statusTls*: The `enable` value is false by default.
+
For the first part of the certificate reference names: `loki-gateway-ca-bundle`, `loki-ca-bundle`, and `loki-query-frontend-http`,`loki`, must match the name of your `LokiStack`.
.. Optional: If you are in a large-scale environment, consider configuring the `FlowCollector` with Kafka for forwarding data in a more resilient, scalable way. See "Configuring the Flow Collector resource with Kafka storage" in the "Important Flow Collector configuration considerations" section.
.. Optional: Configure other optional settings before the next step of creating the `FlowCollector`. For example, if you choose not to use Loki, then you can configure exporting flows to Kafka or IPFIX. See "Export enriched network flow data to Kafka and IPFIX" and more in the "Important Flow Collector configuration considerations" section.
.. Click *Create*.
Expand Down
11 changes: 9 additions & 2 deletions network_observability/observing-network-traffic.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,32 @@ As an administrator, you can observe the network traffic in the {product-title}
include::modules/network-observability-overview.adoc[leveloffset=+1]
include::modules/network-observability-working-with-overview.adoc[leveloffset=+2]
include::modules/network-observability-configuring-options-overview.adoc[leveloffset=+2]
include::modules/network-observability-pktdrop-overview.adoc[leveloffset=+3]
include::modules/network-observability-pktdrop-overview.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* For more information about configuring packet drops in the `FlowCollector`, see xref:../network_observability/observing-network-traffic.adoc#network-observability-packet-drops_nw-observe-network-traffic[Working with packet drops].
include::modules/network-observability-dns-overview.adoc[leveloffset=+3]
include::modules/network-observability-dns-overview.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* For more information about configuring DNS in the `FlowCollector`, see xref:../network_observability/observing-network-traffic.adoc#network-observability-dns-tracking_nw-observe-network-traffic[Working with DNS tracking].
include::modules/network-observability-RTT-overview.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* For more information about configuring RTT tracing in the `FlowCollector`, see xref:../network_observability/observing-network-traffic.adoc#network-observability-RTT_nw-observe-network-traffic[Working with RTT tracing].
//Traffic flows
include::modules/network-observability-trafficflow.adoc[leveloffset=+1]
include::modules/network-observability-working-with-trafficflow.adoc[leveloffset=+2]
include::modules/network-observability-configuring-options-trafficflow.adoc[leveloffset=+2]
include::modules/network-observability-working-with-conversations.adoc[leveloffset=+2]
include::modules/network-observability-packet-drops.adoc[leveloffset=+2]
include::modules/network-observability-dns-tracking.adoc[leveloffset=+2]
include::modules/network-observability-RTT.adoc[leveloffset=+2]
include::modules/network-observability-histogram-trafficflow.adoc[leveloffset=+2]

//Topology
Expand Down

0 comments on commit e063c4c

Please sign in to comment.