• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Dépannage d'intégration ECS : Générer un log détaillé

Problème

Lors du dépannage de l'intégration ECS sur hôte, vous pouvez générer un log détaillé pendant quelques minutes pour rechercher et étudier les erreurs. Cela peut être utile pour effectuer votre propre dépannage ou pour fournir des informations au support New Relic.

Le logging détaillé génère beaucoup de données très rapidement. Une fois la génération du log terminée, assurez-vous de définir verbose: 0 pour réduire la consommation d'espace disque.

Vous pouvez automatiser ce processus en utilisant la commande newrelic-infra-ctl . Pour plus d'informations, voir dépannage d'un agent en cours d'exécution.

Solution

La génération d'un fichier log détaillé nécessite la modification de votre fichier de définition de tâche. Pour un exemple de fichier de configuration qui inclut tous les paramètres applicables, voir Paramètres de configuration de l'infrastructure.

Vous disposez de plusieurs options pour implémenter un log détaillé :

Utilisation de la variable d'environnement de définition de tâche

Pour activer le log détaillé en modifiant la variable d'environnement et en effectuant un redémarrage de la tâche :

  1. Modifiez votre définition de tâche. Modifiez la valeur de NRIA_VERBOSE de 0 à :

    • 1 pour un log détaillé toujours actif
    • 2 pour un logging intelligent
    • 3 pour l'envoi à New Relic

    En savoir plus sur ces options.

  2. Enregistrez votre définition de tâche.

  3. Mettez à jour votre service pour utiliser la définition de tâche nouvellement enregistrée.

  4. Si vous avez choisi NRIA_VERBOSE=3 et que vous n'envoyez pas le log directement à New Relic, vous avez deux options pour afficher et télécharger le log :

  5. Rétablir les paramètres par défaut :

    1. Désactivez le logging détaillé en modifiant votre définition de tâche et en définissant NRIA_VERBOSE sur 0.
    2. Enregistrez votre définition de tâche.
    3. Mettez à jour votre service vers la dernière version de votre tâche.
  6. Examinez le fichier de log pour détecter les erreurs.

  7. Si vous devez envoyer votre fichier de log au support New Relic:

    1. Inclure la ligne dans votre fichier de log qui contient la version d'intégration ECS :

      New Relic ECS integration version X.YY.ZZZ
    2. Joignez le fichier de log à votre ticket d'assistance, ainsi que votre définition de tâche .yml déposer.

Récupérer le log via SSH (type de lancement EC2 uniquement)

Pour obtenir le log via SSH :

  1. Modifiez votre définition de tâche. Modifiez la valeur de NRIA_VERBOSE de 0 à :

    • 1 pour un log détaillé toujours actif
    • 2 pour un logging intelligent
    • 3 pour l'envoi à New Relic

    En savoir plus sur ces options.

  2. Connectez-vous en SSH à l'une de vos instances de conteneur.

  3. Recherchez l'ID de conteneur du conteneur d'intégration New Relic, en exécutant la commande docker ps -a. Le nom du conteneur doit être nri-ecs.

  4. Sauvegardez le log du conteneur avec la commande docker logs NRI_ECS_CONTAINER_ID > logs.txt. Laissez la commande s’exécuter pendant environ trois minutes pour générer suffisamment de données de logging.

  5. Continuez avec les instructions de la section Activer le log détaillé .

Transférer le log vers CloudWatch et le télécharger avec awscli

