-
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
Rule: add ability to send POST requests #2577
Comments
If no one is taking this issue, I am having a try 😄 |
Hey @GiedriusS ! Also can you elaborate more on this?
|
There's no need for formal acceptance criteria - it's not work for us. At least for the majority of us. Different implementations of HTTP browsers/servers have different limits on URL lengths. For example: https://technomanor.wordpress.com/2012/04/03/maximum-url-size/. How it stands right now, Thanos Rule encode everything into the URL when sending a request: thanos/pkg/promclient/promclient.go Line 339 in 2262f26
The recording or alerting rule might be too long and then it will get truncated when sending a request. That's why support for encoding request parameters via POST on
|
Hello 👋 Looks like there was no activity on this issue for last 30 days. |
Still very valid & help welcome! |
Hi I would love to contribute on this. Does the ask only apply to
|
It's only for Thanos Rule client side for Query API. There is no need to
change anything on server side (:
…On Sat, 13 Jun 2020 at 11:08, jlr52 ***@***.***> wrote:
@GiedriusS <https://github.com/GiedriusS>
Hi I would love to contribute on this.
Does the ask only apply to promclient.go or does it apply to all queries
in the repo that have post supported in
https://github.com/thanos-io/thanos/blob/0aa297bd00816ed5efe5d6dea117cb7059a3d7b1/pkg/query/api/v1.go
like the following
r.Get("/query", instr("query", api.query))
r.Post("/query", instr("query", api.query))
r.Get("/query_range", instr("query_range", api.queryRange))
r.Post("/query_range", instr("query_range", api.queryRange))
r.Get("/series", instr("series", api.series))
r.Post("/series", instr("series", api.series))
r.Get("/labels", instr("label_names", api.labelNames))
r.Post("/labels", instr("label_names", api.labelNames))
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#2577 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABVA3O6DXW3Y25NAQMU2C5DRWNF2JANCNFSM4M4DUYQQ>
.
|
Hello 👋 Looks like there was no activity on this issue for last 30 days. |
We plan on using Thanos Ruler more at $WORK so we might just implement this not too long from now if no one else wants to take a stab at this. |
Hello 👋 Looks like there was no activity on this issue for last 30 days. |
Still valid. |
Hello 👋 Looks like there was no activity on this issue for last 30 days. |
Hello everyone! If this issue is free to take, I would love to learn and work on this issue 😄 |
Feature request description
Thanos Rule currently sends everything with GET requests. We should add an option to send the requests as POST. Accordingly, the logs should be improved to also log the POST (form) parameters.
Rationale
The alerting / recording rules' expressions might be very long and not fit into the URI.
The text was updated successfully, but these errors were encountered: