Как разделить 2 метрики в Prometheus PromQL

Я создаю свою панель инструментов в Graphana, используя Prometheus. У меня есть 2 показателя (общее количество обращений к сервису и общее количество ошибок тайм-аута)

1 - это общее количество обращений к сервису PromQL- (увеличение (Fetching_RESPONSE_TIME_seconds_count {instance = $ {server}: 8080} [1h])

другое - общий тайм-аут PromQl- (увеличение (dp_errors_total {code = ~ 12345, instance = $ {server}: 8080} [1h]))

Я хочу иметь еще один столбец на моей панели инструментов, который показывает процентное время ожидания, которое будет (общее время ожидания * 100 / общее количество обращений в службу).

когда я делаю это PromQL- (увеличить (dp_errors_total {code = ~ 12345, instance = $ {server}: 8080} [1h]) * 100 / (увеличить (Fetching_RESPONSE_TIME_seconds_count {instance = $ {server}: 8080} [1h])

На моей приборной панели ничего не отображается.

Как я могу добавить еще один столбец на мою панель инструментов, в котором будет отображаться процентное время ожидания?


person Abhishek    schedule 03.09.2020    source источник


Ответы (1)


Когда вы пытаетесь выполнить арифметическое выражение, Прометей попытается сопоставить временные ряды слева и справа. Он делает это с помощью ярлыков, которые у них есть. Обе стороны должны иметь одинаковые метки (имена и значения). Я не знаю всех ярлыков вашего временного ряда, но могу предположить, что, например, ярлык code присутствует только на dp_errors_total, а не на втором. Обычно я сначала объединяю оба операнда (по мере необходимости), например:

sum by (server) ( ... dp_errors_total query ) 
/
sum by (server) ( ... Fetching_RESPONSE_TIME_seconds_count query ...)

или если в $server есть только один сервер, отбросьте часть by (server) .

person bjakubski    schedule 03.09.2020