distributed tracing complete on one VM: an OTLP collector, a trace store and a query interface with the trace data source already wired in, so a span you send is searchable and drawn as a waterfall without any setup.
This product is available in the build below. Open it for the operating system, cloud and version detail, or read its deployment guide.
| Product | Cloud | Operating system | Version | |
|---|---|---|---|---|
| Grafana Tempo 3 Tracing Stack on Ubuntu 24.04 LTS | Azure | Ubuntu 24.04 | 3 | View · Guide |
This is a ready to use distributed tracing appliance. Tracing needs four separate pieces and the trace store is only one of them, so a machine running the store alone cannot actually be used: it has no interface of its own and no way to receive a span. This image is all four, already connected.
An OpenTelemetry collector accepts spans over both OTLP transports, gRPC and HTTP, and forwards them to the trace store, which runs as a single process against local disk and keeps the write ahead log, blocks and its supporting state on the machine itself. The query interface is a full Grafana, and the trace data source is already provisioned, so the first time you sign in you can search with TraceQL, open a result and see the complete waterfall of every span, its parent, its service and its duration. A TLS terminator sits in front as the only service the network can reach.
The image also ships a demo trace generator that sends a realistic multi service request, an end to end self test that pushes a span over each transport and reads it back through the query interface, and a health check, so a new machine has something to look at and can prove itself rather than merely reporting that processes are running.
The two components that matter most here have no authentication of any kind, so an assembled stack usually ends up publishing an unauthenticated read and write path to its own trace data. cloudimg binds both to the loopback interface and puts a single TLS terminator in front, leaving only SSH and HTTPS reachable, with the plain HTTP port doing nothing but redirecting. Spans still reach the machine from anywhere, over TLS and behind a credential generated for that machine alone, and the unauthenticated transport is documented over an SSH tunnel instead of being exposed.
No credential is baked in, and the image ships with no dashboard database at all, so the administrator account, its password hash and even its salt are created on your own machine at first boot rather than shared between every copy of the image. The TLS key pair, the signing secret and the ingest credential are minted there too, and the query interface and the TLS terminator are both held shut by a boot gate so neither can serve a request before those secrets exist. The vendor default login, a blank password and common guesses are all refused.
Every build proves the product rather than the processes: a span is pushed over each transport, stored, and read back by trace identifier through the provisioned data source, with a control query for an identifier that was never sent. The base is fully patched with unattended security upgrades enabled, the four components are pinned to their minor lines so security fixes still flow, and every image is paired with a step by step deploy guide tested against this exact build and backed by 24/7 cloudimg support.