Tous les produits
Search
Centre de documentation

Elastic Container Instance:Analyze application exceptions by using coredump

Dernière mise à jour :Aug 11, 2026

Un fichier coredump contient l'état de la mémoire d'une application au moment où celle-ci plante ou se termine de manière inattendue. Le système d'exploitation génère ce fichier pour permettre un débogage et une analyse ultérieurs. Cette rubrique explique comment activer la fonctionnalité coredump sur une instance Elastic Container Instance (ECI). Vous pourrez ainsi analyser les fichiers core générés lors des terminaisons inattendues de conteneurs afin d'identifier la cause du problème et de corriger l'application.

Informations contextuelles

Sous Linux, lorsqu'une application se termine brutalement ou plante, le système d'exploitation enregistre l'état de sa mémoire dans un fichier. Ce processus est appelé coredump. L'analyse du fichier core permet ensuite d'identifier l'origine du problème.

La figure suivante illustre les signaux Linux qui déclenchent un coredump. Pour ces signaux, l'action par défaut est Core.

Pour plus d'informations, consultez la page Fichier coredump.

Vue d'ensemble

Par défaut, la fonctionnalité coredump est désactivée sur les instances ECI afin d'éviter une utilisation excessive du disque, susceptible de provoquer des interruptions de service. Activez coredump selon l'une des méthodes suivantes :

  • Méthode 1 : Activer une tâche O&M coredump

    Après avoir activé manuellement coredump, le système crée une tâche O&M. Lorsqu'un conteneur se termine anormalement ou s'arrête, le fichier core généré est automatiquement enregistré dans OSS.

  • Méthode 2 : Personnaliser le chemin d'enregistrement des fichiers core

    Stockez les fichiers core sur un stockage externe en spécifiant un chemin d'enregistrement personnalisé. Une fois ce chemin défini, la fonctionnalité coredump est automatiquement activée. En cas de plantage ou de sortie inattendue du conteneur, le fichier core résultant est sauvegardé à l'emplacement indiqué.

Remarque
  • La méthode 1 est simple à utiliser, mais présente des limitations temporelles et régionales. Elle convient aux opérations de débogage et de diagnostic ponctuelles.

    • La tâche O&M générée est unique. Dès qu'un fichier core est capturé avec succès, la fonctionnalité coredump est automatiquement désactivée. La tâche O&M reste valide pendant 12 heures ; elle expire si elle n'est pas déclenchée durant cette période.

    • Cette méthode n'est pas prise en charge dans les régions suivantes : Chine (Ulanqab), Chine (Heyuan), Chine (Guangzhou), Chine (Nanjing), Philippines (Manille), Corée du Sud (Séoul) et Thaïlande (Bangkok).

  • La méthode 2 nécessite la configuration d'un stockage externe. Si votre application est instable, cette approche garantit la capture des fichiers core. Toutefois, attention : si l'application défaillante redémarre en boucle, un grand nombre de fichiers core risque d'être généré.

Méthode 1 : Activer une tâche O&M coredump

Console

  1. Connectez-vous à la console Elastic Container Instance.

  2. Activez la fonctionnalité coredump pour l'instance ECI.

    1. Cliquez sur l'ID de l'instance cible pour accéder à la page des détails de l'instance.

    2. Accédez à l'onglet O&M, sélectionnez l'onglet Coredump, puis cliquez sur Enable.

      Une fois coredump activé, le système génère une tâche O&M. Tant que coredump n'a pas été déclenché, l'état de la tâche est Pending.

  3. Déclenchez un coredump.

    Connectez-vous à l'instance ECI. Dans le conteneur, exécutez la commande sleep 100 puis appuyez sur Ctrl+\ pour déclencher un coredump. Le fichier core généré est automatiquement enregistré dans OSS.

    # sleep 100
    ^\Quit (core dumped)
  4. Téléchargez le fichier core.

    Lorsque coredump est déclenché et que le fichier core est généré, l'état de la tâche O&M passe à Successful. Cliquez sur Download dans la colonne Result pour télécharger le fichier core.

    Remarque

    Si le téléchargement ne démarre pas, vérifiez les paramètres d'autorisation du site dans votre navigateur.

API

  1. Activez la fonctionnalité coredump pour l'instance ECI.

    Appelez l'opération CreateInstanceOpsTask pour créer une tâche O&M. Spécifiez l'instance ECI cible, définissez le paramètre OpsType sur coredump et le paramètre OpsValue sur enable. Pour plus d'informations, consultez CreateInstanceOpsTask.

    Remarque

    Lorsque vous spécifiez l'instance ECI, assurez-vous que le paramètre CorePattern n'a pas été défini lors de la création de l'instance.

  2. Déclenchez un coredump.

    Connectez-vous à l'instance ECI. Dans le conteneur, exécutez la commande sleep 100 puis appuyez sur Ctrl+\ pour déclencher un coredump. Le fichier core généré est automatiquement enregistré dans OSS.

  3. Téléchargez le fichier core.

    Appelez l'opération DescribeInstanceOpsRecords pour afficher le résultat de la tâche O&M. Dans la réponse, le champ ResultContent contient l'URL du fichier core dans OSS. Accédez à cette URL pour télécharger le fichier core.

Méthode 2 : Personnaliser le chemin d'enregistrement

