Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions _topic_maps/_topic_map.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3268,6 +3268,8 @@ Topics:
File: network-observability-alerts
- Name: Using metrics with dashboards and alerts
File: metrics-alerts-dashboards
- Name: Integrate network observability with Gateway API
File: network-observability-gateway-api
- Name: Monitoring the Network Observability Operator
File: network-observability-operator-monitoring
- Name: Scheduling resources
Expand Down
48 changes: 48 additions & 0 deletions modules/network-observability-gateway-api-configure.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Module included in the following assemblies:
//
// * network_observability/network-observability-gateway-api.adoc

:_mod-docs-content-type: PROCEDURE
[id="network-observability-gateway-api-configure_{context}"]
= Configure Gateway API for visibility

[role="_abstract"]
To activate automated tracking for Gateway API resources and enable direct links to Gateway resource pages, update the `FlowCollector` configuration.

.Prerequisites
* Network Observability Operator is installed.
* A `GatewayClass` resource has been created. See "Getting started with the Gateway API for the Ingress Operator".
* A Gateway API-compliant controller (such as OpenShift Service Mesh 3) is managing cluster traffic.

.Procedure
. Edit the `FlowCollector` custom resource by running the following command:
+
[source,terminal]
----
$ oc edit flowcollector cluster
----

. Enable `NetworkEvents` enrichment to trigger automated Gateway detection:
+
[source,yaml]
----
apiVersion: flows.netobserv.io/v1alpha1
kind: FlowCollector
metadata:
name: cluster
spec:
processor:
enrich:
type: "NetworkEvents"
----
+
where:

`spec.processor.enrich.type`:: Set to `NetworkEvents` to allow network observability to automatically detect and map Gateway API resource hierarchies.

. Save and exit.

.Verification
. In the *Network Traffic* tab, locate a flow originating from your Gateway.
. Observe that the *Owner* column displays the Gateway name.
. Click the link on the Gateway object to navigate directly to its resource configuration page.
36 changes: 36 additions & 0 deletions modules/network-observability-gateway-api-metadata-reference.adoc
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 [error] OpenShiftAsciiDoc.ModuleContainsContentType: Module is missing the '_mod-docs-content-type' variable.

Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// Module included in the following assemblies:
//
// * network_observability/network-observability-gateway-api.adoc

:_mod-docs-content-type: REFERENCE
[id="network-observability-gateway-api-metadata-reference_{context}"]
= Network observability Gateway API metadata reference

[role="_abstract"]
This reference provides technical details for Gateway API fields and configuration parameters within the Network Observability Operator.

.`FlowCollector` parameters
[cols="2,1,3", options="header"]
|===
| Parameter | Type | Description
| `spec.processor.enrich.type`
| String
| Must be set to `NetworkEvents` to enable automated Gateway API tracking.
| `spec.processor.enrich.advanced.parentTrackingDepth`
| Integer
| Optional. Overrides the default automated depth detection.
|===

.Gateway API metadata fields
[cols="1,3", options="header"]
|===
| Field | Description
| `SrcK8S_OwnerType`
| The resource type of the source parent (e.g., `Gateway` or `HTTPRoute`).
| `DstK8S_OwnerType`
| The resource type of the destination parent.
| `SrcK8S_OwnerName`
| The name of the Gateway API resource originating the traffic.
| `DstK8S_OwnerName`
| The name of the Gateway API resource receiving the traffic.
|===
18 changes: 18 additions & 0 deletions modules/network-observability-gateway-api-visibility.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Module included in the following assemblies:
//
// * network_observability/network-observability-gateway-api.adoc

:_mod-docs-content-type: CONCEPT
[id="network-observability-gateway-api-visibility_{context}"]
= Network observability automated Gateway API visibility

[role="_abstract"]
The Network Observability Operator provides automated traffic attribution for Gateway API resources. This integration correlates eBPF-captured flows with logical routing resources, such as `Gateways` and `HTTPRoutes`, providing a clear view of "North-South" cluster traffic.

With the implementation of automated parent tracking, network observability natively traverses the resource ownership hierarchy. This ensures that traffic flowing through ingress proxies (like Envoy) is automatically linked to the high-level Gateway API objects that govern it.

Key benefits include:

* Transparent proxy observability: See through the proxy layer to identify which logical route handled a specific request.
* Automatic correlation: No manual configuration of tracking depth is required for standard Gateway API implementations.
* Streamlined Troubleshooting: Identify performance bottlenecks or packet drops at the Route level rather than just the Pod level.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
:_mod-docs-content-type: ASSEMBLY
[id="network-observability-gateway-api_{context}"]
= Integrate network observability with Gateway API
include::_attributes/common-attributes.adoc[]
:context: network-observability-gateway-api

toc::[]

[role="_abstract"]
Learn how to integrate the Network Observability Operator with the Gateway API. By utilizing automated parent tracking, you can gain deep visibility into proxy-managed traffic and link flows directly to Gateway resources.

include::modules/network-observability-gateway-api-visibility.adoc[leveloffset=+1]

include::modules/network-observability-gateway-api-configure.adoc[leveloffset=+1]

include::modules/network-observability-gateway-api-metadata-reference.adoc[leveloffset=+1]

[id="network-observability-gateway-api-additional-resource_{context}"]
== Additional resources
* link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/ingress_and_load_balancing/configuring-ingress-cluster-traffic#ingress-gateway-api[Overview of Gateway API]
* link:https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/ingress_and_load_balancing/configuring-ingress-cluster-traffic#nw-ingress-gateway-api-enable_ingress-gateway-api[Getting started with Gateway API for the Ingress Operator]

//convert to xref after builds pass