Simuler des défauts de processus
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 item | Abbreviation | Description | Value |
|---|---|---|---|
process | p | The name or the identifier of the process to be injected faults | string; the default value is "". |
recover-cmd | r | The command to be run when recovering experiment | string; the default value is "". |
signal | s | The provided value of the process signal | int; 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
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 item | Abbreviation | Description | Value |
|---|---|---|---|
process | p | The name or the identifier of the process to be stopped | string; 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 :
-
Lancez Chaosd en mode service :
chaosd server --port 31767 -
Envoyez une requête HTTP
POSTau chemin/api/attack/processdu 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-configurationselon 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.
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
| Parameter | Description | Value |
|---|---|---|
process | The name or the identifier of the process to be injected faults | string; the default value is "". |
signal | The provided value of the process signal | int; 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"}
Seules les expériences dont le signal est SIGSTOP peuvent être récupérées.