-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
Ruler: remote rule evaluation #8744
Ruler: remote rule evaluation #8744
Conversation
81d5c61
to
7a9e511
Compare
Implemented local evaluator Signed-off-by: Danny Kopping <danny.kopping@grafana.com>
Signed-off-by: Danny Kopping <danny.kopping@grafana.com>
Signed-off-by: Danny Kopping <danny.kopping@grafana.com>
Signed-off-by: Danny Kopping <danny.kopping@grafana.com>
…theus Signed-off-by: Danny Kopping <danny.kopping@grafana.com>
Signed-off-by: Danny Kopping <danny.kopping@grafana.com>
Signed-off-by: Danny Kopping <danny.kopping@grafana.com>
f326d2d
to
597bc32
Compare
Signed-off-by: Danny Kopping <danny.kopping@grafana.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks super nice 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀
I added a few comments of minor importance, but don't want to block merging.
Co-authored-by: Christian Haudum <christian.haudum@gmail.com>
**What this PR does / why we need it**: This PR is part 2 of 2 implementing remote rule evaluation. See [part 1](#8744) for more context.
**What this PR does / why we need it**: This PR is part 2 of 2 implementing remote rule evaluation. See [part 1](#8744) for more context.
when this feature will be released |
We have a 2.9 release coming soon which will include this |
What this PR does / why we need it:
Adds the ability to evaluate recording & alerting rules against a given
query-frontend
, allowing these queries to be executed with all the parallelisation & optimisation that regular adhoc queries have. This is important because withlocal
evaluation all queries are single-threaded, and rules that evaluate a large range/volume of data may timeout or OOM theruler
itself, leading to missed metrics or alerts.When
remote
evaluation mode is enabled, theruler
effectively just becomes a gRPC client for thequery-frontend
, which will dramatically improve the reliability of theruler
and also drastically reduce its resource requirements.Which issue(s) this PR fixes:
This PR implements the feature discussed in #8129 (LID 0002: Remote Rule Evaluation).
Special notes for your reviewer:
This PR is the first of two; in this PR I have just implemented the happy path. In a subsequent PR I will address all the unhappy paths and add some configurability to this feature. I didn't want to complicate this (already large) PR with all of those failure cases, as a couple of these will require some deliberation. That subsequent PR will also contain documentation.
Also, I added a couple drive-by improvements along the way:
loki-backend
component to ourproduction/docker
docker-compose setup, as well as configured the ruler and added a couple sample rulesprometheus
instanceChecklist
CONTRIBUTING.md
guide (required)CHANGELOG.md
updateddocs/sources/upgrading/_index.md