【问题标题】:Filtering Enabled Collectors过滤启用的收集器
【发布时间】:2018-11-15 18:06:57
【问题描述】:

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

过滤启用的收集器

...

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

params:
  collect[]:
    - foo
    - bar

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

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

【问题讨论】:

    标签: prometheus prometheus-node-exporter


    【解决方案1】:

    还有另一种通用解决方案,适用于所有出口商。 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
    

    【讨论】:

    • 这个功能看起来更有用。
    【解决方案2】:

    通过测试节点收集器collect[] 参数必须是收集器名称。例如,--collector.cpu 的名称是 cpu

    如果您指定了无效的收集器,例如 foo,您将收到以下 HTTP“400 错误请求”消息:

    Couldn't create missing collector: foo
    

    【讨论】:

      【解决方案3】:

      正如All Workers Are Essential 所说,collect[] 参数中预期的参数是收集器的名称

      作为答案的补充,您可以在下面找到节点导出器配置的工作示例,仅过滤 cpumeminfofilesystem 收集器:

      scrape_configs:
        # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
        - job_name: 'prometheus'
      
          # metrics_path defaults to '/metrics'
          # scheme defaults to 'http'.
      
          static_configs:
          - targets: ['localhost:9090']
      
        # Node exporter
        - job_name: 'node_exporter'
      
          static_configs:
          - targets: ['localhost:9100']
          params:
            collect[]:
              - cpu
              - meminfo
              - filesystem
      

      请记住,仍然可以访问收集的指标,但是一旦重新启动 prometheus 服务,只有过滤后的指标(cpumeminfofilesystem)将可用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-22
        • 2017-01-11
        • 1970-01-01
        • 1970-01-01
        • 2022-09-29
        • 2022-12-04
        相关资源
        最近更新 更多