首页 > 解决方案 > 过滤启用的收集器

问题描述

Prometheus节点导出器没有简单的方法来禁用所有默认指标,而无需向进程传递 20 个标志。在文档中,看起来可能有一种更简单的方法来仅获取相关指标:

过滤启用的收集器

...

对于高级使用,可以向 node_exporter 传递一个可选的收集器列表来过滤指标。collect[] 参数可以多次使用。在 Prometheus 配置中,您可以在 scrape 配置下使用此语法。

params:
  collect[]:
    - foo
    - bar

这对于让不同的 Prometheus 服务器从节点收集特定指标很有用。

我的假设是您将参数直接放在您的scrape_config下,因为有一个匹配的参数字段。但是,究竟应该在collect[]下做什么?示例foobar的描述性再好不过了。是命令行参数(例如,“--collector.cpu”)、收集器名称(例如,“cpu”)、收集器指标名称(例如,“node_cpu”)、实际指标(例如,“node_cpu_seconds_total” “), 或者是其他东西?

标签: prometheusprometheus-node-exporter

解决方案


还有另一种通用的解决方案,可以与所有出口商一起使用。relabel_map_config是一个配置选项,可以在 prometheus 配置文件中设置。如文档中所述:

这样做的一种用途是将过于昂贵而无法摄取的时间序列列入黑名单。

因此,您可以删除或保留与正则表达式匹配的指标。例如,要仅存储节点导出器收集的 cpu 指标,您可以在prometheus.yml文件中使用以下内容:

scrape_configs:
 - job_name: node
   static_configs:
    - targets:
       - localhost:9100
   metric_relabel_configs:
    - source_labels: [__name__]
      regex: node_cpu_.*
      action: keep

推荐阅读