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 experiments 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 cloud platform that provides Linux or Windows-based hosts. Gremlin has been tested on these platforms:

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

Caveats

Some platforms have limitations or require additional configuration. These caveats are listed below.

Ubuntu

The dependency apt-transport-https must be installed:

bash
1sudo apt install apt-transport-https

Debian

The following dependencies must be installed:

  • apt-transport-https
  • dirmngr (Debian 9)
bash
1sudo apt install apt-transport-https dirmngr

SUSE

The dependency libcap-progs must be installed:

bash
1sudo zypper install libcap-progs

Amazon Linux 2

The dependency iproute-tc must be installed:

bash
1sudo yum install iproute-tc

RHEL 8

The dependency kernel-modules-extra must be installed:

bash
1sudo dnf install kernel-modules-extra

Fedora Atomic

Latency and Packet Loss experiments 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 experiments, 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 experiments 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

Installing Gremlin

Once you've verified compatability, continue to Installing Gremlin to start the installation process.