графит и прометей различия запросов - PullRequest
1 голос
/ 04 апреля 2020

В настоящее время я нахожусь в процессе перемещения моих метрик с statsd на prometheus.

Я пытаюсь преобразовать запросы из синтаксиса statsD в prometheus. Я не уверен в этом и ищу документацию, сравнивающую их. В частности, этот диапазон синтаксиса [5m] и скорость et c. Он явно не переводится на язык statsD.

В этом примере я хочу измерить и изобразить среднее время задержки обрабатываемых событий между временной меткой, в которой было создано событие (атрибут события), и текущим временем. Метри c сообщается самим кодом:

Псевдо:

def processEvent(event) 
  eventTime = event.timestamp
  now = Now()
  lag = now - eventTime
   ...
  statsD.time(...metric_name(event.feed,event.action)..., lag)

запрос statsD выглядит следующим образом:

groupByNode(stats.timers.<node_ip>.lag.<feed>.<action>.mean, 4, 'avg')

(среднее время среднего значения для этого показателя c во всех случаях)

в моем новом коде создает значение c следующим образом:

current_lag_gauge = Gauge('kafka_lag', 'tracks the lag of events',labelnames=['feed', 'action'])
lag = event.timestamp - Now()
...
current_lag_gauge.labels(feed="v1", action="v2").set(lag)

библиотека добавив несколько дополнительных ярлыков. Метри c выглядит следующим образом:

kafka_lag{action="v2",app="app1",base_chart_version="xxx",feed="123",instance="1.2.3.4:8000",job="kubernetes-xxx",kubernetes_namespace="xxxx",kubernetes_pod_name="xxxxx",pod_template_hash="123431314",release="xxxx"}

Существует ли справочное руководство или шпаргалка для сравнения 2? Также был бы рад получить несколько примеров запросов, решающих этот перевод.

1 Ответ

0 голосов
/ 04 апреля 2020

В Robust Perception есть отличная статья, в которой рассматриваются переводы между языками мониторинга .
. Она не охватывает конкретный случай использования, который вы упомянули, но может быть хорошим справочным материалом для решения этой проблемы.

Что касается вашего конкретного c запроса, я думаю, что avg(kafka_lag) by (feed) должен дать вам примерно те же результаты, что и упомянутый вами запрос statsd, но я не совсем уверен, поскольку у меня нет 2 наборов данных для игры и сравнения.

...