Pour obtenir le log via CloudWatch:

  1. Modifiez votre définition de tâche. Modifiez la valeur de NRIA_VERBOSE de 0 à :

    • 1 pour un log détaillé toujours actif
    • 2 pour un logging intelligent
    • 3 pour l'envoi à New Relic

    En savoir plus sur ces options.

  2. Nous utilisons un CloudWatch log groupe appelé /newrelic-infra/ecs pour transférer le log. Pour voir s'il existe déjà, exécutez :

    bash
    $
    aws logs describe-log-groups --log-group-name-prefix /newrelic-infra/ecs

    Si un groupe log existe avec ce préfixe, vous obtiendrez cette sortie :

    {
    "logGroups": [
    {
    "logGroupName": "/newrelic-infra/ecs",
    "creationTime": 1585828615225,
    "metricFilterCount": 0,
    "arn": "arn:aws:logs:YOUR_REGION:YOUR_AWS_ACCOUNT:log-group:/newrelic-infra/ecs:*",
    "storedBytes": 122539356
    }
    ]
    }

    Étant donné que cette commande correspond aux groupes log avec des préfixes, assurez-vous que le nom du groupe log renvoyé est exactement /newrelic-infra/ecs. Si le groupe log n'existe pas, la sortie sera :

    {
    "logGroups": []
    }
  3. Si le groupe log n'existe pas, créez-le en exécutant :

    bash
    $
    aws logs create-log-group --log-group-name /newrelic-infra/ecs
  4. Modifiez votre définition de tâche. Dans la définition de conteneur pour le conteneur newrelic-infra , ajoutez ce qui suit logConfiguration:

    "logConfiguration": {
    "logDriver": "awslogs",
    "options": {
    "awslogs-group": "/newrelic-infra/ecs",
    "awslogs-region": "AWS_REGION_OF_YOUR_CLUSTER",
    "awslogs-stream-prefix": "verbose"
    }
    }
  5. Enregistrez la nouvelle version de la tâche et mettez à jour votre service.

  6. Ensuite, vous rechercherez le flux log pertinent. Si vous avez plusieurs instances de la tâche en cours d'exécution, elles enverront toutes leur log au même groupe log , mais chacune aura son propre flux log . les noms des flux de logs suivent la structure AWSLOGS_STREAM_PREFIX/TASK_FAMILY_NAME/TASK_ID. Dans ce cas, ce sera verbose/newrelic-infra/TASK_ID.

    Pour obtenir tous les flux log pour un groupe log donné, exécutez cette commande :

    bash
    $
    aws logs describe-log-streams --log-group-name /newrelic-infra/ecs

    Voici un exemple de sortie d’un groupe log avec deux flux :

    {
    "logStreams": [
    {
    "logStreamName": "verbose/newrelic-infra/9dfb28114e40415ebc399ec1e53a21b7",
    "creationTime": 1586166741197,
    "firstEventTimestamp": 1586166742030,
    "lastEventTimestamp": 1586173933472,
    "lastIngestionTime": 1586175101220,
    "uploadSequenceToken": "49599989655680038369205623273330095416487086853777112338",
    "arn": "arn:aws:logs:AWS_REGION_OF_YOUR_CLUSTER:YOUR_AWS_ACCOUNT:log-group:/newrelic-infra/ecs:log-stream:verbose/newrelic-infra/9dfb28114e40415ebc399ec1e53a21b7",
    "storedBytes": 0
    },
    {
    "logStreamName": "verbose/newrelic-infra/f6ce0be416804bc4bfa658da5514eb00",
    "creationTime": 1586166745643,
    "firstEventTimestamp": 1586166746491,
    "lastEventTimestamp": 1586173037927,
    "lastIngestionTime": 1586175100660,
    "uploadSequenceToken": "49605664273821671319096446647846424799651902350804230514",
    "arn": "arn:aws:logs:AWS_REGION_OF_YOUR_CLUSTER:YOUR_AWS_ACCOUNT:log-group:/newrelic-infra/ecs:log-stream:verbose/newrelic-infra/f6ce0be416804bc4bfa658da5514eb00",
    "storedBytes": 0
    }
    ]
    }
  7. Dans la liste précédente des flux de log , identifiez celui avec l'ID de tâche pour lequel vous souhaitez récupérer le log et utilisez logStreamName dans cette commande :

    bash
    $
    aws logs get-log-events --log-group-name /newrelic-infra/ecs --log-stream-name "LOG_STREAM_NAME" --output text > logs.txt
  8. Continuez avec les instructions d’activation du log détaillé .

À partir du conteneur en cours d'exécution

Pour activer le log détaillé en exécutant une commande à partir du conteneur en cours d'exécution :

  1. Connectez-vous en SSH à l'une de vos instances de conteneur.

  2. Recherchez l'ID de conteneur du conteneur d'intégration New Relic en exécutant la commande docker ps -a. Le nom du conteneur doit être nri-ecs.

  3. Activez le log détaillé pendant une période limitée en utilisant newrelic-infra-ctl. Exécutez la commande :

    bash
    $
    docker exec INTEGRATION_CONTAINER_ID /usr/bin/newrelic-infra-ctl

    Pour plus de détails, voir Résoudre les problèmes de l'agent.

  4. Sauvegardez le log du conteneur avec la commande

    bash
    $
    docker logs INTEGRATION_CONTAINER_ID > logs.txt

    Laissez la commande s’exécuter pendant environ trois minutes pour générer suffisamment de données de logging.

  5. Examinez le fichier de log pour détecter les erreurs.

Si vous devez envoyer votre fichier de log au support New Relic:

  1. Inclure la ligne dans votre fichier de log qui contient la version d'intégration ECS :

    New Relic ECS integration version X.YY.ZZZ
  2. Joignez le fichier de log à votre ticket d'assistance, ainsi que votre définition de tâche .yml déposer.

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.