функция увеличения иногда дает неточные результаты и, по-видимому, не строго следует временному интервалу при расчете среднего значения

#prometheus #grafana #promql #micrometer

Вопрос:

сумма(увеличение(api_seconds_sum{envType=»PROD»} [$__диапазон])) по (имени) / сумма(увеличение(api_seconds_count{envType=»PROD»} [$__диапазон])) по (имени)

при использовании в течение определенного периода времени для таблицы иногда создаются значения, даже если за этот период времени не было отправлено ни одного запроса, особенно при рассмотрении периодов от 24 часов до 2 дней

При использовании функции исследования grafana результаты не возвращаются, потому что оба будут равны нулю, что приведет к NaN, но при просмотре отчета появляются странные значения, такие как .16 для одного и того же диапазона времени. Я вижу проблемы с увеличением, а также с обычными счетчиками успеха или ошибок, когда в отчете появляются данные, даже если запросы не были отправлены. Что вызывает эти проблемы с увеличением, и есть ли более надежный способ расчета?

Комментарии:

1. функция увеличения() в Prometheus может возвращать неожиданные значения. Видишь github.com/prometheus/prometheus/issues/3746 . Обходной путь заключается в использовании чего — то вроде MetricsQL, который реализует функцию увеличения() более ожидаемым способом- см. victoriametrics.github.io/MetricsQL.html