Comments (3)
Mimir Ruler should be able to support multi-tenant request just like it does for the metrics.
How exactly should Mimir Ruler endpoint for listing rules work when it finds multiple tenants in
X-Scope-OrgID
header? List rule groups from all tenants? Then we run into possibility of conflicting namespaces. Shall endpoint create logical hiearchy with tenant in the top-level? Then view would be different between single-tenant and multi-tenant and all clients would need to understand both.What about endpoint for setting rule group, or deleting namespace? Should the modification be applied to the first tenant? All tenants?
These questions need to be answered before we can add support for multi tenancy into Ruler API.
I see. Then maybe it will make sense to include the challenges you described above in the documentation so it's clear to everyone.
It's mentioned in the official documentation
Grafana Mimir is a multi-tenant system where tenants can query metrics and alerts that include their tenant ID. The query takes the tenant ID from the X-Scope-OrgID parameter that exists in the HTTP header of each request, for example X-Scope-OrgID: . You can federate queries across multiple tenants by using true in -tenant-federation.enabled=true. When you specify tenant IDs, separate them with a pipe (|) character in the X-Scope-OrgID header, as in the example X-Scope-OrgID: tenant-1|tenant-2|tenant-3.
Source: https://grafana.com/docs/mimir/latest/manage/secure/authentication-and-authorization/
It's easy for people to assume that all components in the Grafana Mimir system support multi-tenancy until they realize that's not the case during implémentation.
Once it's made cleared, maybe the community will be able to offer some creative solutions.
I start the issue with "it's frustrating..." because it's part of the template provided. While it's actually frustrating, I do appreciate the work being done at Grafana Lab and there's no offense.
Hopefully there will be solutions or easier alternatives to this problem soon.
from mimir.
Mimir Ruler should be able to support multi-tenant request just like it does for the metrics.
How exactly should Mimir Ruler endpoint for listing rules work when it finds multiple tenants in X-Scope-OrgID
header? List rule groups from all tenants? Then we run into possibility of conflicting namespaces. Shall endpoint create logical hiearchy with tenant in the top-level? Then view would be different between single-tenant and multi-tenant and all clients would need to understand both.
What about endpoint for setting rule group, or deleting namespace? Should the modification be applied to the first tenant? All tenants?
These questions need to be answered before we can add support for multi tenancy into Ruler API.
from mimir.
Related Issues (20)
- [ingester] Ingester service state and lifecycler ring state not synchronized HOT 4
- Compactor fails to upload indexes larger than 1G to swift object storage
- Scrape commit failed" err="write to WAL: log samples: write data/wal/XXXXXXXX: no space left on device HOT 1
- Helm: Missing fields in Topology Spread Constraints HOT 2
- Ruler Pods OOM/spike in memory observed with warning log closing ingester client stream failed
- store-gateway: add timeout to index-header loading
- Mimir returns HTTP status 422 in cases where 5xx makes more sense
- Docs: Update references to mmap in store-gateway architecture
- Query with aggregation return incorrect num of points HOT 1
- [mimir-distributed] Add additionalRuleLabels to PrometheusRule alerts HOT 1
- Request per Second Metric Does Not Sync with Total Request Count in Mimir Visualization
- mimirtool backfill: failed uploading block HOT 25
- store-gateway: store sparse index headers in object store HOT 2
- helm: Stateful components emptyDir inMemory option HOT 6
- Make the 'for' period configurable for MimirInconsistentRuntimeConfig alert HOT 1
- Receiving failed to enqueue request 500s HOT 2
- otlp: Mimir's OTLP endpoint to return marshalled proto bytes as response body HOT 2
- store-gateway: be able to restrict time range of blocks synced from the bucket HOT 1
- Mimir rejects samples when exemplar is non-compliant
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mimir.