Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Comment puis-je résoudre les problèmes de configuration liés à l’intégration de Fluent Bit à Container Insights pour Amazon EKS ?
Je souhaite résoudre les problèmes de configuration liés à l’intégration de Fluent Bit à Amazon CloudWatch Container Insights pour Amazon Elastic Kubernetes Service (Amazon EKS).
Brève description
Remarque : il est recommandé d’utiliser Fluent Bit au lieu de Fluentd. Pour en savoir plus, consultez la page Envoyer des journaux à CloudWatch Logs.
Pour permettre à Fluent Bit de fournir des journaux de conteneurs à CloudWatch Logs, vous devez accorder des autorisations Gestion des identités et des accès AWS (AWS IAM) à Fluent Bit. Pour en savoir plus, consultez la page Vérifier les conditions préalables.
Pour utiliser Container Insights avec Fluentbit, configurez un rôle IAM pour le compte de service (IRSA), puis déployez Container Insights dans votre cluster EKS.
Résolution
Configurer Container Insights avec Fluent Bit
Utilisez la politique gérée par AWS CloudWatchAgentServerPolicy pour créer un compte de service cloudwatch-agent et fluent-bit.
Procédez comme suit :
-
Exécutez les commandes suivantes pour configurer les variables d’environnement :
export CLUSTER=clustername export AWS_REGION=awsregion
Remarque : remplacez clustername et awsregion par votre propre nom de cluster et votre région AWS.
-
Exécutez la commande eksctl suivante pour créer un compte de service CloudWatch-agent avec un IRSA :
eksctl create iamserviceaccount \ --name cloudwatch-agent \ --namespace amazon-cloudwatch \ --cluster $CLUSTER \ --attach-policy-arn "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy" \ --approve \ --override-existing-serviceaccounts
-
Exécutez la commande eksctl suivante pour créer le compte de service Fluent Bit avec un IRSA :
eksctl create iamserviceaccount \ --name fluent-bit \ --namespace amazon-cloudwatch \ --cluster $CLUSTER \ --attach-policy-arn "arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy" \ --approve \ --override-existing-serviceaccounts
-
Pour utiliser Quick Start pour déployer Container Insights, exécutez la commande suivante
:ClusterName=<my-cluster-name> RegionName=<my-cluster-region> FluentBitHttpPort='2020' FluentBitReadFromHead='Off' [[ ${FluentBitReadFromHead} = 'On' ]] && FluentBitReadFromTail='Off'|| FluentBitReadFromTail='On' [[ -z ${FluentBitHttpPort} ]] && FluentBitHttpServer='Off' || FluentBitHttpServer='On' curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluent-bit-quickstart-enhanced.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/;s/{{region_name}}/'${RegionName}'/;s/{{http_server_toggle}}/"'${FluentBitHttpServer}'"/;s/{{http_server_port}}/"'${FluentBitHttpPort}'"/;s/{{read_from_head}}/"'${FluentBitReadFromHead}'"/;s/{{read_from_tail}}/"'${FluentBitReadFromTail}'"/' | kubectl apply -f -
Remarque : remplacez my-cluster-name et my-cluster-region par votre propre nom de cluster et votre région. La commande précédente crée une valeur ClusterRole, ClusterRoleBinding, ConfigMap et DaemonSet pour l’agent CloudWatch et Fluent Bit.
-
Exécutez la commande suivante pour vérifier que l’agent CloudWatch et Fluent Bit sont déployés :
kubectl get pods -n amazon-cloudwatch
Une fois le déploiement terminé, l’agent CloudWatch crée le groupe de journaux /aws/containerinsights/Cluster_Name/performance.
Fluent Bit crée les groupes de journaux /aws/containerinsights/Cluster_Name/application, /aws/containerinsights/Cluster_Name/host et /aws/containerinsights/Cluster_Name/dataplane.
Résoudre les problèmes de configuration de Fluent Bit
Les pods Fluent Bit tombent en panne
Pour vérifier la présence de messages d’erreur dans les journaux du module Fluent Bit, procédez comme suit :
-
Exécutez les commandes suivantes pour rechercher des événements liés aux pods Fluent Bit :
kubectl -n amazon-cloudwatch logs -l k8s-app=fluent-bit kubectl -n amazon-cloudwatch describe pod fluent_pod pod_name
-
Vérifiez que la valeur cluster-info est exacte et ne comporte aucune erreur de syntaxe.
-
Vérifiez que toutes les valeurs de nom de cluster et de région sont définies. Pour en savoir plus, consultez la page relative à amazon-cloudwatch-container-insights du site web GitHub.
Fluent Bit n’envoie pas de journaux à CloudWatch
Procédez comme suit pour résoudre les problèmes :
-
Vérifiez que le plug-in de sortie est correctement configuré dans le fichier de configuration Fluent Bit. Pour vérifier s’il existe des erreurs d’expédition de données, exécutez la commande suivante pour afficher les journaux du pod Fluent Bit :
kubectl -n amazon-cloudwatch logs fluent_pod_name
-
Assurez-vous que les pods Fluent Bit disposent des autorisations IAM requises pour créer des groupes de journaux et diffuser des journaux vers CloudWatch. La politique IAM CloudWatchAgentServerPolicy doit être associée au rôle IAM annoté dans le compte de service fluent-bit.
Si vous avez utilisé un IRSA, vous devez attacher le rôle IAM aux nœuds de travail. Pour en savoir plus, consultez la page Comment puis-je corriger les erreurs liées aux IRSA dans Amazon EKS ?
Si aucun journal d’application spécifique ne s’affiche, vérifiez que votre application peut être exécutée. Vérifiez ensuite si l’application peut générer d’autres types de journaux. Si l’application s’exécute et que des journaux sont générés, vérifiez les journaux du pod fluent-bit pour voir si des erreurs spécifiques sont envoyées à CloudWatch.
Les pods Fluent Bit sont bloqués sur le statut CreateContainerConfigError
Exécutez la commande suivante pour obtenir le message d’erreur exact :
kubectl describe pod pod_name -n amazon-cloudwatch
Dans la section Événements de la sortie de la commande, recherchez un message d’erreur tel que le suivant :
Error syncing pod ("fluent-bit-xxxxxxx"), skipping: failed to "StartContainer" with CreateContainerConfigError: "configmap \"fluent-bit-config\" not found"
Si le message d’erreur précédent s’affiche, cela signifie que le ConfigMap pour Fluent Bit (fluent-bit-config) est manquant. Répétez l’étape 4 de la section Configurer Container Insights avec Fluent Bit de cet article.
Informations connexes
Set up the CloudWatch agent to collect cluster metrics
Quick Start with the CloudWatch agent and Fluent Bit
Activate debug logging sur le site Web GitHub

Contenus pertinents
- demandé il y a 2 moislg...
- demandé il y a 2 moislg...
- demandé il y a 2 anslg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 2 mois
- AWS OFFICIELA mis à jour il y a 2 mois
- AWS OFFICIELA mis à jour il y a 2 mois