- FlowCollector configuration parameters
- FlowCollector API specifications
- .metadata
- .spec
- .spec.agent
- .spec.agent.ebpf
- .spec.agent.ebpf.debug
- .spec.agent.ebpf.resources
- .spec.agent.ipfix
- .spec.agent.ipfix.clusterNetworkOperator
- .spec.agent.ipfix.ovnKubernetes
- .spec.consolePlugin
- .spec.consolePlugin.autoscaler
- .spec.consolePlugin.portNaming
- .spec.consolePlugin.quickFilters
- .spec.consolePlugin.quickFilters[]
- .spec.consolePlugin.resources
- .spec.exporters
- .spec.exporters[]
- .spec.exporters[].ipfix
- .spec.exporters[].kafka
- .spec.exporters[].kafka.sasl
- .spec.exporters[].kafka.sasl.clientIDReference
- .spec.exporters[].kafka.sasl.clientSecretReference
- .spec.exporters[].kafka.tls
- .spec.exporters[].kafka.tls.caCert
- .spec.exporters[].kafka.tls.userCert
- .spec.kafka
- .spec.kafka.sasl
- .spec.kafka.sasl.clientIDReference
- .spec.kafka.sasl.clientSecretReference
- .spec.kafka.tls
- .spec.kafka.tls.caCert
- .spec.kafka.tls.userCert
- .spec.loki
- .spec.loki.statusTls
- .spec.loki.statusTls.caCert
- .spec.loki.statusTls.userCert
- .spec.loki.tls
- .spec.loki.tls.caCert
- .spec.loki.tls.userCert
- .spec.processor
- .spec.processor.debug
- .spec.processor.kafkaConsumerAutoscaler
- .spec.processor.metrics
- .spec.processor.metrics.server
- .spec.processor.metrics.server.tls
- .spec.processor.metrics.server.tls.provided
- .spec.processor.metrics.server.tls.providedCaFile
- .spec.processor.resources
- FlowCollector API specifications
FlowCollector configuration parameters
FlowCollector is the Schema for the network flows collection API, which pilots and configures the underlying deployments.
FlowCollector API specifications
Description
FlowCollector
is the schema for the network flows collection API, which pilots and configures the underlying deployments.
Type
object
Property | Type | Description |
---|---|---|
|
| APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and might reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| Kind is a string value representing the REST resource this object represents. Servers might infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
| Defines the desired state of the FlowCollector resource. |
.metadata
Description
Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
Type
object
.spec
Description
Defines the desired state of the FlowCollector resource.
*: the mention of “unsupported”, or “deprecated” for a feature throughout this document means that this feature is not officially supported by Red Hat. It might have been, for example, contributed by the community and accepted without a formal agreement for maintenance. The product maintainers might provide some support for these features as a best effort only.
Type
object
Property | Type | Description |
---|---|---|
|
| Agent configuration for flows extraction. |
|
|
|
|
|
|
|
|
|
|
| Kafka configuration, allowing to use Kafka as a broker as part of the flow collection pipeline. Available when the |
|
| Loki, the flow store, client settings. |
|
| Namespace where Network Observability pods are deployed. |
|
|
|
.spec.agent
Description
Agent configuration for flows extraction.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
.spec.agent.ebpf
Description
ebpf
describes the settings related to the eBPF-based flow reporter when spec.agent.type
is set to EBPF
.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
| List of additional features to enable. They are all disabled by default. Enabling additional features might have performance impacts. Possible values are: |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Privileged mode for the eBPF Agent container. In general this setting can be ignored or set to false: in that case, the operator sets granular capabilities (BPF, PERFMON, NET_ADMIN, SYS_RESOURCE) to the container, to enable its correct operation. If for some reason these capabilities cannot be set, such as if an old kernel version not knowing CAP_BPF is in use, then you can turn on this mode for more global privileges. |
|
|
|
|
| Sampling rate of the flow reporter. 100 means one flow on 100 is sent. 0 or 1 means all flows are sampled. |
.spec.agent.ebpf.debug
Description
debug
allows setting some aspects of the internal configuration of the eBPF agent. This section is aimed exclusively for debugging and fine-grained performance optimizations, such as GOGC and GOMAXPROCS env vars. Users setting its values do it at their own risk.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
.spec.agent.ebpf.resources
Description
resources
are the compute resources required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Type
object
Property | Type | Description |
---|---|---|
|
| Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
| Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
.spec.agent.ipfix
Description
ipfix
[deprecated (*)] - describes the settings related to the IPFIX-based flow reporter when spec.agent.type
is set to IPFIX
.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.spec.agent.ipfix.clusterNetworkOperator
Description
clusterNetworkOperator
defines the settings related to the OKD Cluster Network Operator, when available.
Type
object
Property | Type | Description |
---|---|---|
|
| Namespace where the config map is going to be deployed. |
.spec.agent.ipfix.ovnKubernetes
Description
ovnKubernetes
defines the settings of the OVN-Kubernetes CNI, when available. This configuration is used when using OVN’s IPFIX exports, without OKD. When using OKD, refer to the clusterNetworkOperator
property instead.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Namespace where OVN-Kubernetes pods are deployed. |
.spec.consolePlugin
Description
consolePlugin
defines the settings related to the OKD Console plugin, when available.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
| enable the console plugin deployment. spec.Loki.enable must also be true |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.spec.consolePlugin.autoscaler
Description
autoscaler
spec of a horizontal pod autoscaler to set up for the plugin Deployment. Refer to HorizontalPodAutoscaler documentation (autoscaling/v2).
Type
object
.spec.consolePlugin.portNaming
Description
portNaming
defines the configuration of the port-to-service name translation
Type
object
Property | Type | Description |
---|---|---|
|
| Enable the console plugin port-to-service name translation |
|
|
|
.spec.consolePlugin.quickFilters
Description
quickFilters
configures quick filter presets for the Console plugin
Type
array
.spec.consolePlugin.quickFilters[]
Description
QuickFilter
defines preset configuration for Console’s quick filters
Type
object
Required
filter
name
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the filter, that is displayed in the Console |
.spec.consolePlugin.resources
Description
resources
, in terms of compute resources, required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Type
object
Property | Type | Description |
---|---|---|
|
| Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
| Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
.spec.exporters
Description
exporters
define additional optional exporters for custom consumption or storage.
Type
array
.spec.exporters[]
Description
FlowCollectorExporter
defines an additional exporter to send enriched flows to.
Type
object
Required
type
Property | Type | Description |
---|---|---|
|
| IPFIX configuration, such as the IP address and port to send enriched IPFIX flows to. |
|
| Kafka configuration, such as the address and topic, to send enriched flows to. |
|
|
|
.spec.exporters[].ipfix
Description
IPFIX configuration, such as the IP address and port to send enriched IPFIX flows to.
Type
object
Required
targetHost
targetPort
Property | Type | Description |
---|---|---|
|
| Address of the IPFIX external receiver |
|
| Port for the IPFIX external receiver |
|
| Transport protocol ( |
.spec.exporters[].kafka
Description
Kafka configuration, such as the address and topic, to send enriched flows to.
Type
object
Required
address
topic
Property | Type | Description |
---|---|---|
|
| Address of the Kafka server |
|
| SASL authentication configuration. [Unsupported (*)]. |
|
| TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093. |
|
| Kafka topic to use. It must exist. Network Observability does not create it. |
.spec.exporters[].kafka.sasl
Description
SASL authentication configuration. [Unsupported (*)].
Type
object
Property | Type | Description |
---|---|---|
|
| Reference to the secret or config map containing the client ID |
|
| Reference to the secret or config map containing the client secret |
|
| Type of SASL authentication to use, or |
.spec.exporters[].kafka.sasl.clientIDReference
Description
Reference to the secret or config map containing the client ID
Type
object
Property | Type | Description |
---|---|---|
|
| File name within the config map or secret |
|
| Name of the config map or secret containing the file |
|
| Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the file reference: “configmap” or “secret” |
.spec.exporters[].kafka.sasl.clientSecretReference
Description
Reference to the secret or config map containing the client secret
Type
object
Property | Type | Description |
---|---|---|
|
| File name within the config map or secret |
|
| Name of the config map or secret containing the file |
|
| Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the file reference: “configmap” or “secret” |
.spec.exporters[].kafka.tls
Description
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
| Enable TLS |
|
|
|
|
|
|
.spec.exporters[].kafka.tls.caCert
Description
caCert
defines the reference of the certificate for the Certificate Authority
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.exporters[].kafka.tls.userCert
Description
userCert
defines the user certificate reference and is used for mTLS (you can ignore it when using one-way TLS)
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.kafka
Description
Kafka configuration, allowing to use Kafka as a broker as part of the flow collection pipeline. Available when the spec.deploymentModel
is KAFKA
.
Type
object
Required
address
topic
Property | Type | Description |
---|---|---|
|
| Address of the Kafka server |
|
| SASL authentication configuration. [Unsupported (*)]. |
|
| TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093. |
|
| Kafka topic to use. It must exist, Network Observability does not create it. |
.spec.kafka.sasl
Description
SASL authentication configuration. [Unsupported (*)].
Type
object
Property | Type | Description |
---|---|---|
|
| Reference to the secret or config map containing the client ID |
|
| Reference to the secret or config map containing the client secret |
|
| Type of SASL authentication to use, or |
.spec.kafka.sasl.clientIDReference
Description
Reference to the secret or config map containing the client ID
Type
object
Property | Type | Description |
---|---|---|
|
| File name within the config map or secret |
|
| Name of the config map or secret containing the file |
|
| Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the file reference: “configmap” or “secret” |
.spec.kafka.sasl.clientSecretReference
Description
Reference to the secret or config map containing the client secret
Type
object
Property | Type | Description |
---|---|---|
|
| File name within the config map or secret |
|
| Name of the config map or secret containing the file |
|
| Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the file reference: “configmap” or “secret” |
.spec.kafka.tls
Description
TLS client configuration. When using TLS, verify that the address matches the Kafka port used for TLS, generally 9093.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
| Enable TLS |
|
|
|
|
|
|
.spec.kafka.tls.caCert
Description
caCert
defines the reference of the certificate for the Certificate Authority
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.kafka.tls.userCert
Description
userCert
defines the user certificate reference and is used for mTLS (you can ignore it when using one-way TLS)
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.loki
Description
Loki, the flow store, client settings.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
| Set to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| TLS client configuration for Loki status URL. |
|
|
|
|
|
|
|
|
|
|
| TLS client configuration for Loki URL. |
|
|
|
.spec.loki.statusTls
Description
TLS client configuration for Loki status URL.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
| Enable TLS |
|
|
|
|
|
|
.spec.loki.statusTls.caCert
Description
caCert
defines the reference of the certificate for the Certificate Authority
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.loki.statusTls.userCert
Description
userCert
defines the user certificate reference and is used for mTLS (you can ignore it when using one-way TLS)
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.loki.tls
Description
TLS client configuration for Loki URL.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
| Enable TLS |
|
|
|
|
|
|
.spec.loki.tls.caCert
Description
caCert
defines the reference of the certificate for the Certificate Authority
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.loki.tls.userCert
Description
userCert
defines the user certificate reference and is used for mTLS (you can ignore it when using one-way TLS)
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.processor
Description
processor
defines the settings of the component that receives the flows from the agent, enriches them, generates metrics, and forwards them to the Loki persistence layer and/or any available exporter.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Port of the flow collector (host port). By convention, some values are forbidden. It must be greater than 1024 and different from 4500, 4789 and 6081. |
|
|
|
|
|
|
.spec.processor.debug
Description
debug
allows setting some aspects of the internal configuration of the flow processor. This section is aimed exclusively for debugging and fine-grained performance optimizations, such as GOGC and GOMAXPROCS env vars. Users setting its values do it at their own risk.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
.spec.processor.kafkaConsumerAutoscaler
Description
kafkaConsumerAutoscaler
is the spec of a horizontal pod autoscaler to set up for flowlogs-pipeline-transformer
, which consumes Kafka messages. This setting is ignored when Kafka is disabled. Refer to HorizontalPodAutoscaler documentation (autoscaling/v2).
Type
object
.spec.processor.metrics
Description
Metrics
define the processor configuration regarding metrics
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Metrics server endpoint configuration for Prometheus scraper |
.spec.processor.metrics.server
Description
Metrics server endpoint configuration for Prometheus scraper
Type
object
Property | Type | Description |
---|---|---|
|
| The prometheus HTTP port |
|
| TLS configuration. |
.spec.processor.metrics.server.tls
Description
TLS configuration.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
| TLS configuration when |
|
| Reference to the CA file when |
|
| Select the type of TLS configuration: |
.spec.processor.metrics.server.tls.provided
Description
TLS configuration when type
is set to PROVIDED
.
Type
object
Property | Type | Description |
---|---|---|
|
|
|
|
|
|
|
| Name of the config map or secret containing certificates |
|
| Namespace of the config map or secret containing certificates. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the certificate reference: |
.spec.processor.metrics.server.tls.providedCaFile
Description
Reference to the CA file when type
is set to PROVIDED
.
Type
object
Property | Type | Description |
---|---|---|
|
| File name within the config map or secret |
|
| Name of the config map or secret containing the file |
|
| Namespace of the config map or secret containing the file. If omitted, the default is to use the same namespace as where Network Observability is deployed. If the namespace is different, the config map or the secret is copied so that it can be mounted as required. |
|
| Type for the file reference: “configmap” or “secret” |
.spec.processor.resources
Description
resources
are the compute resources required by this container. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Type
object
Property | Type | Description |
---|---|---|
|
| Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
|
| Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |