|
6 | 6 | [id="distr-tracing-tempo-config-query_{context}"]
|
7 | 7 | = Query configuration options
|
8 | 8 |
|
9 |
| -Query is a service that retrieves traces from storage and hosts the user interface to display them. |
| 9 | +Two components of the {TempoShortName}, the querier and query frontend, manage queries. You can configure both of these components. |
10 | 10 |
|
11 |
| -.Parameters used by the {TempoOperator} to define Query |
| 11 | +The querier component finds the requested trace ID in the ingesters or back-end storage. Depending on the set parameters, the querier component can query both the ingesters and pull bloom or indexes from the back end to search blocks in object storage. The querier component exposes an HTTP endpoint at `GET /querier/api/traces/<traceID>`, but it is not expected to be used directly. Queries must be sent to the query frontend. |
| 12 | + |
| 13 | +.Configuration parameters for the querier component |
12 | 14 | [options="header"]
|
13 |
| -[cols="l, a, a, a"] |
14 | 15 | |===
|
15 |
| -|Parameter |Description |Values |Default value |
16 |
| - |
17 |
| -|spec: |
18 |
| - query: |
19 |
| - replicas: |
20 |
| -|Specifies the number of Query replicas to create. |
21 |
| -|Positive integer |
22 |
| -| |
| 16 | +|Parameter |Description |Values |
| 17 | + |
| 18 | +|`nodeSelector` |
| 19 | +|The simple form of the node-selection constraint. |
| 20 | +|type: object |
| 21 | + |
| 22 | +|`replicas` |
| 23 | +|The number of replicas to be created for the component. |
| 24 | +|type: integer; format: int32 |
| 25 | + |
| 26 | +|`tolerations` |
| 27 | +|Component-specific pod tolerations. |
| 28 | +|type: array |
23 | 29 | |===
|
24 | 30 |
|
| 31 | +The query frontend component is responsible for sharding the search space for an incoming query. The query frontend exposes traces via a simple HTTP endpoint: `GET /api/traces/<traceID>`. Internally, the query frontend component splits the `blockID` space into a configurable number of shards and then queues these requests. The querier component connects to the query frontend component via a streaming gRPC connection to process these sharded queries. |
25 | 32 |
|
26 |
| -.Configuration parameters passed to Query |
| 33 | +.Configuration parameters for the query frontend component |
27 | 34 | [options="header"]
|
28 |
| -[cols="l, a, a, a"] |
29 | 35 | |===
|
30 |
| -|Parameter |Description |Values |Default value |
31 |
| - |
32 |
| -|spec: |
33 |
| - query: |
34 |
| - options: {} |
35 |
| -|Configuration options that define the Query service. |
36 |
| -| |
37 |
| -| |
38 |
| - |
39 |
| -|options: |
40 |
| - log-level: |
41 |
| -|Logging level for Query. |
42 |
| -|`debug`, `info`, `warn`, `error`, `fatal`, `panic` |
43 |
| -| |
44 |
| - |
45 |
| -|options: |
46 |
| - query: |
47 |
| - base-path: |
48 |
| -|You can set the base path for all tempo-query HTTP routes to a non-root value: for example, `/tempo` will cause all UI URLs to start with `/tempo`. This can be useful when running `tempo-query` behind a reverse proxy. |
49 |
| -|`/<path>` |
50 |
| -| |
| 36 | +|Parameter |Description |Values |
| 37 | + |
| 38 | +|`component` |
| 39 | +|Configuration of the query frontend component. |
| 40 | +|type: object |
| 41 | + |
| 42 | +|`component.nodeSelector` |
| 43 | +|The simple form of the node selection constraint. |
| 44 | +|type: object |
| 45 | + |
| 46 | +|`component.replicas` |
| 47 | +|The number of replicas to be created for the query frontend component. |
| 48 | +|type: integer; format: int32 |
| 49 | + |
| 50 | +|`component.tolerations` |
| 51 | +|Pod tolerations specific to the query frontend component. |
| 52 | +|type: array |
| 53 | + |
| 54 | +|`jaegerQuery` |
| 55 | +|The options specific to the Jaeger Query component. |
| 56 | +|type: object |
| 57 | + |
| 58 | +|`jaegerQuery.enabled` |
| 59 | +|When `enabled`, creates the Jaeger Query component,`jaegerQuery`. |
| 60 | +|type: boolean |
| 61 | + |
| 62 | +|`jaegerQuery.ingress` |
| 63 | +|The options for the Jaeger Query ingress. |
| 64 | +|type: object |
| 65 | + |
| 66 | +|`jaegerQuery.ingress.annotations` |
| 67 | +|The annotations of the ingress object. |
| 68 | +|type: object |
| 69 | + |
| 70 | +|`jaegerQuery.ingress.host` |
| 71 | +|The hostname of the ingress object. |
| 72 | +|type: string |
| 73 | + |
| 74 | +|`jaegerQuery.ingress.ingressClassName` |
| 75 | +|The name of an IngressClass cluster resource. Defines which ingress controller serves this ingress resource. |
| 76 | +|type: string |
| 77 | + |
| 78 | +|`jaegerQuery.ingress.route` |
| 79 | +|The options for the OpenShift route. |
| 80 | +|type: object |
| 81 | + |
| 82 | +|`jaegerQuery.ingress.route.termination` |
| 83 | +|The termination type. The default is `edge`. |
| 84 | +|type: string (enum: insecure, edge, passthrough, reencrypt) |
| 85 | + |
| 86 | +|`jaegerQuery.ingress.type` |
| 87 | +|The type of ingress for the Jaeger Query UI. The supported types are `ingress`, `route`, and `none`. |
| 88 | +|type: string (enum: ingress, route) |
| 89 | + |
| 90 | +|`jaegerQuery.monitorTab` |
| 91 | +|The monitor tab configuration. |
| 92 | +|type: object |
| 93 | + |
| 94 | +|`jaegerQuery.monitorTab.enabled` |
| 95 | +|Enables the monitor tab in the Jaeger console. The `PrometheusEndpoint` must be configured. |
| 96 | +|type: boolean |
| 97 | + |
| 98 | +|`jaegerQuery.monitorTab.prometheusEndpoint` |
| 99 | +|The endpoint to the Prometheus instance that contains the span rate, error, and duration (RED) metrics. For example, `+https://thanos-querier.openshift-monitoring.svc.cluster.local:9091+`. |
| 100 | +|type: string |
| 101 | + |
51 | 102 | |===
|
52 | 103 |
|
53 |
| -.Sample Query configuration |
| 104 | +.Example configuration of the query frontend component in a `TempoStack` CR |
54 | 105 | [source,yaml]
|
55 | 106 | ----
|
56 |
| -apiVersion: tempotracing.io/v1 |
57 |
| -kind: "Tempo" |
| 107 | +apiVersion: tempo.grafana.com/v1alpha1 |
| 108 | +kind: TempoStack |
58 | 109 | metadata:
|
59 |
| - name: "my-tempo" |
| 110 | + name: simplest |
60 | 111 | spec:
|
61 |
| - strategy: allInOne |
62 |
| - allInOne: |
63 |
| - options: |
64 |
| - log-level: debug |
65 |
| - query: |
66 |
| - base-path: /tempo |
| 112 | + storage: |
| 113 | + secret: |
| 114 | + name: minio |
| 115 | + type: s3 |
| 116 | + storageSize: 200M |
| 117 | + resources: |
| 118 | + total: |
| 119 | + limits: |
| 120 | + memory: 2Gi |
| 121 | + cpu: 2000m |
| 122 | + template: |
| 123 | + queryFrontend: |
| 124 | + jaegerQuery: |
| 125 | + enabled: true |
| 126 | + ingress: |
| 127 | + route: |
| 128 | + termination: edge |
| 129 | + type: route |
67 | 130 | ----
|
0 commit comments