Comments (9)
As someone having to orchestrate "flushing" outside of prometheus-operator currently, I would definitely leverage a /flush
endpoint in thanos. I'd also much prefer it as an in-built command than a separate container like config-reloader.
It'd also be much easier to benefit from incremental progress on this, as I'd be able to remove a lot of my custom glue/wiring in my current setup, instead of having to wait for the changes to propagate all the way to prometheus-operator.
from thanos.
from thanos.
I've added the ability to upload blocks to the blob storage using Thanos Tools, we can leverage this on Prometheus Operator by doing some hacks such as a preStop hook to flush tsdb and upload blocks. As we can see we already have feature requests from users implementing this on their own, as you can see prometheus-operator/prometheus-operator#6540.
If Thanos sidecar implements this API, how would you call it from Prometheus operator? Would you still use the preStop
hook to call the API or at downscaling event time?
from thanos.
I've added the ability to upload blocks to the blob storage using Thanos Tools, we can leverage this on Prometheus Operator by doing some hacks such as a preStop hook to flush tsdb and upload blocks. As we can see we already have feature requests from users implementing this on their own, as you can see prometheus-operator/prometheus-operator#6540.
If Thanos sidecar implements this API, how would you call it from Prometheus operator? Would you still use the
preStop
hook to call the API or at downscaling event time?
The idea is invoke this on the scaling down event.
from thanos.
I am not against adding this functionality into Thanos sidecar.
By having this new endpoint I envision Prometheus Operator calling it before scaling down the instance, and after this endpoint returns success we can just delete the Statefulset and its Persistent volume.
Prometheus operator has its own sidecar like the config-reloader
. Why this feature cannot be implemented in another binary deployed as a sidecar as well? The code can be maintained in the Prometheus operator project.
from thanos.
I am not against adding this functionality into Thanos sidecar.
By having this new endpoint I envision Prometheus Operator calling it before scaling down the instance, and after this endpoint returns success we can just delete the Statefulset and its Persistent volume.
Prometheus operator has its own sidecar like the
config-reloader
. Why this feature cannot be implemented in another binary deployed as a sidecar as well? The code can be maintained in the Prometheus operator project.
My only concern about having this on projects like config-reloader
is because this components will need to learn how to upload blocks to storage account.
Besides that I think might be a useful solution for people is not using Prometheus Operator as well, but I don't have any data about it to confirm it's just feeling 😅
from thanos.
As someone having to orchestrate "flushing" outside of prometheus-operator currently, I would definitely leverage a /flush endpoint in thanos. I'd also much prefer it as an in-built command than a separate container like config-reloader.
Once this functionality has been added to the Prometheus operator sidecar, there should be no difference in terms of UX compared to having the API natively?
But I think I am okay to add the new API. PR is welcomed.
from thanos.
There was some idea to run prometheus via libraries from within sidecar; that way we could build this properly. cc @SuperQ
from thanos.
Related Issues (20)
- Rate query failing from Grafana HOT 2
- receive: memory spikes during tenant WAL truncation HOT 5
- Thanos receive context deadline exceeded: Permanent error: Post \"http://obs-thanos-receive.xxxsvc.cluster.local:19291/api/v1/receive\": context deadline exceeded HOT 2
- Thanos Store fills up the entire hard disk at startup HOT 3
- Support for encryption in transit for Memcached HOT 2
- Why does thanos query-frontend not support multiple downstream addresses?
- Thanos query fanout has high latency when a strict-store is unavailable HOT 3
- Ruler UI: `alert.query-template` is not honored inside the Rules UI HOT 3
- [Thanos Storegateway ]"failed to read index-header from disk; recreating" path=/data/01H1K45K0FRT36S1RCAWHW7R9A/index-heade HOT 1
- Adding User Agent to HTTP Logs
- Compact: Display TODO plan HOT 7
- compactor: does not compact 4 consecutive 2-hour blocks HOT 6
- compactor: series not 16-byte aligned error HOT 2
- Improved file access logging
- Sidecar: reporting as ready on startup when no Prometheus process is running
- tools bucket: Add ability to discover external labels from prometheus address for `upload-blocks` HOT 1
- Grafana only shows raw data from Thanos HOT 3
- Instance Principal Provider - Region issue
- Consider X-Forwarded-For on HTTP/GRPC Logging
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 thanos.