Skip to content

Commit

Permalink
Jaeger tutorial (#4319)
Browse files Browse the repository at this point in the history
* Add jaeger tutorial.

* Last refinements.
  • Loading branch information
fmassot authored Dec 23, 2023
1 parent c99790a commit cfa8131
Show file tree
Hide file tree
Showing 7 changed files with 87 additions and 3 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Distributed search on AWS S3
description: Index log entries on AWS S3 using an EC2 instance and launch a distributed cluster.
tags: [aws, integration]
icon_url: /img/tutorials/aws-logo.png
sidebar_position: 2
sidebar_position: 3
---

In this guide, we will index about 40 million log entries (13 GB decompressed) on AWS S3 using an EC2 instance and launch a three-node distributed search cluster.
Expand Down
2 changes: 1 addition & 1 deletion docs/get-started/tutorials/tutorial-hdfs-logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Index a logging dataset locally
description: Index log entries on a local machine.
tags: [self-hosted, setup]
icon_url: /img/quickwit-icon.svg
sidebar_position: 1
sidebar_position: 2
---

import Tabs from '@theme/Tabs';
Expand Down
84 changes: 84 additions & 0 deletions docs/get-started/tutorials/tutorial-jaeger.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: Tracing with Jaeger
sidebar_position: 1
---

In this quick start guide, we will set up a Quickwit instance and analyze its own traces with Jaeger using Docker Compose.

You only need a minute to get Jaeger working with Quickwit storage backend.

![Jaeger trace view](../../assets/images/jaeger-ui-quickwit-trace-view.png)


## Start Quickwit and Jaeger

Let's use `docker compose` with the following configuration:

```yaml title="docker-compose.yaml"
version: "3"

services:
quickwit:
image: quickwit/quickwit:${QW_VERSION:-0.6.5}
volumes:
- ./qwdata:/quickwit/qwdata
ports:
- 7280:7280
environment:
- QW_ENABLE_OPENTELEMETRY_OTLP_EXPORTER=true
- OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:7281
command: ["run"]

jaeger-query:
image: jaegertracing/jaeger-query:1.52
ports:
- 16686:16686
environment:
- SPAN_STORAGE_TYPE=grpc-plugin
- GRPC_STORAGE_SERVER=quickwit:7281
- GRPC_STORAGE_TLS=false
```
As you can see in the docker compose file, Quickwit is configured to send its own traces `OTEL_EXPORTER_OTLP_ENDPOINT` to itself `http://localhost:7281`.
On the other side, Jaeger is configured to use a gRPC storage server `quickwit:7281`.

Save and run the recipe:

```bash
$ docker compose up
```

You should be able to access Quickwit's UI on `http://localhost:7280/` and Jager's UI on `http://localhost:16686/`.


## Searching and view traces in Jaeger

Quickwit generates many traces, let's take a look at some of them:
- `find_traces`: generated by the "Find traces" Jaeger button.
- `get_operations`: generated by Jaeger when it is fetching the list of operations.
- `get_services`: generated by Jaeger when it is fetching the list of services.
- `ingest-spans`: generated when Quickwit receives spans on the gRPC OTLP API.
- ...

Here are the screenshots of the search and trace view:

![Jaeger search view](../../assets/images/jaeger-ui-quickwit-search-traces.png)
![Jaeger trace view](../../assets/images/jaeger-ui-quickwit-trace-view.png)

## Searching traces with Quickwit UI

You can also use the Quickwit UI at [http://localhost:7280](http://localhost:7280) to search traces.

Here are a couple of query examples:
- `service_name:quickwit AND events.event_attributes.level:INFO`
- `span_duration_millis:>100`
- `resource_attributes.service.version:v0.6.5`
- `service_name:quickwit`

That's it! You can level up with the following tutorials to discover all Quickwit features.

## Next tutorials


- [Send traces using an OTEL collector](/docs/distributed-tracing/send-traces/using-otel-collector.md)
- [Send traces from a python web server](/docs/distributed-tracing/send-traces/using-otel-sdk-python.md)
2 changes: 1 addition & 1 deletion docs/log-management/send-logs/send-docker-logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ sidebar_position: 5

To send docker container logs into Quickwit, you just need to setup an OpenTelemetry Collector with the file logs receiver. In this tutorial, we will use `docker compose` to start the collector and Quickwit.

You only needs a minute to get you Quickwit log UI!
You only need a minute to get your Quickwit log UI!

![Quickwit UI Logs](../../assets/images/screenshot-quickwit-ui-docker-compose-logs.png)

Expand Down

0 comments on commit cfa8131

Please sign in to comment.