-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable exploration of Thanos Store Gateway by (external) label pairs #5399
Comments
I love this idea in general. The question now is the interface to expose this. Whether it is a UI, API, or a cli tool. |
I could write an CLI from that data I already have on my "server" that communicates with all stores, I will try to come up with something. The only problem here is that you always have to |
I think extending the existing web tooling would be great. For example, adding a new |
Hello 👋 Looks like there was no activity on this issue for the last two months. |
Still relevant |
Hello 👋 Looks like there was no activity on this issue for the last two months. |
/remind me 28/11/2022 I will work on this later this month. |
@pedro-stanaka set a reminder for Nov 28th 2022 |
Is your proposal related to a problem?
I help manage a deployment of Thanos with most used components (Store GW + Compactor + Querier + Query FE). We are handling blocks coming from several clusters (hundreds of them) into a single "observability" cluster. When trying to debug memory usage for a particular dashboard or query it is quite hard to figure out which Store Gateway holds blocks for a specific label set (e.g. `cluster_name="app-cluster-foo") because you have to go into each store gw and check the blocks for it in the UI. To provide more context into this, we are "hashmodding" the blocks from different clusters, so we can evenly distribute load, so this is one of the reasons we can't predict where a block will land.
Describe the solution you'd like
I would like to have an option to deploy a single binary which interacts with the Thanos Stores and is able to create an overview of how blocks are distributed and some summary information like which timespan is also represented in each Store-gw.
Describe alternatives you've considered
After trying to find a tool online and in the Thanos project repos, I ended up writing a tool of my own (just a draft, but already in a working state), because there was nothing available that would satisfy these requirements.
Additional context
The tool I mentioned is a simple Golang appconnects to each store gw via HTTP API and hit
/api/v1/blocks?loaded=true
and generates summaries in memory of the blocks, then we have a SPA written in react to show this data.The text was updated successfully, but these errors were encountered: