11.3. Transférer les journaux JSON vers le magasin de journaux Elasticsearch
Pour un magasin de journaux Elasticsearch, si vos entrées de journaux JSON follow different schemas, configurez la ressource personnalisée (CR) ClusterLogForwarder
pour regrouper chaque schéma JSON dans une seule définition de sortie. De cette façon, Elasticsearch utilise un index distinct pour chaque schéma.
Étant donné que le transfert de différents schémas vers le même index peut entraîner des conflits de type et des problèmes de cardinalité, vous devez effectuer cette configuration avant de transférer des données vers le magasin Elasticsearch.
Pour éviter les problèmes de performance liés à un trop grand nombre d'indices, il convient de limiter le nombre de schémas possibles en adoptant des schémas communs.
Procédure
Ajoutez l'extrait suivant à votre fichier YAML
ClusterLogForwarder
CR.outputDefaults: elasticsearch: structuredTypeKey: <log record field> structuredTypeName: <name> pipelines: - inputRefs: - application outputRefs: default parse: json
-
Facultatif : Utilisez
structuredTypeKey
pour spécifier l'un des champs de l'enregistrement du journal, comme décrit dans la rubrique précédente, Configuration des données de journal JSON pour Elasticsearch. Sinon, supprimez cette ligne. Facultatif : Utilisez
structuredTypeName
pour spécifier un<name>
, comme décrit dans la rubrique précédente, Configuration des données de journalisation JSON pour Elasticsearch. Sinon, supprimez cette ligne.ImportantPour analyser les journaux JSON, vous devez définir soit
structuredTypeKey
oustructuredTypeName
, soitstructuredTypeKey
etstructuredTypeName
.-
Pour
inputRefs
, spécifiez les types de journaux à transférer en utilisant ce pipeline, par exempleapplication,
infrastructure
, ouaudit
. -
Ajouter l'élément
parse: json
aux pipelines. Créer l'objet CR :
oc create -f <nom-de-fichier>.yaml
Le Red Hat OpenShift Logging Operator redéploie les pods Fluentd. Cependant, s'ils ne se redéploient pas, supprimez les pods Fluentd pour les forcer à se redéployer.
$ oc delete pod --selector logging-infra=collector
Ressources complémentaires