Comment utiliser un pilote de journal Splunk avec une tâche Amazon ECS dans Fargate ?
Je souhaite utiliser un pilote de journal Splunk avec une tâche Amazon Elastic Container Service (Amazon ECS) dans AWS Fargate
Brève description
Vous pouvez utiliser le pilote de journal (ou « pilote de journalisation ») Splunk de Docker dans Fargate pour envoyer les journaux de vos conteneurs au collecteur de journaux Enterprise Splunk ou à Splunk Cloud.
Résolution
Configuration de votre environnement Splunk Cloud pour recevoir les journaux Fargate
- Utilisez la version Splunk gratuite pour créer un compte Splunk Cloud. Si vous possédez déjà un compte Splunk Cloud, passez à l'étape 2. Pour en savoir plus, voir Essayer Splunk sur le site Web de Splunk.
- Connectez-vous à votre compte Splunk Cloud.
Remarque : après avoir créé un compte, utilisez l'URL, le nom d'utilisateur et le mot de passe de votre cloud Splunk pour vous connecter. - Dans le volet de navigation, choisissez Paramètres.
- Dans la section DONNÉES, choisissez Entrées de données.
- Dans la section Entrées locales, dans la colonne Actions, choisissez Ajouter.
Remarque : vous devez créer un jeton HTTP Event Collector (HEC) pour pouvoir envoyer des données et des événements d'application à un déploiement Splunk via les protocoles HTTP et HTTP sécurisé (HTTPS). - Dans Nom, saisissez le nom de votre jeton, puis choisissez Suivant.
- Parcourez les autres pages de l'assistant de configuration, puis choisissez Soumettre pour créer le jeton HEC.
Remarque : vous pouvez conserver les valeurs par défaut. - Testez le nouveau jeton à l'aide de curl ou de Docker.
Remarque : par défaut, Splunk écoute sur le port 8088 et accepte les événements sur le **chemin **/services/collector.
curl :
Remarque : remplacez splunk-token par le jeton HEC créé précédemment.curl -k https://prd-p-9l79p.splunkcloud.com:8088/services/collector -H "Authorization: Splunk splunk-token" -d '{"event": "Put this message in Splunk"}'
Docker :docker run --publish 80:80 --log-driver=splunk --log-opt splunk-token=splunk token --log-opt splunk-url=https://prd-p-u7z1u.splunkcloud.com:8088 --log-opt splunk-insecureskipverify=true --log-opt splunk-sourcetype=docker-test --log-opt splunk-index=main nginx
Remarque : remplacez splunk-token par le jeton HEC créé précédemment.
Configuration de AWS Secrets Manager pour utiliser le jeton HEC
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la sectionRésoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Pour stocker votre jeton HEC dans Secrets Manager afin que Fargate puisse utiliser votre jeton en toute sécurité, exécutez la commande suivante :
aws secretsmanager create-secret --name splunk-token --secret-string token-value
Remarque : remplacez splunk-token par votre token HEC. Remplacez token-value par la valeur de votre jeton.
Configuration d’un rôle d'exécution de tâche avec l'autorisation d'accéder aux secrets
- Ouvrez la console Gestion des identités et des accès AWS (AWS IAM).
- Dans le volet de navigation, choisissez Rôles.
- Dans la liste des rôles, recherchez et sélectionnez ecsTaskExecutionRole.
- Choisissez Ajouter une politique en ligne.
- Choisissez l'onglet JSON de l'éditeur, puis saisissez la politique suivante :
Remarque : si vous utilisez une clé AWS Key Management Service (AWS KMS) personnalisée pour chiffrer vos secrets, vous devez fournir l'autorisation kms:Decrypt et l’Amazon Resource Name (ARN) de votre clé KMS.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key_id>" ] } ] }
- Choisissez Examiner une politique.
- Dans le champ Nom, saisissez le nom de votre politique.
- Choisissez Créer une politique.
Configuration de la définition de tâche de votre tâche Amazon ECS dans Fargate
- Ouvrez la console Amazon ECS.
- Dans le volet de navigation, dans la section Amazon ECS, choisissez Définitions de tâches.
- Choisissez Créer une définition de tâche.
- Choisissez Fargate, puis Étape suivante.
- Dans la section Configurer les définitions des tâches et des conteneurs, saisissez un nom pour votre définition de tâche dans le champ Nom de définition de tâche.
- Dans le champ Rôle de la tâche, choisissez le rôle que vous avez configuré précédemment.
- Dans la section Taille de la tâche, renseignez les valeurs appropriées pour vos tâches dans les champs Mémoire de tâche (Go) et Processeur de tâche (vCPU).
- Dans la section Définitions de conteneur, choisissez Ajouter un conteneur.
- Choisissez les options adaptées à vos besoins en matière de conteneurs.
- Dans la section LOGGING du menu déroulant, sélectionnez l’option Exporter des journaux vers Splunk.
- Renseignez les options de clé et de valeur suivantes dans Options du journal :
Clé : splunk-url
Valeur : votre point de terminaison Splunk (par exemple : https://prd-p-9l79p.splunkcloud.com:8088/)
**Clé : ** splunk-insecureskipverify
Valeur : True
**Clé : ** splunk-token
valueFrom : l'ARN secret que vous avez créé précédemment - Choisissez Ajouter.
Remarque : pour en savoir plus sur le code et les configurations de Splunk, consultez splunk.go sur le site Web de GitHub et Splunk options sur le site Web de Docker. - Pour créer votre définition de tâche, choisissez Créer.
- Créez un service Amazon ECS ou exécutez une tâche qui utilise la définition de tâche que vous avez créée précédemment.
Examen de vos journaux dans Splunk Cloud
Avant de consulter vos journaux dans Splunk Cloud, vérifiez que votre tâche est en cours d'exécution.
Remarque : comme vous n'avez pas spécifié splunk-index dans la configuration de vos journaux, ceux-ci seront envoyés par défaut à splunk-index dans l'index principal.
- Connectez-vous à votre compte Splunk Cloud.
- Dans le menu de navigation, choisissez Rechercher.
- Saisissez index="main" dans le champ de recherche.
Remarque : vous pouvez suivre les étapes précédentes pour créer une définition de tâche dans Amazon ECS pour un type de lancement Amazon ElasticCompute Cloud (Amazon EC2). Vous pourrez ensuite utiliser le pilote de journal Splunk depuis n'importe laquelle de vos tâches ECS pour envoyer vos journaux au collecteur de journaux Splunk.
Informations connexes

Contenus pertinents
- demandé il y a 3 moislg...
- demandé il y a 3 moislg...
- demandé il y a 10 jourslg...
- AWS OFFICIELA mis à jour il y a 4 ans
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 2 mois
- AWS OFFICIELA mis à jour il y a 16 jours