Вычтите первое значение диапазона, чтобы отобразить счетчик с отсчетом от 0

В графане с источником данных prometheus я хочу показать эволюцию счетчика, начиная с 0, чтобы увидеть, как число [x] (например, Writ_bytes) увеличивается в течение указанного диапазона, я хочу увидеть, как оно увеличивается с течением времени, поэтому пережить перезагрузки системы и не показывать скорость ().

Например, если я выберу 2 часа на графике, я хочу увидеть, как байты записывались постепенно, если первое значение равно 0, а последнее - общее количество, записанное за эти 2 часа.

В псевдокоде я хочу это:

written_bytes - (value in written_bytes of the shown range at position 0)

БОНУС: Я много боролся с PROMQL, и я думаю, что пришло время найти хороший учебник, а не просто читать по кусочкам, если кто-то может порекомендовать хороший, который был бы потрясающим


person Cristian T    schedule 19.05.2020    source источник
comment
Что касается хорошего руководства по PromQL, я бы предложил начать с medium.com/ @ valyala / promql-tutorial-for-beginners-9ab455142085   -  person valyala    schedule 05.06.2020


Ответы (1)


Это невозможно сделать с PromQL, но возможно с MetricsQL. Например, следующий запрос вернет возрастающий график, начиная с 0 для метрики node_network_receive_bytes_total:

with (q = remove_resets(node_network_receive_bytes_total)) q - range_first(q)

Запрос использует следующие функции MetricsQL:

  • С шаблонами, также известными как общие табличные выражения (CTE)
  • remove_resets функция снятия обнуления счетчика
  • range_first функция для возврата первого значения в выбранном временном диапазоне
person valyala    schedule 04.06.2020