Skip to content

Commit b1ba6dd

Browse files
committed
OSDOCS-14941 [NETOBSERV] Update API/CLI references
1 parent 60c3a81 commit b1ba6dd

4 files changed

+74
-114
lines changed

modules/network-observability-con_filter-network-flows-at-ingestion.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,6 @@ spec:
7878
sampling: 10 <2>
7979
----
8080
<1> Sends matching flows to a specific output, such as Loki, Prometheus, or an external system. When omitted, sends to all configured outputs.
81-
<2> Optional. Applies a sampling ratio to limit the number of matching flows to be stored or exported. For example, `sampling: 10` means 1/10 of the flows are kept.
81+
<2> Optional. Applies a sampling ratio to limit the number of matching flows to be stored or exported. For example, `sampling: 10` means 1/10 of the flows are kept.
82+
83+

modules/network-observability-flowcollector-api-specifications.adoc

Lines changed: 51 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ is set to `eBPF`.
154154
155155
| `type`
156156
| `string`
157-
| `type` [deprecated *] selects the flows tracing agent. Previously, this field allowed to select between `eBPF` or `IPFIX`.
157+
| `type` [deprecated (*)] selects the flows tracing agent. Previously, this field allowed to select between `eBPF` or `IPFIX`.
158158
Only `eBPF` is allowed now, so this field is deprecated and is planned for removal in a future version of the API.
159159

160160
|===
@@ -180,7 +180,8 @@ Type::
180180
| `object`
181181
| `advanced` allows setting some aspects of the internal configuration of the eBPF agent.
182182
This section is aimed mostly for debugging and fine-grained performance optimizations,
183-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
183+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk. You can also
184+
override the default Linux capabilities from there.
184185

185186
| `cacheActiveTimeout`
186187
| `string`
@@ -205,25 +206,28 @@ Otherwise it is matched as a case-sensitive string.
205206
| List of additional features to enable. They are all disabled by default. Enabling additional features might have performance impacts. Possible values are: +
206207

