diff --git a/docs/sources/tempo/getting-started/docker-example.md b/docs/sources/tempo/getting-started/docker-example.md index 2c6dc5ff18e..8a7df4450e7 100644 --- a/docs/sources/tempo/getting-started/docker-example.md +++ b/docs/sources/tempo/getting-started/docker-example.md @@ -3,8 +3,19 @@ title: Quick start for Tempo menuTitle: Quick start for Tempo description: Use Docker to quickly view traces using K-6 and Tempo weight: 600 +killercoda: + title: Quick start for Tempo + description: Use Docker to quickly view traces using K-6 and Tempo + details: + intro: + foreground: docker-compose-update.sh + backend: + backend: + imageid: ubuntu --- + + # Quick start for Tempo The Tempo repository provides [multiple examples](https://github.com/grafana/tempo/tree/main/example/docker-compose) to help you quickly get started using Tempo and distributed tracing data. @@ -13,26 +24,42 @@ Every example has a `docker-compose.yaml` manifest that includes all of the opti The Tempo examples running with Docker using docker-compose include a version of Tempo and a storage configuration suitable for testing or development. -This quick start guide uses the `local` example running Tempo as a single binary (monolithic). Any data is stored locally in the `tempo-data` folder. -To learn more, read the [local storage example README](https://github.com/grafana/tempo/blob/main/example/docker-compose/local). - -## Alternative: Complete MLTP example -If you would like to use a demo with Tempo, Mimir, Loki, and Grafana, then try the [Introduction to Metrics, Logs, Traces, and Profiling in Grafana](https://github.com/grafana/intro-to-mlt). -`Intro-to-mltp` provides a self-contained environment for learning about Mimir, Loki, Tempo, and Grafana. -The project includes detailed explanations of each component and annotated configurations for a single-instance deployment. -Data from `intro-to-mltp` can also be pushed to Grafana Cloud. + ## Before you begin To follow this guide, you need: - Git -- Docker -- The docker-compose plugin +- [Docker](https://docs.docker.com/compose/install/) +- The Docker Compose plugin (included with Docker Desktop) + +{{< admonition type="tip" >}} +Alternatively, you can try out this example in our interactive learning environment: [Quick start for Tempo](https://killercoda.com/grafana-labs/course/tempo/quick-start). + +It's a fully configured environment with all the dependencies installed. + +Provide feedback, report bugs, and raise issues in the [Grafana Killercoda repository](https://github.com/grafana/killercoda). +{{< /admonition >}} + + + +{{}} +{{< admonition type="tip" >}} +A setup script is running in the background to install the necessary dependencies. This should take no longer than 30 seconds. Your instance will be ready to use once you `Setup complete. You may now begin the tutorial`. +{{< /admonition >}} +{{}} + + + + ## Clone the Tempo repository and start Docker +This quick start guide uses the `local` example running Tempo as a single binary (monolithic). Any data is stored locally in the `tempo-data` folder. +To learn more, read the [local storage example README](https://github.com/grafana/tempo/blob/main/example/docker-compose/local). + 1. Clone the Tempo repository: ```bash git clone https://github.com/grafana/tempo.git @@ -48,7 +75,12 @@ To follow this guide, you need: docker compose up -d ``` -1. Verify that the services are running using `docker compose ps`. You should see something like: +1. Verify that the services are running: + ```bash + docker compose ps + ``` + + You should see something like: ```console docker compose ps NAME COMMAND SERVICE STATUS PORTS @@ -58,16 +90,52 @@ To follow this guide, you need: local-tempo-1 "/tempo -config.file…" tempo running 0.0.0.0:3200->3200/tcp, 0.0.0.0:4317-4318->4317-4318/tcp, 0.0.0.0:9411->9411/tcp, 0.0.0.0:14268->14268/tcp ``` -1. As part of the docker compose manifest, Grafana is now accessible on port 3000. Open a browser to localhost:3000 and sign in to Grafana. + + + + +## Explore the traces in Grafana + +As part of the Docker Compose manifest, Grafana is now accessible on port 3000. +You can use Grafana to explore the traces generated by the k6-tracing service. + +1. Open a browser and navigate to [http://localhost:3000](http://localhost:3000). 1. Once logged in, navigate to the **Explore** page, select the **Tempo** data source and select the **Search** tab. Select **Run query** to list the recent traces stored in Tempo. Select one to view the trace diagram: -

Query example

+ + {{< figure align="center" src="/media/docs/grafana/data-sources/tempo/query-editor/tempo-ds-builder-span-details-v11.png" alt="Use the query builder to explore tracing data in Grafana" >}} + + +1. A couple of minutes after Tempo starts, select the **Service graph** tab for the Tempo data source in the **Explore** page. Select **Run query** to view a service graph, generated by Tempo’s metrics-generator. -1. A couple of minutes after Tempo has started up successfully, select the **Service graph** tab for the Tempo data source in the **Explore** page. Select **Run query** to view a service graph, generated by Tempo’s metrics-generator. -

Service graph sample

+ {{< figure align="center" src="/media/docs/grafana/data-sources/tempo/query-editor/tempo-ds-query-service-graph.png" alt="Service graph sample" >}} 1. To stop the services: - ``` + ```bash docker compose down -v ``` + + + + +## Next steps + +You have successfully set up Tempo and Grafana to explore traces generated by the k6-tracing service. + +### Alternative: Complete MLTP example + +If you would like to use a demo with multiple telemetry signals, then try the [Introduction to Metrics, Logs, Traces, and Profiling in Grafana](https://github.com/grafana/intro-to-mlt). +`Intro-to-mltp` provides a self-contained environment for learning about Mimir, Loki, Tempo, Pyroscope, and Grafana. +The project includes detailed explanations of each component and annotated configurations for a single-instance deployment. +Data from `intro-to-mltp` can also be pushed to Grafana Cloud. + +### Further reading +Here are some resources to help you learn more about Tempo: +* [Instrumenting your application](https://grafana.com/docs/tempo//getting-started/instrumentation/) +* [Setup guides for Tempo](https://grafana.com/docs/tempo//setup/) + + + + +