VictoriaMetrics/app/vmselect/prometheus
Zakhar Bessarab 44b071296d
vmselect: add support of multi-tenant queries (#6346)
### Describe Your Changes

Added an ability to query data across multiple tenants. See:
https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1434

Currently, the following endpoints work with multi-tenancy:
- /prometheus/api/v1/query
- /prometheus/api/v1/query_range
- /prometheus/api/v1/series
- /prometheus/api/v1/labels
- /prometheus/api/v1/label/<label_name>/values
- /prometheus/api/v1/status/active_queries
- /prometheus/api/v1/status/top_queries
- /prometheus/api/v1/status/tsdb
- /prometheus/api/v1/export
- /prometheus/api/v1/export/csv
- /vmui


A note regarding VMUI: endpoints such as `active_queries` and
`top_queries` have been updated to indicate whether query was a
single-tenant or multi-tenant, but UI needs to be updated to display
this info.
cc: @Loori-R 

---------

Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
Signed-off-by: f41gh7 <nik@victoriametrics.com>
Co-authored-by: f41gh7 <nik@victoriametrics.com>
2024-10-01 16:37:18 +02:00
..
expand-with-exprs.qtpl all: replace old https://docs.victoriametrics.com/MetricsQL.html url with the new one - https://docs.victoriametrics.com/metricsql/ 2024-04-18 02:15:33 +02:00
expand-with-exprs.qtpl.go all: replace old https://docs.victoriametrics.com/MetricsQL.html url with the new one - https://docs.victoriametrics.com/metricsql/ 2024-04-18 02:15:33 +02:00
export.qtpl app/vmselect: change export/csv timestamp format for rfc3339 to respect milliseconds (#5853) 2024-02-23 01:16:08 +02:00
export.qtpl.go app/vmselect: change export/csv timestamp format for rfc3339 to respect milliseconds (#5853) 2024-02-23 01:16:08 +02:00
federate.qtpl app/vmselect: do not export NaN values for stale metrics at /federate endpoint 2022-10-01 19:48:21 +03:00
federate.qtpl.go app/vmselect: do not export NaN values for stale metrics at /federate endpoint 2022-10-01 19:48:21 +03:00
federate_test.go app/vmselect/prometheus: go fmt after b39e9257eb 2023-12-07 16:05:01 +02:00
federate_timing_test.go app/vmselect/prometheus: go fmt after b39e9257eb 2023-12-07 16:05:01 +02:00
label_values_response.qtpl lib/querytracer: make it easier to use by passing trace context message to New and NewChild 2022-06-08 21:16:12 +03:00
label_values_response.qtpl.go lib/querytracer: make it easier to use by passing trace context message to New and NewChild 2022-06-08 21:16:12 +03:00
labels_response.qtpl lib/querytracer: make it easier to use by passing trace context message to New and NewChild 2022-06-08 21:16:12 +03:00
labels_response.qtpl.go lib/querytracer: make it easier to use by passing trace context message to New and NewChild 2022-06-08 21:16:12 +03:00
prometheus.go vmselect: add support of multi-tenant queries (#6346) 2024-10-01 16:37:18 +02:00
prometheus_test.go chore: Use http constants to replace numbers (#3846) 2023-02-22 18:59:32 -08:00
query_range_response.qtpl app: consistently use atomic.* types instead of atomic.* functions 2024-02-24 03:06:14 +02:00
query_range_response.qtpl.go app: consistently use atomic.* types instead of atomic.* functions 2024-02-24 03:06:14 +02:00
query_response.qtpl app: consistently use atomic.* types instead of atomic.* functions 2024-02-24 03:06:14 +02:00
query_response.qtpl.go app: consistently use atomic.* types instead of atomic.* functions 2024-02-24 03:06:14 +02:00
series_count_response.qtpl app/vmselect: propagate errors from vmstorage to response to the client if -search.denyPartialResponse command-line flag is set 2020-11-14 13:20:10 +02:00
series_count_response.qtpl.go app/vmselect: propagate errors from vmstorage to response to the client if -search.denyPartialResponse command-line flag is set 2020-11-14 13:20:10 +02:00
series_response.qtpl app/vmselect: properly generate response for /api/v1/series 2022-07-06 12:46:23 +03:00
series_response.qtpl.go app/vmselect: properly generate response for /api/v1/series 2022-07-06 12:46:23 +03:00
tenants_response.qtpl {app/vmstorage,app/vmselect}: add API to get list of existing tenants (#3348) 2022-11-25 10:32:45 -08:00
tenants_response.qtpl.go {app/vmstorage,app/vmselect}: add API to get list of existing tenants (#3348) 2022-11-25 10:32:45 -08:00
tsdb_status_response.qtpl app/vmselect: accept focusLabel query arg at /api/v1/status/tsdb 2022-06-14 18:39:00 +03:00
tsdb_status_response.qtpl.go app/vmselect: accept focusLabel query arg at /api/v1/status/tsdb 2022-06-14 18:39:00 +03:00
util.qtpl all: add initial support for query tracing 2022-06-01 02:31:44 +03:00
util.qtpl.go all: add initial support for query tracing 2022-06-01 02:31:44 +03:00