207208
- `PacketDrop`: Enable the packets drop flows logging feature. This feature requires mounting
208-
the kernel debug filesystem, so the eBPF agent pods must run as privileged.
209-
If the `spec.agent.ebpf.privileged` parameter is not set, an error is reported. +
209+
the kernel debug filesystem, so the eBPF agent pods must run as privileged via `spec.agent.ebpf.privileged`. +
210210
211211
- `DNSTracking`: Enable the DNS tracking feature. +
212212
213213
- `FlowRTT`: Enable flow latency (sRTT) extraction in the eBPF agent from TCP traffic. +
214214
215215
- `NetworkEvents`: Enable the network events monitoring feature, such as correlating flows and network policies.
216-
This feature requires mounting the kernel debug filesystem, so the eBPF agent pods must run as privileged.
217-
It requires using the OVN-Kubernetes network plugin with the Observability feature. +
218-
IMPORTANT: This feature is available as a Technology Preview.
216+
This feature requires mounting the kernel debug filesystem, so the eBPF agent pods must run as privileged via `spec.agent.ebpf.privileged`.
217+
It requires using the OVN-Kubernetes network plugin with the Observability feature.
218+
IMPORTANT: This feature is available as a Technology Preview. +
219219
220220
- `PacketTranslation`: Enable enriching flows with packet translation information, such as Service NAT. +
221221
222-
- `EbpfManager`: Unsupported * . Use eBPF Manager to manage Network Observability eBPF programs. Pre-requisite: the eBPF Manager operator (or upstream bpfman operator) must be installed. +
222+
- `EbpfManager`: [Unsupported (*)]. Use eBPF Manager to manage Network Observability eBPF programs. Pre-requisite: the eBPF Manager operator (or upstream bpfman operator) must be installed. +
223+
224+
- `UDNMapping`: Enable interfaces mapping to User Defined Networks (UDN). +
225+
226+
This feature requires mounting the kernel debug filesystem, so the eBPF agent pods must run as privileged via `spec.agent.ebpf.privileged`.
227+
It requires using the OVN-Kubernetes network plugin with the Observability feature. +
228+
229+
- `IPSec`, to track flows between nodes with IPsec encryption. +
223230
224-
- `UDNMapping`: Unsupported *. Enable interfaces mapping to User Defined Networks (UDN). +
225-
This feature requires mounting the kernel debug filesystem, so the eBPF agent pods must run as privileged.
226-
It requires using the OVN-Kubernetes network plugin with the Observability feature.
227231
228232
| `flowFilter`
229233
| `object`
@@ -255,7 +259,7 @@ Otherwise it is matched as a case-sensitive string.
255259
| `privileged`
256260
| `boolean`
257261
| Privileged mode for the eBPF Agent container. When ignored or set to `false`, the operator sets
258-
granular capabilities (BPF, PERFMON, NET_ADMIN, SYS_RESOURCE) to the container.
262+
granular capabilities (BPF, PERFMON, NET_ADMIN) to the container.
259263
If for some reason these capabilities cannot be set, such as if an old kernel version not knowing CAP_BPF
260264
is in use, then you can turn on this mode for more global privileges.
261265
Some agent features require the privileged mode, such as packet drops tracking (see `features`) and SR-IOV support.
@@ -267,7 +271,7 @@ For more information, see https://kubernetes.io/docs/concepts/configuration/mana
267271
268272
| `sampling`
269273
| `integer`
270-
| Sampling rate of the flow reporter. 100 means one flow on 100 is sent. 0 or 1 means all flows are sampled.
274+
| Sampling ratio of the eBPF probe. 100 means one packet on 100 is sent. 0 or 1 means all packets are sampled.
271275
272276
|===
273277
== .spec.agent.ebpf.advanced
@@ -276,7 +280,8 @@ Description::
276280
--
277281
`advanced` allows setting some aspects of the internal configuration of the eBPF agent.
278282
This section is aimed mostly for debugging and fine-grained performance optimizations,
279-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
283+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk. You can also
284+
override the default Linux capabilities from there.
280285
--
281286
282287
Type::
@@ -289,6 +294,10 @@ Type::
289294
|===
290295
| Property | Type | Description
291296
297+
| `capOverride`
298+
| `array (string)`
299+
| Linux capabilities override, when not running as privileged. Default capabilities are BPF, PERFMON and NET_ADMIN.
300+
292301
| `env`
293302
| `object (string)`
294303
| `env` allows passing custom environment variables to underlying components. Useful for passing
@@ -447,7 +456,7 @@ To change the default, you can define a rule that accepts everything: `{ action:
447456
448457
| `sampling`
449458
| `integer`
450-
| `sampling` sampling rate for the matched flows, overriding the global sampling defined at `spec.agent.ebpf.sampling`.
459+
| `sampling` is the sampling ratio for the matched packets, overriding the global sampling defined at `spec.agent.ebpf.sampling`.
451460
452461
| `sourcePorts`
453462
| `integer-or-string`
@@ -481,7 +490,7 @@ Type::
481490
Description::
482491
+
483492
--
484-
`EBPFFlowFilterRules` defines the desired eBPF agent configuration regarding flow filtering rules.
493+
`EBPFFlowFilterRule` defines the desired eBPF agent configuration regarding flow filtering rule.
485494
--
486495
487496
Type::
@@ -549,7 +558,7 @@ To filter two ports, use a "port1,port2" in string format. For example, `ports:
549558
550559
| `sampling`
551560
| `integer`
552-
| `sampling` sampling rate for the matched flows, overriding the global sampling defined at `spec.agent.ebpf.sampling`.
561+
| `sampling` is the sampling ratio for the matched packets, overriding the global sampling defined at `spec.agent.ebpf.sampling`.
553562
554563
| `sourcePorts`
555564
| `integer-or-string`
@@ -661,7 +670,7 @@ If set to `true`, the `providedCaFile` field is ignored.
661670
| Select the type of TLS configuration: +
662671
663672
- `Disabled` (default) to not configure TLS for the endpoint.
664-
- `Provided` to manually provide cert file and a key file. Unsupported *.
673+
- `Provided` to manually provide cert file and a key file. [Unsupported (*)].
665674
- `Auto` to use {product-title} auto generated certificate using annotations.
666675
667676
|===
@@ -791,7 +800,7 @@ Type::
791800
| `object`
792801
| `advanced` allows setting some aspects of the internal configuration of the console plugin.
793802
This section is aimed mostly for debugging and fine-grained performance optimizations,
794-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
803+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk.
795804

796805
| `autoscaler`
797806
| `object`
@@ -833,7 +842,7 @@ Description::
833842
--
834843
`advanced` allows setting some aspects of the internal configuration of the console plugin.
835844
This section is aimed mostly for debugging and fine-grained performance optimizations,
836-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
845+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk.
837846
--
838847

839848
Type::
@@ -1165,7 +1174,7 @@ Required::
11651174

11661175
| `sasl`
11671176
| `object`
1168-
| SASL authentication configuration. Unsupported *.
1177+
| SASL authentication configuration. [Unsupported (*)].
11691178

11701179
| `tls`
11711180
| `object`
@@ -1180,7 +1189,7 @@ Required::
11801189
Description::
11811190
+
11821191
--
1183-
SASL authentication configuration. Unsupported *.
1192+
SASL authentication configuration. [Unsupported (*)].
11841193
--
11851194

