In this tutorial, we’ll walk through installing and starting an instance of Zipkin tracing system on Ubuntu / Debian / CentOS Linux distributions. Zipkin is a distributed tracing system designed to help you gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both the collection and lookup of this data. Its design is based on the Google Dapper paper.

There are three options of running Zipkin tracing system:

  • Using Java (jar file)
  • Running in Docker Container
  • Running from source.

In this guide, we will consider the first two options – Using Java and Docker. So let’s get started.

Install Zipkin distributed tracing system using Docker

The easiest and quickest way of running Zipkin is via Docker.

How to install Docker CE on Ubuntu / Debian / Fedora / Arch / CentOS

Once Docker is installed, spin a Zipkin Docker container.

docker run -d -p 9411:9411 openzipkin/zipkin

Install Zipkin distributed tracing system using Java

This method will use distributed Java jar file to run Zipkin tracing system on Ubuntu / Debian and CentOS system.

Step 1: Install Java

Install Java on Debian / Ubuntu

sudo apt-get  update
sudo apt-get install -y default-jdk jq vim
java -version

Install Java on CentOS 7:

sudo yum -y install epel-release
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel jq vim
sudo alternatives --config java
java -version

Step 2: Install Zipkin on Ubuntu / Debian / CentOS

Once you have Java 8 or higher installed, fetch the latest release of Zipkin as a self-contained executable jar:

curl -sSL | bash -s

To run Zipkin, just execute the command:

$ java -jar zipkin.jar

Sample output:

Zipkin start with java

Step 3: Configure Systemd

Running Zipkin with the java -jar command will not persist system reboots. If your system has support for systemd, you can create service for it.

Move jar file to /opt directory.

sudo mkdir /opt/zipkin
sudo mv zipkin.jar /opt/zipkin
ls /opt/zipkin

1.Start by creating a system group for the user:

sudo groupadd -r zipkin
sudo useradd -r -s /bin/false -g zipkin zipkin
sudo chown -R zipkin:zipkin /opt/zipkin

2. Create Systemd Service

We can now create a systemd service file to manage our application.

sudo vim /etc/systemd/system/zipkin.service

It will have content like below:

# Zipkin System Service
Description=Manage Java service

ExecStart=/usr/bin/java -jar zipkin.jar


Memory limits can be set like this:

ExecStart=/bin/java -Xms128m -Xmx256m -jar zipkin.jar

Where -Xms128m and -Xmx256m are used to set the minimum and maximum memory that the application can use.

3. Inform systemd about the new service addition.

sudo systemctl daemon-reload

4. Once reloaded, start the service

sudo systemctl start zipkin.service

5. To check the status, use:

$ sudo systemctl status zipkin.service
● zipkin.service - Manage Java service
Loaded: loaded (/etc/systemd/system/zipkin.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2019-04-06 06:35:18 UTC; 8s ago
Main PID: 6034 (java)
CGroup: /system.slice/zipkin.service
└─6034 /bin/java -jar zipkin.jar

See screenshot below.

Zipkin check service status

Step 4: Access Zipkin Web UI

Zipkin provides a nice interface for viewing traces based on service, time, and annotations. Browse to http://your_host:9411 to access Zipkin Web UI and find traces!.

Zipkin Access Web Ui

Note: There is no built-in authentication in the UI. Zipkin UI can be secured by running it behind an authenticating proxy like Apache HTTPD, Nginx. Check running Zipkin behind Apache reverse proxy notes.

Step 5: Configure Tracers and Instrumentation

You have installed and Configured Zipkin, the last requirement is the configuration of your Applications for instrumentation. Check the Instrumentation documentation for how to guides. There are other useful topics on Zipkin Docs.

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


Please enter your comment!
Please enter your name here