This version is still in development and is not considered stable yet. For the latest stable version, please use StreamX Guides 1.0.0!

How to monitor activity in your local StreamX Mesh

This guide illustrates how to monitor activity in your local StreamX Mesh by using the observability tools included with StreamX on your local instance

Prerequisites

Ensure you have the following before proceeding:

  • Running StreamX Mesh

Verify observability features are enabled. More info here

Logs

In a local environment, StreamX Mesh runs on Docker. Each microservice is a separate Docker container. To view logs, the docker logs command can be used.

  1. Find the service whose logs you want to view:

    docker ps --format "{{.Names}}"
  2. View the logs from the container:

    docker logs -f <name_or_id>

You should see the logs from the given microservice in your terminal.

Tracing

StreamX includes Jaeger tracing, which allows you to see how messages flow through the mesh. This feature can be helpful in verifying if a message is propagated through the services it is expected to be processed by.

  1. Open the Jaeger UI, which is exposed at http://localhost:16686.

  2. Choose the service and click Find Traces. You should see a list of matching spans, such as:

    Jaeger traces
    Figure 1. Jaeger traces
  3. You can go into the details of each trace by clicking on it. There you will find more details information about each span.

    Jaeger trace
    Figure 2. Trace details

Metrics

Metrics in StreamX are presented on a Grafana dashboard.

  1. Open the Grafana UI, which is exposed at http://localhost:3000.

  2. On the Grafana site, go to the dashboards section and look for the StreamX Dashboard.

By default, there are also JVM and Pulsar dashboards that can provide specific metrics.

Working with the StreamX Dashboard

At the top of the dashboard, there are variables to filter the services whose metrics you are interested in. The more services you have in your mesh, the harder it becomes to read the default view of the dashboard. Therefore, it is recommended to start by filtering the results.

The StreamX dashboard consists of the following sections:

  1. Stores(Quasar): Displays information about the status of stores.

  2. Traffic(Quarkus): Provides information about traffic in StreamX services.

Each panel includes a detailed explanation that appears when you hover over the ℹ️ icon next to the panel name.

StreamX dashboard
Figure 3. Example filtered StreamX dashboard

Feel free to explore the rest of the dashboards.

Summary

Congratulations! You are now familiar with the observability tools available on the StreamX local instance.