10.2. Transférer les logs JSON des conteneurs d'un même pod vers des index distincts
Vous pouvez transmettre des journaux structurés provenant de différents conteneurs au sein d'un même module à différents index. Pour utiliser cette fonctionnalité, vous devez configurer le pipeline avec la prise en charge de plusieurs conteneurs et annoter les modules. Les journaux sont écrits dans les index avec un préfixe de app-
. Il est recommandé de configurer Elasticsearch avec des alias pour s'adapter à cela.
Le formatage JSON des journaux varie selon les applications. La création d'un trop grand nombre d'index ayant un impact sur les performances, limitez l'utilisation de cette fonctionnalité à la création d'index pour les journaux dont les formats JSON sont incompatibles. Utilisez des requêtes pour séparer les journaux provenant de différents espaces de noms ou d'applications dont les formats JSON sont compatibles.
Conditions préalables
- Sous-système de journalisation pour Red Hat OpenShift : 5.5
Procédure
Créez ou modifiez un fichier YAML qui définit l'objet
ClusterLogForwarder
CR :apiVersion: "logging.openshift.io/v1" kind: ClusterLogForwarder metadata: name: instance namespace: openshift-logging spec: outputDefaults: elasticsearch: enableStructuredContainerLogs: true 1 pipelines: - inputRefs: - application name: application-logs outputRefs: - default parse: json
- 1
- Active les sorties multi-conteneurs.
Créez ou modifiez un fichier YAML qui définit l'objet
Pod
CR :apiVersion: v1 kind: Pod metadata: annotations: containerType.logging.openshift.io/heavy: heavy 1 containerType.logging.openshift.io/low: low spec: containers: - name: heavy 2 image: heavyimage - name: low image: lowimage
Cette configuration peut augmenter de manière significative le nombre de shards sur le cluster.
Ressources complémentaires