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
Alerting: No Data in Classic Conditions are confusing and do not behave as expected #57961
Comments
Have the same problem with a Classic conditions and multiple time series:
Classic conditions:
Result is 0 firing, 1 normal, but firing on A expected. |
Experiencing the same issues as the ones mentioned here. This has led us to duplicate alerts across our different environments so that they can individually trigger NoData conditions. |
Also experiencing this, would like to have this resolved |
Experiencing the same probelms. The result of classic condition follows the nodata querys. It is very confusing. Will the issue be solved? Thanks very much. |
I join the request to solve the problem. It's already a year old and it's pretty serious. |
Also joining. I have 3 time-series queries that are all reduced to have a single number. One of the three queries displays 'No Data' and the resulting Math Expression ($Q1+$Q2+$Q3) displays 'No Data'. I find this... strange logic. |
Background:
Classic Conditions is a feature in Grafana Alerting that supports the reduction and comparison of one or more conditions, and the grouping of related conditions is known as a
ConditionsCmd
. A condition inConditionsCmd
can reduce a time series, contain an instant metric, or the result of another expression; and checks if it exceeds a threshold, falls within a range, or does not contain a value.If a
ConditionsCmd
contains more than one condition, it reduces the boolean outcomes of the threshold, range or value checks using the logical operator of the right hand side condition until all conditions have been reduced to a single boolean outcome.ConditionsCmd
does not follow operator precedence.For example if we have the following classic condition:
which reduces to the following boolean outcomes:
then the outcome of this
ConditionsCmd
is true.What happened:
No Data in Classic Conditions are confusing and do not behave as expected.
A condition in a
ConditionsCmd
is considered No Data when all of the series contain No DataThe outcome of the
ConditionsCmd
is No Data when either:ConditionsCmd
are No Data if theand
operator is used for all conditionsConditionsCmd
is No Data if theor
operator is used for all conditionsConditionsCmd
is No DataWhat you expected to happen:
A condition in a
ConditionsCmd
should still be considered No Data when all of the series contain No DataHowever, the outcome of the
ConditionsCmd
should change to the following:and
operator is usedIf we take the example
min(A) > 5 OR max(B) < 10 AND C = 1
and create a No Data matrix:How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:
The text was updated successfully, but these errors were encountered: