In microservices mode, components are deployed in distinct processes.
The below diagram describes how data flows.
flowchart LR
A --->|writes| D -->|writes| I -->|writes| M
G -.->|reads | QF -.->|reads | Q -.->|reads | M
subgraph Minio
M{"Object Storage"}
end
subgraph Agent["Grafana Alloy"]
A("alloy")
end
subgraph Grafana
G("grafana")
end
subgraph Ingester["tempo -target=ingester"]
I("ingester")
end
subgraph Distributor["tempo -target=distributor"]
D("distributor")
end
subgraph Querier["tempo -target=querier"]
Q("querier") -.->|reads| I
end
subgraph QueryFrontend["tempo -target=query-frontend"]
QF("query-frontend")
end
subgraph Compactor["tempo -target=compactor"]
C("compactor")
C -->|writes| M
C -.->|reads | M
end
Install dependencies tools
git clone https://github.com/qclaogui/codelab-monitoring.git && cd "$(basename "$_" .git)"
make install-build-deps
Create a cluster and mapping the ingress port 80 to localhost:8080
make cluster
Deploy manifests
make deploy-microservices-mode-traces
Once all containers are up and running you can search for traces in Grafana.
Navigate to http://localhost:8080/explore and select the search tab.
make delete-microservices-mode-traces