Стеки / перекрывающиеся метрики по имени - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть приложение, которое отправляет метрики в prometheus через micrometer-jmx, и я не могу изменить приложение, чтобы использовать вместо него micrometer-prometheus. Поэтому все параметризованные метрики не являются метками прометея, а вместо этого кодируются непосредственно в название метрики.

т.е. вместо requests_Count{processor="BILLING_PROCESSOR", type="SCRIPT"} метрики имеют вид requests_PRC_BILLING_PROCESSOR_TYP_SCRIPT_Count.

Теперь предположим, что я хочу граф в графах запросов, сгруппированных (сложенных / перекрывающихся) по типу. Есть ли способ, которым я могу сделать это без меток и с метриками в этом формате? Мне удалось создать переменные графаны, которые извлекают значения процессора и типа из имени метрики, но я не могу с ними многое сделать.

1 Ответ

0 голосов
/ 15 сентября 2018

Вы можете настроить Prometheus для преобразования имен метрик. Это часть перемаркировки, доступной в Prometheus. Он описан в Конфигурации Prometheus и в сообщении в блоге одного из основных участников .

Как видно из сообщения в блоге, метрики могут быть преобразованы из

memory_pools_PS_Eden_Space_committed

до

memory_pools_committed_bytes{pool="PS_Eden_Space"}

путем применения конфигурации следующим образом:

scrape_configs:
  job_name: my_job
  # Usual fields go here to specify targets.
  metric_relabel_configs:
  - source_labels: [__name__]
    regex: '(memory_pools)_(.*)_(\w+)'
    replacement: '${2}'
    target_label: pool
  - source_labels: [__name__]
    regex: '(memory_pools)_(.*)_(\w+)'
    replacement: '${1}_${3}_bytes'
    target_label: __name__
...