Почему результат правила записи Prometheus может отличаться от ручного запроса? - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть следующее правило записи:

record: istio_slo:error_rate:ratio_rate2w
expr: |
  sum(rate(istio_requests_total{destination_app!="unknown", response_code=~"5.*"}[2w]))
  by (destination_service_namespace, destination_app, destination_service_name)
  /
  sum(rate(istio_requests_total{destination_app!="unknown"}[2w]))
  by (destination_service_namespace, destination_app, destination_service_name)

Если я запускаю запрос вручную в правиле записи, я получаю результат, отличный от результата, возвращенного самим правилом записи:

Result on Grafana

Вот как я использую правило записи (в Grafana):

istio_slo:error_rate:ratio_rate2w{destination_service_namespace="$namespace", destination_app="$app", destination_service_name=~"$service"}

И запрос:

sum(rate(istio_requests_total{destination_service_namespace="$namespace", destination_app="$app", destination_service_name=~"$service", response_code=~"5.*"}[2w]))   
/
sum(rate(istio_requests_total{destination_service_namespace="$namespace", destination_app="$app", destination_service_name=~"$service"}[2w]))

Как бы вы объяснили такую ​​разницу между результатами?

...