11861195
Type::
@@ -1676,7 +1685,7 @@ Required::
16761685

16771686
| `sasl`
16781687
| `object`
1679-
| SASL authentication configuration. Unsupported *.
1688+
| SASL authentication configuration. [Unsupported (*)].
16801689

16811690
| `tls`
16821691
| `object`
@@ -1691,7 +1700,7 @@ Required::
16911700
Description::
16921701
+
16931702
--
1694-
SASL authentication configuration. Unsupported *.
1703+
SASL authentication configuration. [Unsupported (*)].
16951704
--
16961705

16971706
Type::
@@ -2077,7 +2086,7 @@ Type::
20772086

20782087
- `Forward` forwards the user token for authorization. +
20792088

2080-
- `Host` [deprecated *] - uses the local pod service account to authenticate to Loki. +
2089+
- `Host` [deprecated (*)] - uses the local pod service account to authenticate to Loki. +
20812090

20822091
When using the Loki Operator, this must be set to `Forward`.
20832092

@@ -2693,7 +2702,7 @@ This feature requires the "topology.kubernetes.io/zone" label to be set on nodes
26932702
| `object`
26942703
| `advanced` allows setting some aspects of the internal configuration of the flow processor.
26952704
This section is aimed mostly for debugging and fine-grained performance optimizations,
2696-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
2705+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk.
26972706

26982707
| `clusterName`
26992708
| `string`
@@ -2702,14 +2711,12 @@ such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
27022711
| `deduper`
27032712
| `object`
27042713
| `deduper` allows you to sample or drop flows identified as duplicates, in order to save on resource usage.
2705-
Unsupported *.
27062714

27072715
| `filters`
27082716
| `array`
27092717
| `filters` lets you define custom filters to limit the amount of generated flows.
27102718
These filters provide more flexibility than the eBPF Agent filters (in `spec.agent.ebpf.flowFilter`), such as allowing to filter by Kubernetes namespace,
27112719
but with a lesser improvement in performance.
2712-
Unsupported *.
27132720

27142721
| `imagePullPolicy`
27152722
| `string`
@@ -2743,9 +2750,9 @@ This setting is ignored when Kafka is disabled.
27432750

27442751
- `Flows` to export regular network flows. This is the default. +
27452752

2746-
- `Conversations` to generate events for started conversations, ended conversations as well as periodic "tick" updates. +
2753+
- `Conversations` to generate events for started conversations, ended conversations as well as periodic "tick" updates. Note that in this mode, Prometheus metrics are not accurate on long-standing conversations. +
27472754

2748-
- `EndedConversations` to generate only ended conversations events. +
2755+
- `EndedConversations` to generate only ended conversations events. Note that in this mode, Prometheus metrics are not accurate on long-standing conversations. +
27492756

27502757
- `All` to generate both network flows and all conversations events. It is not recommended due to the impact on resources footprint. +
27512758

@@ -2775,7 +2782,7 @@ Description::
27752782
--
27762783
`advanced` allows setting some aspects of the internal configuration of the flow processor.
27772784
This section is aimed mostly for debugging and fine-grained performance optimizations,
2778-
such as `GOGC` and `GOMAXPROCS` env vars. Set these values at your own risk.
2785+
such as `GOGC` and `GOMAXPROCS` environment vars. Set these values at your own risk.
27792786
--
27802787

27812788
Type::
@@ -2803,7 +2810,7 @@ This delay is ignored when a FIN packet is collected for TCP flows (see `convers
28032810

28042811
| `dropUnusedFields`
28052812
| `boolean`
2806-
| `dropUnusedFields` [deprecated *] this setting is not used anymore.
2813+
| `dropUnusedFields` [deprecated (*)] this setting is not used anymore.
28072814

28082815
| `enableKubeProbes`
28092816
| `boolean`
@@ -2910,7 +2917,8 @@ Description::
29102917
+
29112918
--
29122919
Defines secondary networks to be checked for resources identification.
2913-
To guarantee a correct identification, indexed values must form an unique identifier across the cluster. If the same index is used by several resources, those resources might be incorrectly labeled.
2920+
To guarantee a correct identification, indexed values must form an unique identifier across the cluster.
2921+
If the same index is used by several resources, those resources might be incorrectly labeled.
29142922
--
29152923

29162924
Type::
@@ -2955,7 +2963,6 @@ Description::
29552963
+
29562964
--
29572965
`deduper` allows you to sample or drop flows identified as duplicates, in order to save on resource usage.
2958-
Unsupported *.
29592966
--
29602967

29612968
Type::
@@ -2970,7 +2977,7 @@ Type::
29702977

29712978
| `mode`
29722979
| `string`
2973-
| Set the Processor de-duplication mode. It comes in addition to the Agent-based deduplication because the Agent cannot de-duplicate same flows reported from different nodes. +
2980+
| Set the Processor de-duplication mode. It comes in addition to the Agent-based deduplication, since the Agent cannot de-duplicate same flows reported from different nodes. +
29742981

29752982
- Use `Drop` to drop every flow considered as duplicates, allowing saving more on resource usage but potentially losing some information such as the network interfaces used from peer, or network events. +
29762983

@@ -2981,7 +2988,7 @@ Type::
29812988

29822989
| `sampling`
29832990
| `integer`
2984-
| `sampling` is the sampling rate when deduper `mode` is `Sample`.
2991+
| `sampling` is the sampling ratio when deduper `mode` is `Sample`. For example, a value of `50` means that 1 flow in 50 is sampled.
29852992

29862993
|===
29872994
== .spec.processor.filters
@@ -2991,7 +2998,6 @@ Description::
29912998
`filters` lets you define custom filters to limit the amount of generated flows.
29922999
These filters provide more flexibility than the eBPF Agent filters (in `spec.agent.ebpf.flowFilter`), such as allowing to filter by Kubernetes namespace,
29933000
but with a lesser improvement in performance.
2994-
Unsupported *.
29953001
--
29963002

29973003
Type::
@@ -3017,64 +3023,17 @@ Type::
30173023
|===
30183024
| Property | Type | Description
30193025

3020-
| `allOf`
3021-
| `array`
3022-
| `filters` is a list of matches that must be all satisfied in order to remove a flow.
3023-
30243026
| `outputTarget`
30253027
| `string`
3026-
| If specified, these filters only target a single output: `Loki`, `Metrics` or `Exporters`. By default, all outputs are targeted.
3027-
3028-
| `sampling`
3029-
| `integer`
3030-
| `sampling` is an optional sampling rate to apply to this filter.
3031-
3032-
|===
3033-
== .spec.processor.filters[].allOf
3034-
Description::
3035-
+
3036-
--
3037-
`filters` is a list of matches that must be all satisfied in order to remove a flow.
3038-
--
3039-
3040-
Type::
3041-
`array`
3042-
3043-
3044-
3045-
3046-
== .spec.processor.filters[].allOf[]
3047-
Description::
3048-
+
3049-
--
3050-
`FLPSingleFilter` defines the desired configuration for a single FLP-based filter.
3051-
--
3052-
3053-
Type::
3054-
`object`
3055-
3056-
Required::
3057-
- `field`
3058-
- `matchType`
3059-
3060-
3061-
3062-
[cols="1,1,1",options="header"]
3063-
|===
3064-
| Property | Type | Description
3065-
3066-
| `field`
3067-
| `string`
3068-
| Name of the field to filter on.
3069-
Refer to the documentation for the list of available fields: https://github.com/netobserv/network-observability-operator/blob/main/docs/flows-format.adoc.
3028+
| If specified, these filters target a single output: `Loki`, `Metrics` or `Exporters`. By default, all outputs are targeted.
30703029

3071-
| `matchType`
3030+
| `query`
30723031
| `string`
3073-
| Type of matching to apply.
3032+
| A query that selects the network flows to keep. More information about this query language in https://github.com/netobserv/flowlogs-pipeline/blob/main/docs/filtering.md.
30743033

3075-
| `value`
3076-
| `string`
3077-
| Value to filter on. When `matchType` is `Equal` or `NotEqual`, you can use field injection with `$(SomeField)` to refer to any other field of the flow.
3034+
| `sampling`
3035+
| `integer`
3036+
| `sampling` is an optional sampling ratio to apply to this filter. For example, a value of `50` means that 1 matching flow in 50 is sampled.
30783037

30793038
|===
30803039
== .spec.processor.kafkaConsumerAutoscaler
@@ -3199,7 +3158,7 @@ If set to `true`, the `providedCaFile` field is ignored.
31993158
| Select the type of TLS configuration: +
32003159

32013160
- `Disabled` (default) to not configure TLS for the endpoint.
3202-
- `Provided` to manually provide cert file and a key file. Unsupported *.
3161+
- `Provided` to manually provide cert file and a key file. [Unsupported (*)].
32033162
- `Auto` to use {product-title} auto generated certificate using annotations.
32043163

32053164
|===
@@ -3593,4 +3552,4 @@ If the namespace is different, the config map or the secret is copied so that it
35933552
| `string`
35943553
| Type for the certificate reference: `configmap` or `secret`.
35953554

3596-
|===
3555+
|===

0 commit comments

Comments
 (0)