12.2. Filtrage des journaux par contenu
La collecte de tous les journaux à partir d’un cluster peut produire une grande quantité de données, ce qui peut être coûteux pour le transport et le stockage.
Il est possible de réduire le volume de vos données de log en filtrant les données à faible priorité qui n’ont pas besoin d’être stockées. L’enregistrement fournit des filtres de contenu que vous pouvez utiliser pour réduire le volume des données de log.
Les filtres de contenu sont distincts des sélecteurs d’entrée. les sélecteurs d’entrée sélectionnent ou ignorent des flux de journaux entiers basés sur les métadonnées source. Les filtres de contenu modifient les flux de journaux pour supprimer et modifier les enregistrements en fonction du contenu de l’enregistrement.
Le volume des données de log peut être réduit en utilisant l’une des méthodes suivantes:
12.2.1. Configuration des filtres de contenu pour supprimer les enregistrements de journaux indésirables Copier lienLien copié sur presse-papiers!
Lorsque le filtre de chute est configuré, le collecteur de journaux évalue les flux de journaux en fonction des filtres avant le transfert. Le collecteur dépose les enregistrements de journal indésirables qui correspondent à la configuration spécifiée.
Conditions préalables
- L’opérateur de journalisation Red Hat OpenShift a été installé.
- Il y a des autorisations d’administrateur.
- Création d’une ressource personnalisée ClusterLogForwarder (CR).
Procédure
Ajoutez une configuration pour un filtre à la spécification des filtres dans le ClusterLogForwarder CR.
L’exemple suivant montre comment configurer le ClusterLogForwarder CR pour laisser tomber les enregistrements de journaux basés sur des expressions régulières:
Exemple ClusterLogForwarder CR
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indique le type de filtre. Le filtre de chute dépose les enregistrements de journal qui correspondent à la configuration du filtre.
- 2
- Indique les options de configuration pour l’application du filtre de chute.
- 3
- Indique la configuration des tests utilisés pour évaluer si un enregistrement de journal est supprimé.
- Lorsque toutes les conditions spécifiées pour un essai sont vraies, le test passe et l’enregistrement du journal est supprimé.
- Lorsque plusieurs tests sont spécifiés pour la configuration du filtre de chute, si l’un des tests passe, l’enregistrement est supprimé.
- En cas d’erreur d’évaluation d’une condition, par exemple, le champ est absent de l’enregistrement journal en cours d’évaluation, cette condition évalue à false.
- 4
- Indique un chemin de champ délimité par point, qui est un chemin vers un champ dans l’enregistrement de journal. Le chemin peut contenir des caractères alpha-numériques et des accents (a-zA-Z0-9_), par exemple, .kubernetes.namespace_name. Lorsque les segments contiennent des caractères en dehors de cette plage, le segment doit être en guillemets, par exemple, .kubernetes.labels.foo.bar-bar/baz. Il est possible d’inclure plusieurs chemins de champ dans une configuration de test unique, mais ils doivent tous être évalués à true pour que le test passe et que le filtre de chute soit appliqué.
- 5
- Indique une expression régulière. Lorsque les enregistrements de journaux correspondent à cette expression régulière, ils sont supprimés. Il est possible de définir soit les correspondances, soit la condition Matches pour un seul chemin de champ, mais pas les deux.
- 6
- Indique une expression régulière. Lorsque les enregistrements de journaux ne correspondent pas à cette expression régulière, ils sont supprimés. Il est possible de définir soit les correspondances, soit la condition Matches pour un seul chemin de champ, mais pas les deux.
- 7
- Indique le pipeline auquel le filtre de goutte est appliqué.
Appliquez le ClusterLogForwarder CR en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Exemples supplémentaires
L’exemple supplémentaire suivant montre comment vous pouvez configurer le filtre de chute pour ne conserver que des enregistrements de journal de priorité plus élevés:
En plus d’inclure plusieurs chemins de champ dans une configuration de test unique, vous pouvez également inclure des tests supplémentaires qui sont traités comme des vérifications OU. Dans l’exemple suivant, les enregistrements sont supprimés si l’une ou l’autre configuration de test évalue à true. Cependant, pour la deuxième configuration d’essai, les deux spécifications de champ doivent être vraies pour qu’elles soient évaluées à true:
12.2.2. Configuration des filtres de contenu pour pruner des enregistrements de journal Copier lienLien copié sur presse-papiers!
Lorsque le filtre tailleur est configuré, le collecteur de journaux évalue les flux de journaux en fonction des filtres avant le transfert. Le collecteur prune log enregistre en supprimant les champs de faible valeur tels que les annotations de pod.
Conditions préalables
- L’opérateur de journalisation Red Hat OpenShift a été installé.
- Il y a des autorisations d’administrateur.
- Création d’une ressource personnalisée ClusterLogForwarder (CR).
Procédure
Ajoutez une configuration pour un filtre à la spécification de prune dans le ClusterLogForwarder CR.
L’exemple suivant montre comment configurer le ClusterLogForwarder CR pour tailler les enregistrements de journal en fonction des chemins de champ:
ImportantDans le cas où les deux sont spécifiés, les enregistrements sont taillés en fonction du tableau notIn d’abord, ce qui prime sur le tableau dans le tableau. Après que les enregistrements ont été élagués en utilisant le tableau notIn, ils sont ensuite élagués en utilisant le tableau dans le tableau.
Exemple ClusterLogForwarder CR
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le type de filtre. Le filtre prunes enregistre les enregistrements par champs configurés.
- 2
- Spécifiez les options de configuration pour l’application du filtre de pruneaux. Les champs in et notIn sont spécifiés comme des tableaux de chemins de champ délimités par points, qui sont des chemins vers des champs dans les enregistrements de log. Ces chemins peuvent contenir des caractères alpha-numériques et des accents (a-zA-Z0-9_), par exemple, .kubernetes.namespace_name. Lorsque les segments contiennent des caractères en dehors de cette plage, le segment doit être en guillemets, par exemple, .kubernetes.labels.foo.bar-bar/baz.
- 3
- Facultatif : Tous les champs spécifiés dans ce tableau sont supprimés de l’enregistrement de journal.
- 4
- Facultatif : Tous les champs qui ne sont pas spécifiés dans ce tableau sont supprimés de l’enregistrement de journal.
- 5
- Indiquez le pipeline auquel le filtre de prune est appliqué.
Appliquez le ClusterLogForwarder CR en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow