

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Envoi de journaux à Amazon CloudWatch
<a name="container-insights-eks-otel-logs"></a>

OTel Container Insights collecte et envoie les journaux des conteneurs à Amazon CloudWatch Logs en utilisant le pipeline de journaux du OpenTelemetry collecteur. Le module complémentaire Amazon CloudWatch Observability EKS déploie un OpenTelemetry collecteur DaemonSet qui utilise le récepteur de journaux de fichiers pour suivre les fichiers journaux du conteneur, les enrichir avec des métadonnées Kubernetes et les exporter vers des journaux via l'exportateur de journaux. CloudWatch CloudWatch 

Aucune configuration supplémentaire n'est requise pour la collecte de journaux de base. La collecte de journaux est activée par défaut lorsque vous suivez le[Démarrage rapide : OTel Container Insights sur Amazon EKS](container-insights-eks-otel-quickstart.md).

## Conditions préalables
<a name="container-insights-eks-otel-logs-prereqs"></a>

Avant de configurer la collecte des journaux, vérifiez que vous répondez aux exigences suivantes.
+ OTel Container Insights installé et `amazon-cloudwatch-observability` module complémentaire actif sur votre cluster
+ Autorisations IAM : `logs:CreateLogGroup``logs:CreateLogStream`,`logs:PutLogEvents`,`logs:DescribeLogGroups`, et `logs:DescribeLogStreams` (incluses dans la politique `CloudWatchAgentServerPolicy` gérée)
+ Accès au nœud : le collecteur doit avoir accès `/var/log/pods` à chaque nœud

## Groupes de journaux et sources
<a name="container-insights-eks-otel-logs-groups"></a>

Le tableau suivant décrit le groupe de journaux créé par OTel Container Insights et la source à partir de laquelle il collecte des données.


| Groupe de journaux | Source | Table des matières | 
| --- | --- | --- | 
| /aws/containerinsights/{{cluster-name}}/application | /var/log/pods/\*\*/\*.log | Tous les journaux stdout et stderr du conteneur | 

**Note**  
Les journaux de l'hôte et du plan de données seront disponibles dans une future version.

## Comment fonctionne le pipeline de logs OTel
<a name="container-insights-eks-otel-logs-pipeline"></a>

Le OpenTelemetry collecteur du module complémentaire exécute un pipeline de logs avec les composants suivants.
+ **Récepteurs** — Le `filelog` récepteur extrait les fichiers journaux du conteneur depuis`/var/log/pods/`.
+ **Processeurs** : le `k8sattributes` processeur enrichit les journaux avec les métadonnées Kubernetes. Le `batch` processeur traite les enregistrements du journal par lots avant l'exportation. Le `resource` processeur ajoute des attributs de ressources.
+ **Exportateurs** — L'`awscloudwatchlogs`exportateur envoie les enregistrements du journal à CloudWatch Logs.

### Enrichissement du journal
<a name="container-insights-eks-otel-logs-enrichment"></a>

Le pipeline enrichit chaque enregistrement de journal avec les attributs suivants.
+ **Attributs de ressources Kubernetes** —`k8s.pod.name`,,`k8s.namespace.name`, et `k8s.container.name` `k8s.node.name` `k8s.deployment.name`
+ **Étiquettes de capsules** : toutes les étiquettes de capsules sous forme d'`k8s.pod.label.*`attributs
+ **Attributs du cloud** — `cloud.region``cloud.account.id`, et `cloud.platform`
+ **Attributs du cluster** — `k8s.cluster.name`

## Personnalisation de la collecte de journaux
<a name="container-insights-eks-otel-logs-customize"></a>

Vous pouvez personnaliser la collecte des journaux en mettant à jour les valeurs de configuration du module complémentaire. Les sections suivantes décrivent les options de personnalisation courantes.

### Désactiver la collecte de journaux
<a name="container-insights-eks-otel-logs-disable"></a>

Pour désactiver complètement la collecte de journaux, mettez à jour la configuration du module complémentaire en désactivant les journaux de conteneur.

**Pour désactiver la collecte de journaux**
+ Exécutez la commande suivante. {{cluster-name}}Remplacez-le par le nom de votre cluster Amazon EKS.

  ```
  aws eks update-addon \
    --cluster-name {{cluster-name}} \
    --addon-name amazon-cloudwatch-observability \
    --configuration-values '{"containerLogs":{"enabled":false}}' \
    --resolve-conflicts OVERWRITE
  ```

### Configurer la conservation des journaux
<a name="container-insights-eks-otel-logs-retention"></a>

Par défaut, CloudWatch Logs conserve les données du journal indéfiniment. Pour contrôler les coûts de stockage, vous pouvez définir une politique de rétention pour le groupe de journaux.

**Pour configurer la conservation des journaux**
+ Exécutez la commande suivante. {{cluster-name}}Remplacez-le par le nom de votre cluster Amazon EKS. Remplacez {{30}} par le nombre de jours pendant lesquels les journaux sont conservés.

  ```
  aws logs put-retention-policy \
    --log-group-name "/aws/containerinsights/{{cluster-name}}/application" \
    --retention-in-days {{30}}
  ```

## Vérification
<a name="container-insights-eks-otel-logs-verify"></a>

Pour vérifier que la collecte de journaux fonctionne, vérifiez que les groupes de journaux attendus existent et contiennent des données.

**Pour vérifier la collecte des journaux**
+ Exécutez la commande suivante. {{cluster-name}}Remplacez-le par le nom de votre cluster Amazon EKS.

  ```
  aws logs describe-log-groups \
    --log-group-name-prefix "/aws/containerinsights/{{cluster-name}}" \
    --query "logGroups[].{Name:logGroupName,StoredBytes:storedBytes}" \
    --output table
  ```

  La sortie affiche les noms des groupes de journaux et le nombre d'octets stockés. Une valeur différente de zéro pour `StoredBytes` confirme que le pipeline fournit des logs.

## Résolution des problèmes
<a name="container-insights-eks-otel-logs-troubleshoot"></a>

Suivez les instructions suivantes pour résoudre les problèmes courants de collecte de journaux.

### Les groupes de journaux ne sont pas créés après 5 minutes
<a name="container-insights-eks-otel-logs-ts-no-loggroup"></a>

**Symptôme :** le groupe de `/aws/containerinsights/{{cluster-name}}/application` journaux n'apparaît pas dans CloudWatch les journaux après 5 minutes.

**Cause :** Le collecteur ne dispose pas des autorisations IAM requises pour créer des groupes de journaux et des flux de journaux.

**Solution :** Vérifiez que la politique `CloudWatchAgentServerPolicy` gérée est attachée au rôle IAM associé au collecteur. Cette politique inclut les `logs:CreateLogStream` autorisations `logs:CreateLogGroup` et.

### Le groupe de journaux d'applications existe mais est vide
<a name="container-insights-eks-otel-logs-ts-empty"></a>

**Symptôme :** le groupe de journaux d'applications existe dans CloudWatch les journaux, mais il ne contient aucun flux de journal ni aucun événement de journal.

**Cause :** Ce problème se produit lorsque les conteneurs n'écrivent pas sur stdout ou stderr, ou lorsque le récepteur du journal de fichiers ne peut pas accéder au nœud. `/var/log/pods/`

**Solution :** Procédez comme suit pour résoudre ce problème.

1. Vérifiez que les conteneurs de votre application écrivent des journaux sur stdout ou stderr.

1. Vérifiez que le DaemonSet module collecteur est équipé d'un support de volume pour`/var/log/pods`.

   ```
   kubectl get daemonset -n amazon-cloudwatch -o yaml | grep -A 5 "var/log/pods"
   ```

1. Vérifiez les journaux du collecteur pour détecter les erreurs d'accès aux fichiers.

   ```
   kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=50 | grep -i "error\|permission"
   ```

### Coûts de CloudWatch journalisation élevés
<a name="container-insights-eks-otel-logs-ts-costs"></a>

**Symptôme :** CloudWatch les coûts d'ingestion ou de stockage des logs sont plus élevés que prévu.

**Cause :** les High-volume espaces de noms (tels que les tests de charge ou la surveillance des espaces de noms) génèrent de gros volumes de journaux.

**Solution :** définissez une politique de conservation sur le groupe de journaux afin de supprimer automatiquement les anciens journaux. Pour obtenir des instructions, veuillez consulter [Configurer la conservation des journaux](#container-insights-eks-otel-logs-retention).