34.5. Configuration de l'opérateur d'observabilité du réseau
Vous pouvez mettre à jour la ressource API Flow Collector pour configurer le Network Observability Operator et ses composants gérés. Le collecteur de flux est explicitement créé lors de l'installation. Étant donné que cette ressource fonctionne à l'échelle du cluster, un seul FlowCollector
est autorisé et il doit être nommé cluster
.
34.5.1. Voir la ressource FlowCollector Copier lienLien copié sur presse-papiers!
Vous pouvez visualiser et éditer YAML directement dans la console web d'OpenShift Container Platform.
Procédure
-
Dans la console web, naviguez vers Operators
Installed Operators. - Sous la rubrique Provided APIs de la rubrique NetObserv Operatorsélectionnez Flow Collector.
-
Sélectionner cluster puis sélectionnez l'onglet YAML onglet. Là, vous pouvez modifier la ressource
FlowCollector
pour configurer l'opérateur Network Observability.
L'exemple suivant montre un exemple de ressource FlowCollector
pour l'opérateur OpenShift Container Platform Network Observability :
Exemple de ressource FlowCollector
- 1
- La spécification de l'agent,
spec.agent.type
, doit êtreEBPF
. eBPF est la seule option prise en charge par OpenShift Container Platform. - 2
- Vous pouvez définir la spécification d'échantillonnage,
spec.agent.ebpf.sampling
, pour gérer les ressources. Des valeurs d'échantillonnage plus faibles peuvent consommer une grande quantité de ressources de calcul, de mémoire et de stockage. Vous pouvez atténuer ce phénomène en spécifiant une valeur de ratio d'échantillonnage. Une valeur de 100 signifie qu'un flux sur 100 est échantillonné. Une valeur de 0 ou 1 signifie que tous les flux sont capturés. Plus la valeur est faible, plus le nombre de flux renvoyés et la précision des mesures dérivées augmentent. Par défaut, l'échantillonnage eBPF est fixé à une valeur de 50, ce qui signifie qu'un flux est échantillonné tous les 50. Il est à noter qu'un plus grand nombre de flux échantillonnés signifie également un plus grand besoin de stockage. Il est recommandé de commencer par les valeurs par défaut et de les affiner de manière empirique, afin de déterminer les paramètres que votre cluster peut gérer. - 3
- Les spécifications facultatives
spec.processor.logTypes
,spec.processor.conversationHeartbeatInterval
, etspec.processor.conversationEndTimeout
peuvent être définies pour activer le suivi des conversations. Lorsque cette option est activée, les événements de conversation peuvent être consultés dans la console web. Les valeurs pourspec.processor.logTypes
sont les suivantes : ou :FLOWS
CONVERSATIONS
ENDED_CONVERSATIONS
ALL
les exigences en matière de stockage sont les plus élevées pourALL
et les plus faibles pourENDED_CONVERSATIONS
. - 4
- La spécification Loki,
spec.loki
, spécifie le client Loki. Les valeurs par défaut correspondent aux chemins d'installation de Loki mentionnés dans la section Installation de l'opérateur Loki. Si vous avez utilisé une autre méthode d'installation pour Loki, indiquez les informations client appropriées pour votre installation. - 5
- La spécification
spec.quickFilters
définit les filtres qui s'affichent dans la console web. Les clés du filtreApplication
,src_namespace
etdst_namespace
, sont inversées (!
), de sorte que le filtreApplication
affiche tout le trafic provenant ou à destination de l'un des espaces de noms ou does not qui provient de, ou a une destination vers, n'importe quel espace de nomsopenshift-
ounetobserv
. Pour plus d'informations, voir Configuration des filtres rapides ci-dessous.
34.5.2. Configuration de la ressource Flow Collector avec Kafka Copier lienLien copié sur presse-papiers!
Vous pouvez configurer la ressource FlowCollector
pour utiliser Kafka. Une instance Kafka doit être en cours d'exécution, et un sujet Kafka dédié à OpenShift Container Platform Network Observability doit être créé dans cette instance. Pour plus d'informations, reportez-vous à la documentation Kafka, telle que la documentation Kafka avec AMQ Streams.
L'exemple suivant montre comment modifier la ressource FlowCollector
pour l'opérateur OpenShift Container Platform Network Observability afin d'utiliser Kafka :
Exemple de configuration Kafka dans la ressource FlowCollector
- 1
- Définissez
spec.deploymentModel
àKAFKA
au lieu deDIRECT
pour activer le modèle de déploiement Kafka. - 2
spec.kafka.address
fait référence à l'adresse du serveur d'amorçage Kafka. Vous pouvez spécifier un port si nécessaire, par exemplekafka-cluster-kafka-bootstrap.netobserv:9093
pour utiliser TLS sur le port 9093.- 3
spec.kafka.topic
doit correspondre au nom d'un sujet créé dans Kafka.- 4
spec.kafka.tls
peut être utilisé pour chiffrer toutes les communications vers et depuis Kafka avec TLS ou mTLS. Lorsqu'il est activé, le certificat de l'autorité de certification Kafka doit être disponible en tant que ConfigMap ou Secret, à la fois dans l'espace de noms où le composant du processeurflowlogs-pipeline
est déployé (par défaut :netobserv
) et dans celui où les agents eBPF sont déployés (par défaut :netobserv-privileged
). Il doit être référencé avecspec.kafka.tls.caCert
. Lors de l'utilisation de mTLS, les secrets clients doivent également être disponibles dans ces espaces de noms (ils peuvent être générés, par exemple, à l'aide de l'opérateur utilisateur AMQ Streams) et référencés avecspec.kafka.tls.userCert
.
34.5.3. Exporter des données de flux de réseau enrichies Copier lienLien copié sur presse-papiers!
Vous pouvez envoyer des flux réseau à Kafka, afin qu'ils puissent être consommés par n'importe quel processeur ou stockage prenant en charge l'entrée Kafka, comme Splunk, Elasticsearch ou Fluentd.
Conditions préalables
- Kafka installé
Procédure
-
Dans la console web, naviguez vers Operators
Installed Operators. - Sous la rubrique Provided APIs de la rubrique NetObserv Operatorsélectionnez Flow Collector.
- Sélectionnez cluster puis sélectionnez l'onglet YAML l'onglet
Modifiez le site
FlowCollector
pour configurerspec.exporters
comme suit :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- L'opérateur d'observabilité du réseau exporte tous les flux vers le sujet Kafka configuré.
- 2
- Vous pouvez chiffrer toutes les communications vers et depuis Kafka avec SSL/TLS ou mTLS. Lorsqu'il est activé, le certificat de l'autorité de certification Kafka doit être disponible en tant que ConfigMap ou Secret, dans l'espace de noms où le composant du processeur
flowlogs-pipeline
est déployé (par défaut : netobserv). Il doit être référencé avecspec.exporters.tls.caCert
. Lors de l'utilisation de mTLS, les secrets des clients doivent également être disponibles dans ces espaces de noms (ils peuvent être générés, par exemple, à l'aide de l'opérateur utilisateur AMQ Streams) et référencés avecspec.exporters.tls.userCert
.
- Après configuration, les données de flux réseau peuvent être envoyées vers une sortie disponible au format JSON. Pour plus d'informations, voir Network flows format reference
34.5.4. Mise à jour de la ressource Collecteur de flux Copier lienLien copié sur presse-papiers!
Au lieu d'éditer YAML dans la console web d'OpenShift Container Platform, vous pouvez configurer les spécifications, telles que l'échantillonnage eBPF, en corrigeant la ressource personnalisée (CR) flowcollector
:
Procédure
Exécutez la commande suivante pour corriger le CR
flowcollector
et mettre à jour la valeurspec.agent.ebpf.sampling
:oc patch flowcollector cluster --type=json -p \N-[{"op\N" : \N "replace\N", \N "path\N" : \N"/spec/agent/ebpf/sampling\N", \N "value\N" : <nouvelle valeur>}] -n netobserv"
$ oc patch flowcollector cluster --type=json -p \N-[{"op\N" : \N "replace\N", \N "path\N" : \N"/spec/agent/ebpf/sampling\N", \N "value\N" : <nouvelle valeur>}] -n netobserv"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
34.5.5. Configuration des filtres rapides Copier lienLien copié sur presse-papiers!
Vous pouvez modifier les filtres dans la ressource FlowCollector
. Des correspondances exactes sont possibles en utilisant des guillemets doubles autour des valeurs. Sinon, des correspondances partielles sont utilisées pour les valeurs textuelles. Le caractère bang ( !), placé à la fin d'une clé, signifie la négation. Voir l'exemple de ressource FlowCollector
pour plus de détails sur la modification du YAML.
Le filtre correspondant aux types "tous" ou "n'importe lequel" est un paramètre de l'interface utilisateur que les utilisateurs peuvent modifier à partir des options de la requête. Il ne fait pas partie de la configuration de cette ressource.
Voici une liste de toutes les clés de filtrage disponibles :
Universelle* | Source | Destination | Description |
---|---|---|---|
espace de noms |
|
| Filtrer le trafic lié à un espace de noms spécifique. |
nom |
|
| Filtrer le trafic lié à un nom de ressource leaf donné, tel qu'un pod, un service ou un nœud spécifique (pour le trafic hôte-réseau). |
kind |
|
| Filtre le trafic lié à un type de ressource donné. Les types de ressources comprennent la ressource feuille (Pod, Service ou Node) ou la ressource propriétaire (Deployment et StatefulSet). |
nom_du_propriétaire |
|
| Filtrer le trafic lié à un propriétaire de ressource donné, c'est-à-dire une charge de travail ou un ensemble de pods. Par exemple, il peut s'agir d'un nom de déploiement, d'un nom de StatefulSet, etc. |
ressource |
|
|
Filtrer le trafic lié à une ressource spécifique désignée par son nom canonique, qui l'identifie de manière unique. La notation canonique est |
adresse |
|
| Filtre le trafic lié à une adresse IP. Les protocoles IPv4 et IPv6 sont pris en charge. Les plages CIDR sont également prises en charge. |
mac |
|
| Filtrer le trafic lié à une adresse MAC. |
port |
|
| Filtrer le trafic lié à un port spécifique. |
adresse_hôte |
|
| Filtre le trafic lié à l'adresse IP de l'hôte où les pods fonctionnent. |
protocole | N/A | N/A | Filtrer le trafic lié à un protocole, tel que TCP ou UDP. |
-
Les clés universelles filtrent pour n'importe quelle source ou destination. Par exemple, le filtrage de
name: 'my-pod'
signifie tout le trafic en provenance demy-pod
et tout le trafic à destination demy-pod
, quel que soit le type de correspondance utilisé, qu'il s'agisse de Match all ou Match any.