Command Line Interface
Gremlin Command line interface allows the user to perform commands directly from the host. The impact of the attack will be localized to that host.
Commands
Attacks
The attack
command starts a localized gremlin attack. Please visit attacks for all attacks and parameters.
# Example of a CPU attack
$ gremlin attack cpu -l 60 -c 1
Setting up cpu gremlin with guid 'd626a85b-6303-11e9-bdf9-4029fe350366' for 60 seconds on 1 core
Setup successfully completed
Running cpu gremlin with guid 'd626a85b-6303-11e9-bdf9-4029fe350366' for 60 seconds on 1 core
Attack on cpu_1 completed successfully
Attack-container
The attack-container
command starts an attack against a locally-hosted Docker container. Please visit attacks for all attacks and parameters.
In order to run attack-container
, the container must reside on the host and must be specified.
# Example of a Container attack
$ gremlin attack-container a1a9ee7eb256 -l 60 -c 1
Check
The check
command inspects the state of your Gremlin installation. The currently-supported set of checks is: api
, auth
, docker
, env
, files
, os
, proxy
, tags
, version
.
You may run an individual check by passing it as an argument to the check
command. For example, gremlin check proxy
. If you leave this off (gremlin check
), then all checks will be run.
This output is not sent to Gremlin, but it may be helpful to our support team if we need to triage an issue with installation.
# Example of running "gremlin check os":
$ gremlin check os
os
====================================================
OS Name : Ubuntu
OS Version : 16.04
System Time : 1569450673 (2019-09-25 22:31:13)
NTP Time : 1569450673 (2019-09-25 22:31:13)
Help
The help
command list all of the available commands and displays help.
Init
The init
commands sets up the client configuration. A prompt will appear to request a Team ID
and Team Secret
.
# Registers client to control plane using specified Team ID and Team Secret. Gremlind will restart after completion
$ gremlin init
Please input your Team ID:
9676868b-60d2-5ebe-aa66-b8b3cef23bb9
Please input your Team Secret:
Using 9676868b-60d2-5ebe-aa66-b8b3cef23bb9 for Organization Id
Using 172.31.0.108 for identifier
Please see the table below for optional parameters.
Parameter | Flag | Description |
---|---|---|
Service | -s string | The service the client belongs to. |
Region | -r string | The region the client is in. |
Zone | -z string | The zone the client is in. |
Public IP | -i IP Address | The public IP Address for the client. |
Hostname | -h hostname | The public hostname for the client. |
Tags | -t string | A tag to apply to the cilent for identification and description purposes (see also GREMLINCLIENTTAGS in Advanced Configuration.) |
Logout
The logout
command removes this Gremlin client from the Gremlin Control Plane.
Rollback
The rollback
command interrupts an active attack. It can also revert the last impact.
$ gremlin rollback
Rolling back f1c1e96c-630e-11e9-92d3-ad4cfee292e2
Rollback running in PID 28383, attack running in PID 28155, rollback issuing a kill to attack process, which will roll itself back
Reverted 1 attack
Rollback-container
The rollback-container
command interrupts an active attack against a local Docker container.
Status
The status
command will display the status of any attacks.
# Example of gremlin status
$ gremlin status
ARGS START END GUID
↻ cpu -l 300 -c 1 2019-04-20 01:52:24 f1c1e96c-630e-11e9-92d3-ad4cfee292e2
To display a specific attack use -u
followed by the GUID
.
# Example of status of a specific GUID
$ gremlin status -u 601e52e7-630f-11e9-bdf9-4029fe350366
601e52e7-630f-11e9-bdf9-4029fe350366 - Successful
Start Time End Time
2019-04-20 01:55:29 2019-04-20 02:00:30
Args
cpu -l 300 -c 1
Version
The version
command will state the installed version of Gremlin.
$ gremlin version
gremlin version 2.10.0