Pull to refresh

Comments 4

А в какое агрегатное состояние агрегированы Петрики?

Немного не понял про exemplar.
Как его использовать?
Кто нибудь разобрался? Можете пример привести. Я раза три прочитал и не понял.

Exemplar - это возможность связать метрики, логи и трейсы. Например, это можно сделать на основе trace ID. Пример: у вас есть метрика (Prometheus) количества HTTP-запросов. И к каждому запросу, у которого код ответа 500, вы хотите прикрепить exemplar. За период между скрейпами у вас было 3 запроса с кодом 500. Тогда метрики будут иметь примерно следующий вид:

# HELP http_requests_total Total number of HTTP requests 
# TYPE http_requests_total counter 
http_requests_total{method="GET", code="500"} 3 # {trace_id="abc123"} 1620300000000 
http_requests_total{method="GET", code="500"} 3 # {trace_id="def456"} 1620300005000 
http_requests_total{method="GET", code="500"} 3 # {trace_id="ghi789"} 1620300010000

В этом случае при просмотре метрик, например, в Grafana и при правильной настройке всех необходимых data sources, вы сможете сразу из метрик просмотреть соответствующий спан трейсов и логи.

Также важно понимать, что возможности по хранению exemplars ограничены, и неправильно прикреплять их к каждому событию. При этом, логика добавления exemplars остаётся на ответственности разработчика (того, кто генерирует метрики).

Еще, можете почитать, например эту статью: https://vbehar.medium.com/using-prometheus-exemplars-to-jump-from-metrics-to-traces-in-grafana-249e721d4192

Sign up to leave a comment.