Прометей вычисляет дельту и игнорирует одну метку

Сначала немного описания данных:

Название метрики: query_seconds_count

пример значения:

query_seconds_count{correlation_id="someUUID",instance="someIp:Port",job="someJob",query_type="query",segment="overall"}

Что я хочу сделать:

delta(query_seconds_count[1m])

Эта проблема:

Этикетка correlation_id уникален для каждого запроса и, следовательно, нет возможности найти соответствующий идентификатор корреляции для расчета дельты. Поэтому Delta всегда равна 0. Есть ли способ игнорировать метку correlation_id при расчете дельта?

Я читаю о ключевых словах ignoring, withoutа также byно кажется, что они не применимы к дельта-функции.

возможный обходной путь

Я мог бы обойти дельта-функцию, используя это, но это не выглядит очень элегантно.

sum(query_seconds_count) without (correlation_id) - sum(query_seconds_count offset 1m) without (correlation_id)

1 ответ

Решение

Метка correlation_id уникальна для каждого запроса, и поэтому нет возможности найти соответствующий идентификатор корреляции для вычисления дельты.

Это регистрация событий, для которой Прометей вообще не подходит, так как это не показатель. Вы должны использовать систему, такую ​​как ELK для такого рода данных. Если вы хотите использовать Prometheus, вам нужно удалить идентификатор корреляции в коде клиента.

Кроме того, вы никогда не должны использовать delta функция на счетчиках. Вы, вероятно, хотите increase,

Другие вопросы по тегам