Configuration des fichiers journaux collectés par l'agent

Lorsque vous déployez ou mettez à niveau l'agent Logging, vous pouvez configurer le fichier logs-values.yaml pour inclure et exclure l'ensemble des journaux à traiter par l'agent. Par défaut, l'agent collecte les journaux de /var/log/containers/*.log et ignore /var/log/at/*.

Après avoir modifié le site logs-values.yaml, vous pouvez mettre à niveau l'agent ou continuer à modifier le fichier avant d'appliquer toutes les modifications.

Configuration de fichiers journaux personnalisés

Les variables supplémentaires suivantes peuvent être fournies pour inclure et exclure l'ensemble des journaux à traiter par l'agent :

  • excludeLogSourcePaths: Liste des fichiers que l'agent est configuré pour ignorer. La valeur par défaut est fixée à ignorer /var/log/at/*
  • selectedLogSourcePaths: Liste des fichiers que l'agent collecte et envoie à IBM Cloud Logs. La valeur par défaut est fixée à /var/log/containers/*.log. Vous pouvez définir plusieurs chemins en utilisant une liste séparée par des virgules, par exemple /var/log/abc/*.log,/var/log/xyz/*.log.

L'entrée dans le fichier logs-values.yaml se présente comme suit :

# comma separated list, for example “/var/log/abc/*.log,/var/log/xyz/*.log”
excludeLogSourcePaths: ""
selectedLogSourcePaths: ""

Configuration des journaux des composants du système

Les journaux des composants du système enregistrent les événements qui se produisent dans le cluster. Il existe deux types de composants système : les composants système qui s'exécutent dans un conteneur et les composants système directement impliqués dans l'exécution des conteneurs. Par exemple, le kubelet et le runtime du conteneur ne s'exécutent pas dans les conteneurs. Le planificateur Kubernetes, le gestionnaire de contrôleur et le serveur API s'exécutent dans des pods. Si votre cluster utilise kube-proxy, vous l'exécutez généralement en tant que DaemonSet.

Utilisez le paramètre systemLogs pour activer le traitement des journaux des composants du système qui se trouvent dans le répertoire /var/log. Les journaux système de /var/log/containers/ sont collectés automatiquement à moins que vous ne les excluiez dans la section excludeLogSourcePaths.

L'entrée dans le fichier logs-values.yaml se présente comme suit :

systemLogs:
  - /var/log/kube-apiserver.log. # Logs generated by the API server.
  - /var/log/kube-scheduler.log # Logs generated by the scheduler. This component is responsible for making scheduling decisions.
  - /var/log/kube-controller-manager.log # Logs generated by the Kube controller manager that runs most Kubernetes built-in controllers.
  - /var/log/kube-proxy.log  # Logs generated by the kube-proxy. This component is responsible for directing traffic to Service endpoints.
  - /var/log/kubelet.log  # Logs generated by the kubelet. This component is responsible for running containers on the node.
  - /var/log/syslog

Par défaut, l'analyseur kube_syslog est utilisé.

Certains des clusters classiques Kubernetes peuvent nécessiter que systemLogsParser soit défini à kube_syslog_classic afin de correspondre au format d'horodatage de ces systèmes. Vous pouvez utiliser l'option systemLogsParser afin d'envisager un analyseur différent. L'entrée dans le fichier logs-values.yaml se présente comme suit :

systemLogsParser: "kube_syslog_classic"
systemLogs:
  - /var/log/syslog