Chapitre 4. Comprendre le sous-système de journalisation pour Red Hat OpenShift
En tant qu'administrateur de cluster, vous pouvez déployer le sous-système de journalisation pour agréger tous les journaux de votre cluster OpenShift Container Platform, tels que les journaux d'audit du système de nœuds, les journaux de conteneurs d'applications et les journaux d'infrastructure. Le sous-système de journalisation regroupe ces journaux provenant de l'ensemble de votre cluster et les stocke dans un magasin de journaux par défaut. Vous pouvez utiliser la console web Kibana pour visualiser les données des journaux.
Le sous-système de journalisation regroupe les types de journaux suivants :
-
application
- Journaux de conteneurs générés par les applications utilisateur exécutées dans le cluster, à l'exception des applications de conteneurs d'infrastructure. -
infrastructure
- Les journaux générés par les composants d'infrastructure fonctionnant dans le cluster et les nœuds OpenShift Container Platform, tels que les journaux. Les composants d'infrastructure sont des pods qui s'exécutent dans les projetsopenshift*
,kube*
, oudefault
. -
audit
- Journaux générés par auditd, le système d'audit des nœuds, qui sont stockés dans le fichier /var/log/audit/audit.log, et les journaux d'audit de l'apiserver Kubernetes et de l'apiserver OpenShift.
Étant donné que le magasin de journaux Elasticsearch interne d'OpenShift Container Platform ne fournit pas de stockage sécurisé pour les journaux d'audit, les journaux d'audit ne sont pas stockés dans l'instance Elasticsearch interne par défaut. Si vous souhaitez envoyer les journaux d'audit au magasin de journaux Elasticsearch interne par défaut, par exemple pour afficher les journaux d'audit dans Kibana, vous devez utiliser l'API Log Forwarding comme décrit dans Transférer les journaux d'audit vers le magasin de journaux.
4.1. Glossaire des termes courants pour la journalisation de la plateforme OpenShift Container Platform
Ce glossaire définit les termes communs utilisés dans le contenu de l'OpenShift Container Platform Logging.
- annotation
- Vous pouvez utiliser des annotations pour attacher des métadonnées aux objets.
- Opérateur de journalisation de cluster (CLO)
- L'opérateur de journalisation du cluster fournit un ensemble d'API permettant de contrôler la collecte et la transmission des journaux d'application, d'infrastructure et d'audit.
- Ressource personnalisée (CR)
-
Un CR est une extension de l'API Kubernetes. Pour configurer OpenShift Container Platform Logging et log forwarding, vous pouvez personnaliser les ressources personnalisées
ClusterLogging
etClusterLogForwarder
. - routeur d'événements
- Le routeur d'événements est un pod qui surveille les événements de OpenShift Container Platform. Il collecte les logs en utilisant OpenShift Container Platform Logging.
- Fluentd
- Fluentd est un collecteur de logs qui réside sur chaque nœud d'OpenShift Container Platform. Il rassemble les logs d'application, d'infrastructure et d'audit et les transmet à différentes sorties.
- collecte des ordures
- La collecte de déchets est le processus de nettoyage des ressources du cluster, telles que les conteneurs et les images terminés qui ne sont pas référencés par les pods en cours d'exécution.
- Elasticsearch
- Elasticsearch est un moteur de recherche et d'analyse distribué. OpenShift Container Platform utilise ELasticsearch comme magasin de logs par défaut pour OpenShift Container Platform Logging.
- Opérateur Elasticsearch
- L'opérateur Elasticsearch est utilisé pour faire fonctionner un cluster Elasticsearch au-dessus d'OpenShift Container Platform. L'opérateur Elasticsearch fournit un libre-service pour les opérations du cluster Elasticsearch et est utilisé par OpenShift Container Platform Logging.
- indexation
- L'indexation est une technique de structure de données utilisée pour localiser et accéder rapidement aux données. L'indexation optimise les performances en minimisant le nombre d'accès au disque requis lors du traitement d'une requête.
- Journalisation JSON
- L'API Log Forwarding d'OpenShift Container Platform permet d'analyser les logs JSON en un objet structuré et de les transmettre à Elasticsearch, géré par OpenShift Container Platform Logging, ou à tout autre système tiers pris en charge par l'API Log Forwarding.
- Kibana
- Kibana est une interface de console basée sur un navigateur pour interroger, découvrir et visualiser vos données Elasticsearch par le biais d'histogrammes, de graphiques linéaires et de graphiques circulaires.
- Serveur API Kubernetes
- Le serveur API Kubernetes valide et configure les données pour les objets API.
- Étiquettes
- Les étiquettes sont des paires clé-valeur que vous pouvez utiliser pour organiser et sélectionner des sous-ensembles d'objets, tels qu'un pod.
- Enregistrement
- Avec OpenShift Container Platform Logging, vous pouvez agréger les logs d'application, d'infrastructure et d'audit à travers votre cluster. Vous pouvez également les stocker dans un magasin de logs par défaut, les transmettre à des systèmes tiers, et interroger et visualiser les logs stockés dans le magasin de logs par défaut.
- collecteur de données
- Un collecteur de journaux recueille les journaux du cluster, les formate et les transmet au magasin de journaux ou à des systèmes tiers.
- magasin de journaux
- Un magasin de logs est utilisé pour stocker les logs agrégés. Vous pouvez utiliser le magasin de logs Elasticsearch par défaut ou transférer les logs vers des magasins de logs externes. Le magasin de journaux par défaut est optimisé et testé pour le stockage à court terme.
- visualiseur de logs
- Le visualiseur de logs est le composant de l'interface utilisateur (IU) que vous pouvez utiliser pour afficher des informations telles que des logs, des graphiques, des diagrammes et d'autres métriques. L'implémentation actuelle est Kibana.
- nœud
- Un nœud est une machine de travail dans le cluster OpenShift Container Platform. Un nœud est soit une machine virtuelle (VM), soit une machine physique.
- Opérateurs
- Les opérateurs sont la méthode privilégiée pour conditionner, déployer et gérer une application Kubernetes dans un cluster OpenShift Container Platform. Un opérateur prend les connaissances opérationnelles humaines et les encode dans un logiciel qui est emballé et partagé avec les clients.
- nacelle
- Un pod est la plus petite unité logique de Kubernetes. Il se compose d'un ou plusieurs conteneurs et s'exécute sur un nœud...
- Contrôle d'accès basé sur les rôles (RBAC)
- Le RBAC est un contrôle de sécurité essentiel pour garantir que les utilisateurs et les charges de travail des clusters n'ont accès qu'aux ressources nécessaires à l'exécution de leur rôle.
- éclats
- Elasticsearch organise les données de log de Fluentd en datastores, ou index, puis subdivise chaque index en plusieurs morceaux appelés shards.
- souillure
- Les taints garantissent que les pods sont planifiés sur les nœuds appropriés. Vous pouvez appliquer un ou plusieurs taints à un nœud.
- tolérance
- Vous pouvez appliquer des tolérances aux modules. Les tolérances permettent à l'ordonnanceur de programmer des pods dont les taches correspondent.
- console web
- Une interface utilisateur (UI) pour gérer OpenShift Container Platform.