quickwit-oss / quickwit

Cloud-native search engine for observability. An open-source alternative to Datadog, Elasticsearch, Loki, and Tempo.
https://quickwit.io
Other
8.24k stars 336 forks source link

Add docs to show how to use Grafana Jaeger plugin with Quickwit #5060

Open fmassot opened 5 months ago

liuxuzxx commented 2 months ago

quickwit: v0.8.2

Deployment mode: helm

jaeger-query             ClusterIP   10.218.133.151   <none>        16686/TCP                    57m
quickwit-control-plane   ClusterIP   10.218.137.191   <none>        7280/TCP,7281/TCP            18h
quickwit-headless        ClusterIP   None             <none>        7282/UDP,7280/TCP,7281/TCP   18h
quickwit-indexer         ClusterIP   10.218.145.0     <none>        7280/TCP,7281/TCP            18h
quickwit-janitor         ClusterIP   10.218.141.7     <none>        7280/TCP,7281/TCP            18h
quickwit-metastore       ClusterIP   10.218.145.197   <none>        7280/TCP,7281/TCP            18h
quickwit-searcher        ClusterIP   10.218.149.169   <none>        7280/TCP,7281/TCP            18h

jaeger-query: v1.60.0

Jaeger's official documentation does not give the deployment method of jaeger-query. CRD resources given to Jaeger-operator: Jaeger’s three deployment methods: allInOne, production, streaming.

Therefore, an example of jaeger-query deployment needs to be given.

The following is the yaml of my Deployment for deploying jaeger-query

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jaeger-query
  namespace: quickwit
spec:
  selector:
    matchLabels:
      app: jaeger-query
      env: dev
  template:
    metadata:
      labels:
        app: jaeger-query
        env: dev
    spec:
      containers:
        - env:
            - name: SPAN_STORAGE_TYPE
              value: grpc
            - name: GRPC_STORAGE_SERVER
              value: quickwit-searcher:7281
          image: xwharbor.wxchina.com/cpaas/jaegertracing/jaeger-query:1.60.0
          imagePullPolicy: Always
          name: jaeger-query
          ports:
            - containerPort: 16686
              name: http
              protocol: TCP
          resources:
            limits:
              cpu: '2'
              memory: 500Mi
            requests:
              cpu: 50m
              memory: 100Mi
          volumeMounts:
            - mountPath: /etc/localtime
              name: date-config
      volumes:
        - hostPath:
            path: /etc/localtime
            type: ''
          name: date-config
---
---
apiVersion: v1
kind: Service
metadata:
  name: jaeger-query
  namespace: quickwit
spec:
  ports:
    - name: http
      port: 16686
      protocol: TCP
      targetPort: 16686
  selector:
    app: jaeger-query
    env: dev

If you are using version 1.60.0 of jaeger, you need to modify the environment variables

env:
    - name: SPAN_STORAGE_TYPE
      value: grpc  #not grpc-plugin

When quickwit is deployed in distributed form using helm, the environment variables : GRPC_STORAGE_SERVER

env:
  - name: GRPC_STORAGE_SERVER
    value: quickwit-searcher:7281

The document gives the configuration when deploying in allInOne mode, but does not give how to configure it when helm is deployed, and many services have the 7281 port exposed, making it difficult to tell which one to use.

fmassot commented 2 months ago

Awesome! thanks @liuxuzxx!

let's add this to the documentation.

FYI, you don't need the jaeger-query deployment if you use Grafana and the Jaeger plugin.

liuxuzxx commented 2 months ago

Awesome! thanks @liuxuzxx!

let's add this to the documentation.

FYI, you don't need the jaeger-query deployment if you use Grafana and the Jaeger plugin.

Okay, thank you, I will try use Grafana and the Jaeger plugin

kuzaxak commented 1 month ago

FYI, you don't need the jaeger-query deployment if you use Grafana and the Jaeger plugin.

@fmassot

But in that case you need to have rewrite path proxy in between. As Grafan plugin do not support path prefix.

At least I wasn't able to make it working. With a simple envoy proxy between them everything working fine.