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 Tempo, which provides tracing backend for Grafana. This 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 Grafana explorer, which is exposed at http://localhost:3000/explore.

  2. Choose Tempo as datasource. Then set Query type to`Search`.

  3. Click Run Query. You should see a list of matching spans, such as:

    Tempo traces
    Figure 1. Tempo traces
  4. You can go to the details of each trace by clicking on it. There you will find more detailed information about each span.

    Tempo single 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.