Les fichiers core sont généralement utilisés pour une analyse hors ligne. Il est donc recommandé de les enregistrer sur un stockage externe plutôt que dans un chemin local au sein du conteneur. Cela évite la perte des fichiers core lorsque le conteneur s'arrête. ECI vous permet de spécifier un chemin d'enregistrement personnalisé pour les fichiers core. Une fois ce chemin configuré, la fonctionnalité coredump est automatiquement activée.

Lorsque vous appelez l'opération CreateContainerGroup pour créer une instance ECI, vous pouvez transmettre le paramètre CorePattern afin de définir le chemin d'enregistrement des fichiers core. Le tableau suivant décrit les paramètres associés. Pour plus d'informations, consultez CreateContainerGroup.

Remarque

Configurez les paramètres de volume en fonction de votre type de volume.

Paramètre

Type

Exemple

Description

CorePattern

String

/data/dump-a/core

Le chemin d'enregistrement des fichiers core. Ce chemin doit se trouver dans un volume monté.

Important

Le chemin ne peut pas commencer par un caractère pipe (|). Cela signifie que vous ne pouvez pas configurer un programme exécutable utilisant coredump.

Volume.N.Name

String

volume1

Le nom du volume.

Volume.N.Type

String

NFSVolume

Le type de volume. Dans cet exemple, NFSVolume est utilisé.

Volume.N.NFSVolume.Path

String

/dump

Le chemin du volume NFS.

Volume.N.NFSVolume.Server

String

143b24****-gfn3.cn-beijing.nas.aliyuncs.com

L'adresse du serveur NFS.

Si vous utilisez Alibaba Cloud File Storage NAS, il s'agit de l'adresse du point de montage du système de fichiers NAS.

Container.N.VolumeMount.N.Name

String

volume1

Le nom du volume à monter. Cette valeur doit correspondre à celle de Volume.N.Name.

Container.N.VolumeMount.N.MountPath

String

/data/dump-a/

Le chemin de montage.

Le contenu du volume remplace tout contenu existant au niveau du chemin de montage dans le conteneur. Assurez-vous que le chemin est correct.

L'exemple suivant montre comment utiliser un système de fichiers Alibaba Cloud File Storage NAS comme stockage externe :

  1. Créez une instance ECI nommée instance A, montez le système de fichiers NAS et définissez le chemin d'enregistrement des fichiers core.

    Appelez l'opération CreateContainerGroup pour créer l'instance A. Définissez les paramètres suivants pour monter le répertoire /dump/ du système de fichiers NAS vers /data/dump-a/ dans le conteneur, et définissez le chemin d'enregistrement des fichiers core sur /data/dump-a/core.

    ContainerGroupName=test-a
    SecurityGroupId=sg-bp1daxpbz9lzpvvc****
    VSwitchId=vsw-bp1gds63lmlm7ib05****
    # Declare a volume
    Volume.1.Name=volume1
    Volume.1.Type=NFSVolume
    Volume.1.NFSVolume.Path=/dump/
    Volume.1.NFSVolume.Server=143b24****-gfn3.cn-beijing.nas.aliyuncs.com
    # Mount the volume to the container
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=volume1
    Container.1.VolumeMount.1.MountPath=/data/dump-a/
    # Set the save path for core files
    CorePattern=/data/dump-a/core
  2. Déclenchez un coredump dans n'importe quel répertoire du conteneur de l'instance A.

    Dans le conteneur, exécutez la commande sleep 100 puis appuyez sur Ctrl+\ pour déclencher un coredump. Le fichier core est enregistré dans /data/dump-a/core au sein du conteneur.

    # ls
    bin  boot  data  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    # cd /data/dump-a/
    # ls
    # sleep 100
    ^\Quit (core dumped)
    # ls
    core.17
  3. Libérez l'instance A.

  4. Montez le même système de fichiers NAS sur une autre instance ECI appelée instance B.

    Appelez l'opération CreateContainerGroup pour créer l'instance B. Transmettez les paramètres suivants pour monter le même répertoire /dump/ du système de fichiers NAS vers le répertoire /data/dump-b/ dans le conteneur.

    ContainerGroupName=test-nas-b
    SecurityGroupId=sg-bp1daxpbz9lzpvvc****
    VSwitchId=vsw-bp1gds63lmlm7ib05****
    # Declare a volume
    Volume.1.Name=volume1
    Volume.1.Type=NFSVolume
    Volume.1.NFSVolume.Path=/dump/
    Volume.1.NFSVolume.Server=143b24****-gfn3.cn-beijing.nas.aliyuncs.com
    # Mount the volume to the container
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=volume1
    Container.1.VolumeMount.1.MountPath=/data/dump-b/
  5. Consultez le fichier core dans le conteneur de l'instance B.

    Vous pouvez visualiser le fichier core dans le répertoire /data/dump-b du conteneur. Étant donné que le fichier core est enregistré sur un stockage externe, il n'est pas perdu après la libération de l'instance A et reste disponible pour analyse.

    # ls
    bin  boot  data  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    # cd /data/dump-b/
    # ls
    core.17

FAQ

Le téléchargement ne démarre pas lorsque je clique sur Download dans la console. Que faire ?

Si le téléchargement ne démarre pas, vérifiez les paramètres d'autorisation du site dans votre navigateur. Par exemple, dans Chrome, suivez ces étapes pour accorder l'autorisation nécessaire :

  1. Cliquez sur l'icône de verrou située à gauche de la barre d'adresse du navigateur Chrome, puis, dans le panneau contextuel, cliquez sur Site settings.

  2. Dans la liste des autorisations du site, recherchez Insecure content et définissez son autorisation sur Allow.