Skip to content

Commit 7f86dea

Browse files
committed
OSDOCS-6273: Adding packet drop tracking to NetObserv
1 parent 3f4b351 commit 7f86dea

File tree

4 files changed

+90
-2
lines changed

4 files changed

+90
-2
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * network_observability/observing-network-traffic.adoc
4+
5+
:_content-type: PROCEDURE
6+
[id="network-observability-packet-drops_{context}"]
7+
= Working with packet drops
8+
Packet loss occurs when one or more packets of network flow data fail to reach their destination. You can track these drops by editing the `FlowCollector` to the specifications in the following YAML example.
9+
10+
[IMPORTANT]
11+
====
12+
CPU and memory usage increases when this feature is enabled.
13+
====
14+
15+
.Prerequisites
16+
* Access to an {product-title} cluster with version 4.13.
17+
* Kernel supported by Red Hat Enterprise Linux (RHEL) 9.2.
18+
19+
.Procedure
20+
. In the web console, navigate to *Operators* -> *Installed Operators*.
21+
. Under the *Provided APIs* heading for the *NetObserv Operator*, select *Flow Collector*.
22+
. Select *cluster*, and then select the *YAML* tab.
23+
. Configure the `FlowCollector` custom resource for packet drops, for example:
24+
+
25+
[id="network-observability-flowcollector-configuring-pkt-drop_{context}"]
26+
.Example `FlowCollector` configuration
27+
[source, yaml]
28+
----
29+
apiVersion: flows.netobserv.io/v1alpha1
30+
kind: FlowCollector
31+
metadata:
32+
name: cluster
33+
spec:
34+
namespace: netobserv
35+
deploymentModel: DIRECT
36+
agent:
37+
type: EBPF
38+
ebpf:
39+
features:
40+
- PacketDrop <1>
41+
privileged: true <2>
42+
----
43+
<1> You can start reporting the packet drops of each network flow by listing the `PacketDrop` parameter in the `spec.agent.ebpf.features` specification list.
44+
<2> The `spec.agent.ebpf.privileged` specification value must be `true` for packet drop tracking.
45+
46+
.Verification
47+
* When you refresh the *Network Traffic* page, the *Overview*, *Traffic Flow*, and *Topology* views display new information about packet drops:
48+
.. Select new choices in *Manage panels* to choose which graphical visualizations of packet drops to display in the *Overview*.
49+
.. Select new choices in *Manage columns* to choose which packet drop information to display in the *Traffic flows* table.
50+
... In the *Traffic Flows* view, you can also expand the side panel to view more information about packet drops.
51+
.. In the *Topology* view, red lines are displayed where drops are present.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Module included in the following assemblies:
2+
//
3+
// network_observability/observing-network-traffic.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="network-observability-pktdrop-overview_{context}"]
7+
= Packet drop tracking
8+
You can configure graphical representation of network flow records with packet loss in the *Overview* view. By employing eBPF tracepoint hooks, you can gain valuable insights into packet drops for TCP, UDP, SCTP, ICMPv4, and ICMPv6 protocols, which can result in the following actions:
9+
10+
* Identification: Pinpoint the exact locations and network paths where packet drops are occurring. Determine whether specific devices, interfaces, or routes are more prone to drops.
11+
12+
* Root cause analysis: Examine the data collected by the eBPF program to understand the causes of packet drops. For example, are they a result of congestion, buffer issues, or specific network events?
13+
14+
* Performance optimization: With a clearer picture of packet drops, you can take steps to optimize network performance, such as adjust buffer sizes, reconfigure routing paths, or implement Quality of Service (QoS) measures.
15+
16+
When packet drop tracking is enabled, you can see the following metrics represented in a chart in the *Overview*.
17+
18+
* Top X flow dropped rates stacked
19+
* Total dropped rate
20+
* Top X dropped state
21+
* Top X dropped cause
22+
* Top X flow dropped rates stacked with total
23+
24+
25+
See the _Additional Resources_ of this section for more information about enabling and working with packet drop tracking.

modules/network-observability-quickfilter.adoc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,19 @@ You can use *Query Options* to optimize the search results, as listed below:
1313
** *Log Type*: The available options *Conversation* and *Flows* provide the ability to query flows by log type, such as flow log, new conversation, completed conversation, and a heartbeat, which is a periodic record with updates for long conversations. A conversation is an aggregation of flows between the same peers.
1414
** *Reporter Node*: Every flow can be reported from both source and destination nodes. For cluster ingress, the flow is reported from the destination node and for cluster egress, the flow is reported from the source node. You can select either *Source* or *Destination*. The option *Both* is disabled for the *Overview* and *Topology* view. The default selected value is *Destination*.
1515
** *Match filters*: You can determine the relation between different filter parameters selected in the advanced filter. The available options are *Match all* and *Match any*. *Match all* provides results that match all the values, and *Match any* provides results that match any of the values entered. The default value is *Match all*.
16+
** *Drops filter*: You can view different levels of dropped packets with the following query options:
17+
*** *Fully dropped* shows flow records with fully dropped packets.
18+
*** *Containing drops* shows flow records that contain drops but can be sent.
19+
*** *Without drops* shows records that contain sent packets.
20+
*** *All* shows all the aforementioned records.
21+
1622
** *Limit*: The data limit for internal backend queries. Depending upon the matching and the filter settings, the number of traffic flow data is displayed within the specified limit.
1723

1824
Quick filters::
1925
The default values in *Quick filters* drop-down menu are defined in the `FlowCollector` configuration. You can modify the options from console.
2026

2127
Advanced filters::
2228
You can set the advanced filters by providing the parameter to be filtered and its corresponding text value. The section *Common* in the parameter drop-down list filters the results that match either *Source* or *Destination*. To enable or disable the applied filter, you can click on the applied filter listed below the filter options.
23-
2429
[NOTE]
2530
====
2631
To understand the rules of specifying the text value, click *Learn More*.

networking/network_observability/observing-network-traffic.adoc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,21 @@ As an administrator, you can observe the network traffic in the {product-title}
1212
include::modules/network-observability-overview.adoc[leveloffset=+1]
1313
include::modules/network-observability-working-with-overview.adoc[leveloffset=+2]
1414
include::modules/network-observability-configuring-options-overview.adoc[leveloffset=+2]
15+
include::modules/network-observability-pktdrop-overview.adoc[leveloffset=+3]
16+
17+
[role="_additional-resources"]
18+
.Additional resources
19+
* 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].
20+
1521
1622
//Traffic flows
1723
include::modules/network-observability-trafficflow.adoc[leveloffset=+1]
1824
include::modules/network-observability-working-with-trafficflow.adoc[leveloffset=+2]
1925
include::modules/network-observability-configuring-options-trafficflow.adoc[leveloffset=+2]
2026
include::modules/network-observability-working-with-conversations.adoc[leveloffset=+2]
21-
27+
include::modules/network-observability-packet-drops.adoc[leveloffset=+2]
2228
include::modules/network-observability-histogram-trafficflow.adoc[leveloffset=+2]
29+
2330
//Topology
2431
include::modules/network-observability-topology.adoc[leveloffset=+1]
2532
include::modules/network-observability-working-with-topology.adoc[leveloffset=+2]

0 commit comments

Comments
 (0)