Фильтрация включенных коллекторов - PullRequest
0 голосов
/ 15 ноября 2018

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

Фильтрация включенных сборщиков

...

Для расширенного использования node_exporter может быть передан необязательный список сборщиков для фильтрации метрик.Параметр collect [] может использоваться несколько раз.В конфигурации Prometheus вы можете использовать этот синтаксис в конфигурации scrape.

params:
  collect[]:
    - foo
    - bar

Это может быть полезно, когда различные серверы Prometheus собирают определенные метрики с узлов.

Я предполагаю, что выпоместите params непосредственно под scrape_config , потому что есть соответствующее поле params .Тем не менее, что именно должно идти в collect [] ?Примеры foo и bar не могут быть менее наглядными.Это аргумент командной строки (например, "--collector.cpu"), имя сборщика (например, "cpu"), имя метрики сборщика (например, "node_cpu"), фактическая метрика (например, "node_cpu_seconds_total"или что-то еще?

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Существует еще одно решение, которое является общим и может работать со всеми экспортерами. relabel_map_config - это параметр конфигурации, который можно установить в конфигурационном файле prometheus.Как указано в документации:

Одно из применений для этого - занести в черный список временные ряды, которые слишком дороги для приема.

Таким образом, вы можете удалить или сохранить метрики, соответствующиерегулярное выражение.Например, чтобы хранить только показатели процессора, собранные экспортером узлов, вы можете использовать в файле prometheus.yml следующее:

scrape_configs:
 - job_name: node
   static_configs:
    - targets:
       - localhost:9100
   metric_relabel_configs:
    - source_labels: [__name__]
      regex: node_cpu_.*
      action: keep
0 голосов
/ 16 ноября 2018

После тестирования сборщик узла параметр collect [] должен быть именем сборщика. Например, имя от --collector.cpu есть cpu.

Если вы укажете неверный коллектор, такой как foo, вы получите следующее HTTP-сообщение «400 Bad Request»:

Couldn't create missing collector: foo
...