Skip to content

Commit

Permalink
OSDOCS-6642: DNS tracking Network Observability
Browse files Browse the repository at this point in the history
  • Loading branch information
skrthomas committed Aug 4, 2023
1 parent 3f4b351 commit 9a1e08c
Show file tree
Hide file tree
Showing 6 changed files with 114 additions and 4 deletions.
12 changes: 12 additions & 0 deletions modules/network-observability-dns-overview.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Module included in the following assemblies:
//
// network_observability/observing-network-traffic.adoc

:_content-type: REFERENCE
[id="network-observability-dns-overview_{context}"]
= Configuring DNS
You can configure graphical representation of DNS tracking of network flows in the Overview view. When enabled, you can see the following metrics represented in a chart in the Overview. See the _Additional Resources_ of this section for more information about enabling and working with this view.

* Top 5 average DNS latencies
* Top 5 DNS response code
* Top 5 DNS response code stacked with total
37 changes: 37 additions & 0 deletions modules/network-observability-dns-tracking.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// Module included in the following assemblies:
//
// network_observability/observing-network-traffic.adoc

:_content-type: PROCEDURE
[id="network-observability-dns-tracking_{context}"]
= Working with DNS tracking

.Procedure
. In the web console, navigate to *Operators* -> *Installed Operators*.
. Under the *Provided APIs* heading for the *NetObserv Operator*, select *Flow Collector*.
. Select *cluster* then select the *YAML* tab.
. Configure the `FlowCollector` custom resource so that `spec.processor.logTypes`, `conversationEndTimeout`, and `conversationHeartbeatInterval` parameters are set according to your observation needs. A sample configuration is as follows:
+
[id="network-observability-flowcollector-configuring-dns_{context}"]
.Configure `FlowCollector` for DNS tracking
[source, yaml]
----
apiVersion: flows.netobserv.io/v1alpha1
kind: FlowCollector
metadata:
name: cluster
namespace: netobserv
deploymentModel: DIRECT
agent:
type: EBPF
ebpf:
enableDNSTracking: true <1>
sampling: 50
logLevel: info
privileged: true <1>
----
<1> You can set the `spec.agent.ebpf.enableDNSTracking` and `spec.agent.ebpf.privileged` specifications to `true` to enable DNS tracking of each network flow in the web console.

. When you refresh the *Network Traffic* page, the *Overview* and *Traffic flows* *Manage panels* and *Manage columns* have new DNS choices you can select to see graphical visualizations in the *Overview* and DNS metrics in the *Traffic Flows* views.
. Next you can filter on specific DNS metrics, such as *DNS Id*, *DNS Latency* and *DNS Response Code* and see more information from the side panel.

6 changes: 3 additions & 3 deletions modules/network-observability-flowcollector-view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ spec:
agent:
type: EBPF <1>
ebpf:
sampling: 50 <2>
logLevel: info
sampling: 50 <2>
logLevel: info
privileged: false
resources:
requests:
Expand All @@ -45,7 +45,7 @@ spec:
limits:
memory: 800Mi
conversationEndTimeout: 10s
logTypes: FLOWS <3>
logTypes: FLOWS <3>
conversationHeartbeatInterval: 30s
loki: <4>
url: 'https://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network'
Expand Down
37 changes: 37 additions & 0 deletions modules/network-observability-packet-drops.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// Module included in the following assemblies:
//
// network_observability/observing-network-traffic.adoc

:_content-type: PROCEDURE
[id="network-observability-packet-drops_{context}"]
= Working with packet drops

.Procedure
. In the web console, navigate to *Operators* -> *Installed Operators*.
. Under the *Provided APIs* heading for the *NetObserv Operator*, select *Flow Collector*.
. Select *cluster* then select the *YAML* tab.
. Configure the `FlowCollector` custom resource so that `spec.processor.logTypes`, `conversationEndTimeout`, and `conversationHeartbeatInterval` parameters are set according to your observation needs. A sample configuration is as follows:
+
[id="network-observability-flowcollector-configuring-dns_{context}"]
.Configure `FlowCollector` for packet drops
[source, yaml]
----
apiVersion: flows.netobserv.io/v1alpha1
kind: FlowCollector
metadata:
name: cluster
namespace: netobserv
deploymentModel: DIRECT
agent:
type: EBPF
ebpf:
enablePktDrop: true <1>
sampling: 50
logLevel: info
privileged: true <1>
----
<1> You can set the `spec.agent.ebpf.enablePktDrop` and `spec.agent.ebpf.privileged` specifications to `true` to enable reporting of packet drops of each network flow in the web console.

. When you refresh the *Network Traffic* page, the *Overview* and *Traffic flows* *Manage panels* and *Manage columns* have new choices you can select to see graphical visualizations of the packet drops in the *Overview*. In the *Traffic Flows* view, you can expand the side panel to see
. In the *Traffic Flows* view, you can

14 changes: 14 additions & 0 deletions modules/network-observability-pktdrop-overview.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Module included in the following assemblies:
//
// network_observability/observing-network-traffic.adoc

:_content-type: REFERENCE
[id="network-observability-pktdrop-overview_{context}"]
= Configuring packet drop overview
You can configure graphical representation of network flow records with packet loss in the Overview view. When enabled, you can see the following metrics represented in a chart in the Overview. See the _Additional Resources_ of this section for more information about enabling and working with this view.

* Top 5 flow dropped rates stacked
* Total dropped rate
* Top 5 dropped state
* Top 5 dropped cause
* Top 5 flow dropped rates stacked with total
12 changes: 11 additions & 1 deletion networking/network_observability/observing-network-traffic.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,23 @@ 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-dns-overview.adoc[leveloffset=+3]
include::modules/network-observability-pktdrop-overview.adoc[leveloffset=+3]

[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].
* 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 DNS tracking].
//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-dns-tracking.adoc[leveloffset=+2]
include::modules/network-observability-packet-drops.adoc[leveloffset=+2]
include::modules/network-observability-histogram-trafficflow.adoc[leveloffset=+2]
//Topology
include::modules/network-observability-topology.adoc[leveloffset=+1]
Expand Down

0 comments on commit 9a1e08c

Please sign in to comment.