Mizu is available to download as an executable binary or as source code directly from its GitHub repository.

Once downloaded, Just run:

Copy to clipboard
mizu tap

And view all of your Kubernetes' API traffic in a local webapp.

The API Traffic Viewer

A New Open Source Project by UP9

We are thrilled to announce the release of Mizu - a simple-yet-powerful API debug and troubleshooting tool for Kubernetes.

Through our efforts to observe API traffic between microservices, we were able to isolate a chunk of our technology and package it as an open source project. We also gave it a name - Mizu.

Viewing API traffic between microservices is essential if you want to understand the root cause of problems found in complex distributed systems.

With webapps, we often use Google Chrome Dev Tool. However, with Kubernetes, you’d need to use network analyzers like tcpdump, Wireshark, or Fiddler to debug and troubleshoot your microservices. Anyone who has used these tools can tell you this process is difficult and time-consuming.

With Mizu, viewing traffic is easy and quick. You can view all of the API calls that are part of the communication between microservices in Kubernetes the same way you would have used Google Chrome Dev Tool to view the traffic of your webapps.

No Installation Necessary: No Code instrumentation and not a proxy

Mizu works by injecting a container that performs a tcpdump-like operation at the node level of a Kubernetes cluster. This operation can be performed on-demand via a CLI that injects the container when run. Alternatively, when ^C is used, it removes the container.

Otherwise, Mizu passively observes traffic at the network level and is not a proxy.

Mizu doesn’t require code instrumentation. It can be used in true on-demand fashion without prior preparation.

Simple-yet-powerful CLI

Mizu uses Kubectl

The CLI is built in Golang, and can be downloaded and run without installation. Mizu uses kubectl, and can therefore run on any node through which kubectl is configured.

Use Regular Expression to Qualify Pods to Observe

While you can simply observe all traffic, you can also qualify specific pods to observe through a regular expression. This allows you to capture traffic from multiple pods as well as pods that don't exist yet. As long as Mizu is operational, pods with names that match the regular expression will be observed, and their traffic logged. This is especially good when pod deployment is dynamic and ever-changing (when pods go up, pods go down).

Additional Features

Mizu introduces many more features that you can read about in the following resources:

Getting Started

Download Mizu by using the latest release from GitHub or compile from the source code located here: https://github.com/up9inc/mizu.

Make sure Mizu is running. To view its help section, run:
Copy to clipboard
mizu -h

Examples

Let us presume I have a running Kubernetes cluster and this is my list of running pods:

Kubectl Output

View Both Ingress and Egress traffic of a Specific Pod: Say I want to view both the ingress and egress traffic of a specific pod named:

catalogue-b87b45784-sxc8q

Here, I’ll use the following command:

Copy to clipboard
mizu tap catalogue-b87b45784-sxc8q

View Traffic of Several Pods:

When I want to observe several pods and view their traffic, I’ll use the following command:

Copy to clipboard
mizu tap "(catalo*|front-end*) -A"

The above command will observe the following pods, since their names match the regular expression:

  • catalogue-6676dc489b-6tx9h
  • catalogue-db-69bd898747-7p8rq
  • front-end-946fd755f-8t6gp

View Traffic of all Pods in a Specific Namespace

To view all pod traffic belonging to the namespace sock-shop, use:
Copy to clipboard
mizu tap ".*" -n sock-shop

View all API traffic

To view all API traffic, enter the following command:

Copy to clipboard
mizu tap ".*" -A

What’s next

As we use Mizu to improve our comprehensive microservice offerings at UP9, we have a full roadmap by which we may accommodate our engineering requirements.

Let us know what else you’d like to see in Mizu, and we’ll make sure to upgrade its roadmap per your valued feedback.