过滤启用的收集器

use*_*450 3 prometheus prometheus-node-exporter

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

过滤启用的收集器

...

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

params:
  collect[]:
    - foo
    - bar
Run Code Online (Sandbox Code Playgroud)

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

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

yam*_*enk 5

还有另一种通用的解决方案,可以与所有导出器一起使用。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
Run Code Online (Sandbox Code Playgroud)