Search documentation
Dashboard
Getting Started

Compatibility

The following matrices show the operability of Gremlin on various platforms. Following the compatibility matrices is a list of caveats for installing Gremlin on specific operating systems. At times Gremlin cannot be installed directly on an operating system due to mitigating factors such as dependency issues. In these instances, the matrix shows whether another means of deployment is available and has been tested, such as Docker. Note that the latest host updates should always be applied to the host before Gremlin is installed.

Linux

You can install Gremlin directly on these Linux distributions.

DistroVersionCPUDiskIOMemoryProcess
Killer
Shut
down
Time
Travel
Black
hole
DNSLatencyPacket
Loss
Ubuntu14.04+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Debian7+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Red Hat6.7+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
CENTOS6.9+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Fedora27+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
SUSE12+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
AWSAL1/2✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️

Containers

Containers like Docker can be used on operating systems where a direct install is problematic.

DistroVersionCPUDiskIOMemoryProcess
Killer
Shut
down
Time
Travel
Black
hole
DNSLatencyPacket
Loss
Docker17.12.1-ce✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Cri-O1.17.1✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Containerd1.2.13✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
FedoraAtomic✔️✔️✔️✔️✔️✔️✔️✔️✔️
Alpine3.7✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Photon1+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
CoreOS1649.0.0+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
FreeBSD10.4+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Kubernetes
(K8s)
1.6+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Flatcar2605.12.0+✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️

Windows

The versions and attacks supported on Microsoft Windows are:

Windows VersionCPUDiskIOMemoryProcess
Killer
Shut
down
Time
Travel
Black
hole
DNSLatencyPacket
Loss
Server 2008 R2 and later✔️✔️✔️✔️✔️✔️✔️
Windows 7 and later✔️✔️✔️✔️✔️✔️✔️

Cloud platforms

Gremlin is designed to work on any Linux-based cloud platform. Here are some of the popular platforms our customers are using.

PlatformVersionCPUDiskIOMemoryProcess
Killer
Shut
down
Time
Travel
Black
hole
DNSLatencyPacket
Loss
GCP✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
AWS✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
Azure✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️

Caveats

The primary focus in these caveats is whether or not Gremlin can operate on the listed host. The following are distribution specific caveats and findings.

Ubuntu

The dependency apt-transport-https must be installed in order to download from repo via HTTPS.

Debian

The following dependencies must be installed:

  • apt-transport-https
  • dirmngr (Debian 9)

SUSE

The following dependencies must be installed:

  • libcap-progs
  • A script is available to take care of these dependencies.

Amazon Linux

The dependency iproute-tc must be installed (AL2).

Fedora Atomic

Latency and Packet Loss attacks do not succeed due to an unavailable dependency:

  • Tc Error: RTNETLINK answers: No such file or directory

Google Container Optimized OS (COS)

When running network attacks, Gremlin recommends using the latest version of COS. Prior versions of COS did not include kernel modules necessary to apply network impacts. For GKE users, the following minimum versions are recommended:

  • 1.15.9-gke.17+
  • 1.16.6-gke.5+

Windows

Azure Windows instances may throttle disk I/O such that large disk attacks will take an excessive amount of time to complete.

Client overhead

The Gremlin Agent that runs on the client requires very little overhead. Here are the needs in a couple of sample use cases.

Note: For information about network bandwidth usage by the Gremlin Agent, refer to Bandwidth usage.

Linux single-task host

The Gremlin Agent has very low performance overhead on a classic, single-task host. Our benchmarks for this type of host are based on an Amazon EC2 t2.micro:

  • vCPUs: 1 vCPUs
  • Memory: 1 GiB
  • Operating System: Ubuntu 16.04 LTS (Debian agent instructions found here)
MetricAgent Idle
CPU< 0.10%
Resident Memory~17 MiB
Storage on disk~35 MiB

Linux Host DIY

May require elevated privileges

MetricSource
CPUtop
Resident Memorypmap <pid>
Storage on diskdu -sh */* \| grep gremlin or during installation

Linux Docker host

The Gremlin Agent has very low performance overhead on a host running Docker, with exact usage depending on the number of Docker containers your machine hosts, and whether those processes are long- or short-lived. Our benchmarks for this type of host are based on an Amazon EC2 t2.micro:

  • vCPUs: 1 vCPUs
  • Memory: 1 GiB
  • Operating system: Ubuntu 16.04 LTS
  • Docker Client Version: 19.03.5-ce
  • Docker Engine Version: 19.03.5-ce
  • Number of containers: 1 container

For this type of Docker host, typical usage is

MetricAgent Idle
CPU< 0.07%
Resident Memory~752 KiB
Container Size~9 KiB
Image Size~616 MiB

Docker DIY

May require elevated privileges

MetricSource
CPUdocker stats
Resident Memorydocker stats
Container Sizedocker system df -v
Image Sizedocker system df -v

Windows single-task host

The Gremlin Agent has very low performance overhead on a classic, single-task host. Our benchmarks for this type of host are based on an Amazon EC2 t2.micro:

  • vCPUs: 1 vCPUs
  • Memory: 1 GiB
  • Operating System: Windows Server 2019 Datacenter (Windows agent instructions found here)
MetricAgent Idle
CPU< 0.10%
Resident Memory~23 MiB
Storage on disk~21 MiB

Windows host DIY

The typeperf commands in the table below output each second. The -si option can be used to average over longer time periods. For example, -si 29:00 averages over 29 minutes.

Multiple typeperf counters can be included; just seperate them with a space.

MetricSource
CPUtypeperf "\Process(gremlind)\% Processor Time"
Resident Memorytypeperf "\Process(gremlind)\Working Set Peak"
Storage on diskdir "C:\Program Files\Gremlin" /s