Skip to content

Commit

Permalink
NETOBSERV-557: add eBPF agent metrics for troubleshooting
Browse files Browse the repository at this point in the history
Signed-off-by: Mohamed Mahmoud <mmahmoud@redhat.com>
  • Loading branch information
msherif1234 committed Feb 26, 2024
1 parent f4d840b commit deb713c
Show file tree
Hide file tree
Showing 16 changed files with 1,004 additions and 14 deletions.
3 changes: 3 additions & 0 deletions apis/flowcollector/v1beta1/flowcollector_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,9 @@ type FlowCollectorEBPF struct {
// - `FlowRTT` [unsupported (*)]: enable flow latency (RTT) calculations in the eBPF agent during TCP handshakes. This feature better works with `sampling` set to 1.<br>
// +optional
Features []AgentFeature `json:"features,omitempty"`
// Metrics server endpoint configuration for Prometheus scraper
// +optional
Server MetricsServerConfig `json:"server,omitempty"`
}

// `FlowCollectorKafka` defines the desired Kafka config of FlowCollector
Expand Down
6 changes: 6 additions & 0 deletions apis/flowcollector/v1beta1/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions apis/flowcollector/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions apis/flowcollector/v1beta2/flowcollector_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,9 @@ type FlowCollectorEBPF struct {
// - `FlowRTT`: enable flow latency (RTT) calculations in the eBPF agent during TCP handshakes. This feature better works with `sampling` set to 1.<br>
// +optional
Features []AgentFeature `json:"features,omitempty"`
// Metrics server endpoint configuration for Prometheus scraper
// +optional
Server MetricsServerConfig `json:"server,omitempty"`
}

// `FlowCollectorKafka` defines the desired Kafka config of FlowCollector
Expand Down
1 change: 1 addition & 0 deletions apis/flowcollector/v1beta2/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

200 changes: 200 additions & 0 deletions bundle/manifests/flows.netobserv.io_flowcollectors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,106 @@ spec:
format: int32
minimum: 0
type: integer
server:
description: Metrics server endpoint configuration for Prometheus
scraper
properties:
port:
default: 9102
description: The prometheus HTTP port
format: int32
maximum: 65535
minimum: 1
type: integer
tls:
description: TLS configuration.
properties:
insecureSkipVerify:
default: false
description: '`insecureSkipVerify` allows skipping
client-side verification of the provided certificate.
If set to `true`, the `providedCaFile` field is
ignored.'
type: boolean
provided:
description: TLS configuration when `type` is set
to `PROVIDED`.
properties:
certFile:
description: '`certFile` defines the path to the
certificate file name within the config map
or secret'
type: string
certKey:
description: '`certKey` defines the path to the
certificate private key file name within the
config map or secret. Omit when the key is not
necessary.'
type: string
name:
description: Name of the config map or secret
containing certificates
type: string
namespace:
default: ""
description: Namespace of the config map or secret
containing certificates. If omitted, the default
is to use the same namespace as where NetObserv
is deployed. If the namespace is different,
the config map or the secret is copied so that
it can be mounted as required.
type: string
type:
description: 'Type for the certificate reference:
`configmap` or `secret`'
enum:
- configmap
- secret
type: string
type: object
providedCaFile:
description: Reference to the CA file when `type`
is set to `PROVIDED`.
properties:
file:
description: File name within the config map or
secret
type: string
name:
description: Name of the config map or secret
containing the file
type: string
namespace:
default: ""
description: Namespace of the config map or secret
containing the file. If omitted, the default
is to use the same namespace as where NetObserv
is deployed. If the namespace is different,
the config map or the secret is copied so that
it can be mounted as required.
type: string
type:
description: 'Type for the file reference: "configmap"
or "secret"'
enum:
- configmap
- secret
type: string
type: object
type:
default: DISABLED
description: Select the type of TLS configuration:<br>
- `DISABLED` (default) to not configure TLS for
the endpoint. - `PROVIDED` to manually provide cert
file and a key file. - `AUTO` to use OpenShift auto
generated certificate using annotations.
enum:
- DISABLED
- PROVIDED
- AUTO
type: string
type: object
type: object
type: object
ipfix:
description: '`ipfix` [deprecated (*)] - describes the settings
Expand Down Expand Up @@ -2956,6 +3056,106 @@ spec:
format: int32
minimum: 0
type: integer
server:
description: Metrics server endpoint configuration for Prometheus
scraper
properties:
port:
default: 9102
description: The prometheus HTTP port
format: int32
maximum: 65535
minimum: 1
type: integer
tls:
description: TLS configuration.
properties:
insecureSkipVerify:
default: false
description: '`insecureSkipVerify` allows skipping
client-side verification of the provided certificate.
If set to `true`, the `providedCaFile` field is
ignored.'
type: boolean
provided:
description: TLS configuration when `type` is set
to `Provided`.
properties:
certFile:
description: '`certFile` defines the path to the
certificate file name within the config map
or secret'
type: string
certKey:
description: '`certKey` defines the path to the
certificate private key file name within the
config map or secret. Omit when the key is not
necessary.'
type: string
name:
description: Name of the config map or secret
containing certificates
type: string
namespace:
default: ""
description: Namespace of the config map or secret
containing certificates. If omitted, the default
is to use the same namespace as where NetObserv
is deployed. If the namespace is different,
the config map or the secret is copied so that
it can be mounted as required.
type: string
type:
description: 'Type for the certificate reference:
`configmap` or `secret`'
enum:
- configmap
- secret
type: string
type: object
providedCaFile:
description: Reference to the CA file when `type`
is set to `Provided`.
properties:
file:
description: File name within the config map or
secret
type: string
name:
description: Name of the config map or secret
containing the file
type: string
namespace:
default: ""
description: Namespace of the config map or secret
containing the file. If omitted, the default
is to use the same namespace as where NetObserv
is deployed. If the namespace is different,
the config map or the secret is copied so that
it can be mounted as required.
type: string
type:
description: 'Type for the file reference: "configmap"
or "secret"'
enum:
- configmap
- secret
type: string
type: object
type:
default: Disabled
description: Select the type of TLS configuration:<br>
- `Disabled` (default) to not configure TLS for
the endpoint. - `Provided` to manually provide cert
file and a key file. - `Auto` to use OpenShift auto
generated certificate using annotations.
enum:
- Disabled
- Provided
- Auto
type: string
type: object
type: object
type: object
ipfix:
description: '`ipfix` [deprecated (*)] - describes the settings
Expand Down

0 comments on commit deb713c

Please sign in to comment.