Где я могу найти описания метрик Prometheus?

Я создаю панель управления в Grafana, используя данные из Prometheus, для мониторинга пространства имен в кластере Kubernetes. Все это мне нужно, чтобы увидеть, что происходит во время нагрузочного теста.

Теперь я потратил полдня на поиск информации о различных показателях в Prometheus. Я прочитал документы Prometheus и документы по метрикам состояния kube (который получает данные из нашего кластера), но я не нашел ни одного описания того, какая метрика что делает. Я могу только догадываться, основываясь на результатах запросов и примерах, найденных здесь и там, но это медленный и гораздо более небезопасный, чем мне бы хотелось.

Однако я наткнулся на это Так что ответьте, поэтому я предполагаю, что цитата должна быть откуда-то скопирована. Кто-нибудь, пожалуйста?


person zslim    schedule 08.08.2019    source источник
comment
Может ли это помочь? replex.io/blog/   -  person mebius99    schedule 09.08.2019
comment
Спасибо, это очень полезный пост и прояснил для меня концепции мониторинга. Но на уровне запросов Prometheus он показывает примеры без пояснений. Так что это помогло, но это не совсем то, что я искал.   -  person zslim    schedule 09.08.2019


Ответы (3)


Я нашел ответ на свой вопрос. ответ Йогеша подсказал мне взглянуть на экспортеров, и я нашел вторую половину ответа здесь.

Итак, в пользовательском интерфейсе Prometheus есть список экспортеров и их очищенные конечные точки (Статус> Цели). Если я вызываю одну из конечных точек, ответ будет содержать описание и тип каждой метрики, предлагаемой конечной точкой.

Вызов:

curl http://exporter.endpoint:9100/metrics

Образец из ответа:

# HELP http_response_size_bytes The HTTP response sizes in bytes.
# TYPE http_response_size_bytes summary
http_response_size_bytes{handler="prometheus",quantile="0.5"} 16310
http_response_size_bytes{handler="prometheus",quantile="0.9"} 16326
http_response_size_bytes{handler="prometheus",quantile="0.99"} 16337
http_response_size_bytes_sum{handler="prometheus"} 1.46828673e+09
http_response_size_bytes_count{handler="prometheus"} 90835
# HELP node_arp_entries ARP entries by device
# TYPE node_arp_entries gauge
node_arp_entries{device="cali6b3dc03715a"} 1
node_arp_entries{device="eth0"} 15

Для меня было нетривиальным, как это сделать. Я вошел в кластер и обнаружил, что curl не получил ответа ни от одной из конечных точек. Решением было добавить базу URL-адресов конечных точек в переменную no_proxy (моя машина и сервер находятся за корпоративным прокси).

Но в любом случае именно так можно прочитать описание метрики Prometheus.

person zslim    schedule 09.08.2019

Я думаю, вы хотите найти, «какая метрика что делает», независимо от кубернетов.

Prometheus получит данные от экспортера и сохранит их в своей базе данных, поэтому вы должны задать этот вопрос своему экспортеру, который экспортирует матрицу.

Уравнение Вы можете получить базовую память ЦП от экспортера узлов. Вы можете найти всю матрицу, представленную Node, экспортированную по ссылке ниже.
https://github.com/prometheus/node_exporter

Теперь остается вопрос, какая матрица экспортируется из целевой в пользовательском интерфейсе Prometheus.

person yogesh kunjir    schedule 08.08.2019
comment
Спасибо за эту информацию. Это не тот ответ, который я искал, но мне его не хватало, и он помог мне двигаться в правильном направлении. - person zslim; 09.08.2019
comment
Да, это скорее скорее направление, чем ответ. Я хотел добавить в качестве комментария, но не могу, так как это новая учетная запись, поэтому мне нужно добавить в качестве ответа. Рад, что ты на правильном пути. - person yogesh kunjir; 10.08.2019

Вы можете получить метаданные метрики с помощью следующего выражения curl:

url=http://urpromhost:9090
curl -G $url/api/v1/targets/metadata \
     --data-urlencode 'metric=metricname' \
     --data-urlencode 'match_target={}'
person Boris Ivanov    schedule 18.06.2021