Aller au contenu principal
Version : 2.6.7

Simuler des défauts de processus

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Ce document explique comment utiliser Chaosd pour simuler des défauts de processus. Ces défauts exploitent l'interface Golang de la commande kill pour reproduire les scénarios où un processus est terminé ou stoppé. Vous pouvez créer des expériences soit en mode ligne de commande, soit en mode service.

Créer des expériences en mode ligne de commande

Avant de créer une expérience, exécutez la commande suivante pour voir les types de défauts de processus pris en charge par Chaosd :

chaosd attack process -h

Le résultat est le suivant :

Process attack related commands

Usage:
chaosd attack process [command]

Available Commands:
kill kill process, default signal 9
stop stop process, this action will stop the process with SIGSTOP

Flags:
-h, --help help for process

Global Flags:
--log-level string the log level of chaosd, the value can be 'debug', 'info', 'warn' and 'error'

Use "chaosd attack process [command] --help" for more information about a command.

Actuellement, Chaosd permet de simuler la terminaison ou l'arrêt d'un processus.

Terminer un processus en mode ligne de commande

Commandes pour terminer un processus

chaosd attack process kill -h

Le résultat est le suivant :

kill process, default signal 9

Usage:
chaosd attack process kill [flags]

Flags:
-h, --help help for kill
-p, --process string The process name or the process ID
-r, --recover-cmd string The command to be run when recovering experiment
-s, --signal int The signal number to send (default 9)

Global Flags:
--log-level string the log level of chaosd. The value can be 'debug', 'info', 'warn' and 'error'
--uid string the experiment ID

Description de la configuration pour terminer un processus

Configuration itemAbbreviationDescriptionValue
processpThe name or the identifier of the process to be injected faultsstring; the default value is "".
recover-cmdrThe command to be run when recovering experimentstring; the default value is "".
signalsThe provided value of the process signalint; the default value is 9. Currently, only SIGKILL, SIGTERM, and SIGSTOP are supported.

Exemple de terminaison d'un processus

chaosd attack process kill -p python

Le résultat est le suivant :

Attack process python successfully, uid: 10e633ac-0a37-41ba-8b4a-cd5ab92099f9
note

Seules les expériences dont le signal est SIGSTOP peuvent être récupérées.

Stopper un processus en mode ligne de commande

Commande pour stopper un processus

chaosd attack process stop -h

Le résultat est le suivant :

stop process, this action will stop the process with SIGSTOP

Usage:
chaosd attack process stop [flags]

Flags:
-h, --help help for stop
-p, --process string The process name or the process ID

Global Flags:
--log-level string the log level of chaosd, the value can be 'debug', 'info', 'warn' and 'error'

Description de la configuration pour stopper un processus

Configuration itemAbbreviationDescriptionValue
processpThe name or the identifier of the process to be stoppedstring; the default value is "".

Exemple pour stopper un processus

chaosd attack process stop -p python

Le résultat est le suivant :

Attack process python successfully, uid: 9cb6b3be-4f5b-4ecb-ae05-51050fcd0010

Créer des expériences en mode service

Pour créer des expériences en mode service, procédez comme suit :

  1. Lancez Chaosd en mode service :

    chaosd server --port 31767
  2. Envoyez une requête HTTP POST au chemin /api/attack/process du service Chaosd :

    curl -X POST 172.16.112.130:31767/api/attack/process -H "Content-Type:application/json" -d '{fault-configuration}'

    Dans cette commande, configurez fault-configuration selon le type de défaut. Pour les paramètres correspondants, reportez-vous aux paramètres et exemples de chaque type de défaut dans les sections suivantes.

note

Lors de l'exécution d'une expérience, notez l'UID de l'expérience. Pour arrêter l'expérience associée à cet UID, envoyez une requête HTTP DELETE au chemin /api/attack/{uid} du service Chaosd.

Simuler des défauts de processus en mode service

Paramètres pour simuler des défauts de processus

ParameterDescriptionValue
processThe name or the identifier of the process to be injected faultsstring; the default value is "".
signalThe provided value of the process signalint; the default value is 9

Exemples pour simuler des défauts de processus en mode service

Terminer un processus
curl -X POST 172.16.112.130:31767/api/attack/process -H "Content-Type:application/json" -d '{"process":"12345","signal":15}'

Le résultat est le suivant :

{"status":200,"message":"attack successfully","uid":"c3c519bf-819a-4a7b-97fb-e3d0814481fa"}
Stopper un processus
curl -X POST 172.16.112.130:31767/api/attack/process -H "Content-Type:application/json" -d '{"process":"12345","signal":19}'

Le résultat est le suivant :

{"status":200,"message":"attack successfully","uid":"a00cca2b-eba7-4716-86b3-3e66f94880f7"}
note

Seules les expériences dont le signal est SIGSTOP peuvent être récupérées.