How to Install and Use Gremlin on Ubuntu 16.04

How to Install and Use Gremlin on Ubuntu 16.04

Introduction

This tutorial will provide a walkthrough to install Gremlin on Ubuntu 16.04 and then perform a Chaos Engineering experiment using a Gremlin CPU attack.

Prerequisites

Before you begin this tutorial, you’ll need the following:

  • An Ubuntu 16.04 server
  • The apt-transport-https package to be able to install gremlin from our repo via HTTPS.
  • A Gremlin account.

Create your Gremlin Free account

Sign up now. Free forever.
Log in

Step 1 - Installing Gremlin

In this step, you’ll install Gremlin.

First, ssh into your host and add the gremlin repo:

bash
1ssh username@your_server_ip
2
3echo "deb https://deb.gremlin.com/ release non-free" | sudo tee /etc/apt/sources.list.d/gremlin.list

Import the GPG key:

bash
1sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9CDB294B29A5B1E2E00C24C022E8EF3461A50EF6

Then install the Gremlin client and daemon:

bash
1sudo apt-get update && sudo apt-get install -y gremlin gremlind

After you have created your Gremlin account, you will need to find your Gremlin Daemon credentials. Login to the Gremlin App using your Company name and sign-on credentials. These were emailed to you when you signed up to start using Gremlin.

Navigate to Team Settings and click on your Team. Make a note of your Gremlin Secret and Gremlin Team ID.

Then initialize Gremlin and follow the prompts:

1gremlin init

You are now ready to create attacks using the Gremlin App.

Step 3 - Creating attacks using the Gremlin Control Panel

In the Gremlin App, select Create Attack.

Example: The Hello World of Chaos Engineering (a CPU attack)

You can use the Gremlin App or the Gremlin API to trigger Gremlin attacks. You can view the available range of Gremlin Attacks in Gremlin Help.

The Hello World of Chaos Engineering is the CPU Resource Attack. To create a CPU Resource Attack select Resource and then CPU in the dropdown menu.

The CPU Resource Attack will consume CPU resources based on the settings you select. The most popular default settings for a CPU Resource Attack are pre-selected, a default attack will utilize 1 core for 60 seconds. Before you can run the Gremlin attack you will need to click either Exact hosts to run the attack on or click the Random attack option.

Click Exact and select a Gremlin Client in the list.

Your attack will begin to run, you will be able to view its progress via Gremlin Attacks in the Gremlin Control Panel.

On your server, run top to check the impact of the Gremlin Attack:

bash
1top
2
3top - 06:26:47 up 7 days, 7:00, 1 user, load average: 0.28, 0.07, 0.02
4Tasks: 105 total, 1 running, 104 sleeping, 0 stopped, 0 zombie
5%Cpu(s): 79.7 us, 20.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
6KiB Mem : 1016120 total, 127140 free, 93956 used, 795024 buff/cache
7KiB Swap: 0 total, 0 free, 0 used. 712192 avail Mem
8
9 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1023768 gremlin 20 0 13268 11136 3576 S 99.3 1.1 0:14.05 gremlin
1123766 root 20 0 40388 3600 3072 R 0.3 0.4 0:00.03 top
12 1 root 20 0 37760 5760 3940 S 0.0 0.6 0:13.74 systemd
13 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
14 3 root 20 0 0 0 0 S 0.0 0.0 0:01.28 ksoftirqd/0
15 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
16 7 root 20 0 0 0 0 S 0.0 0.0 0:06.14 rcu_sched
17 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
18 9 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
19 10 root rt 0 0 0 0 S 0.0 0.0 0:04.09 watchdog/0

When your attack is complete it will move to Completed Attacks.

Step 4 - Halting a CPU resource attack using the Gremlin Control Panel

You can stop a Gremlin Attack at anytime using the Gremlin Control Panel. Navigate to Gremlin Attacks and click on the Halt button.

Conclusion

You’ve installed Gremlin on a server running Ubuntu 16.04 and validated that Gremlin works by running the Hello World of Chaos Engineering, the CPU Resource attack. Next, we recommend running different types of Gremlin Attacks, including attacks that impact State and Network.

Share your results and swap best practices with 5,000+ engineers practicing Chaos Engineering in the Chaos Engineering Slack.

Slack

Join the Chaos Engineering Slack

Connect with 5,000+ engineers who are building more reliable systems with Chaos Engineering.

Related

Avoid downtime. Use Gremlin to turn failure into resilience.

Gremlin empowers you to proactively root out failure before it causes downtime. See how you can harness chaos to build resilient systems by requesting a demo of Gremlin.

Get started