#prometheus
#prometheus
Вопрос:
Поскольку Prometheus поддерживает только текстовые метрики и многие метрики возврата инструментов в json (например, Finatra, Spring Boot), я создал простой прокси, который переводит json в текст. Поскольку я хочу использовать его для нескольких источников, цель, из которой должны быть получены фактические показатели, задается с помощью параметра запроса.
URL-адрес метрики выглядит следующим образом:
/metrics?prefix=finatraamp;url=http://<ip>:9990/admin/metrics.json
Это отлично работает в браузере или curl. Однако в Prometheus ‘?’ кодируется в ‘?’, и поэтому запрос завершается ошибкой:
/metrics?prefix=finatraamp;url=http://<ip>:9990/admin/metrics.json
Как я могу запретить Prometheus кодировать?? Это ошибка в Prometheus? Я уже пытался выполнить экранирование с помощью %
or
, используя Unicode и т.д., Но все еще безуспешно.
Ответ №1:
Такое поведение является правильным, поскольку путь к метрикам является путем, а не произвольным суффиксом в протоколе, хосте и порту.
Вы ищете параметр конфигурации <a rel="noreferrer noopener nofollow" href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#» rel=»noreferrer»>params:
scrape_configs:
- job_name: 'somename'
params:
prefix: ['finatra']
url: ['http://:9090/admin/metrics.json']
Комментарии:
1. Есть какие-нибудь советы по выполнению: params: match[]: {__name__=»up»} ? переход через прокси.