Прометей вычисляет дельту и игнорирует одну метку
Сначала немного описания данных:
Название метрики: 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
,