普罗米修斯动态metrics_path

2024-01-08

Prometheus 允许我从 .json 文件动态加载带有 file_sd_config 的目标,如下所示

#prometheus.yaml
- job_name: 'kube-metrics'
  file_sd_configs:
  - files:
    - 'targets.json'
[
  {
    "labels": {
      "job": "kube-metrics"
    },
    "targets": [
      "http://node1:8080",
      "http://node2:8080"
    ]
  }
]

然而我的目标有所不同metrics_path而不是主机(我想抓取每个 kubernetes 节点的指标)<kube-api-server>/api/v1/nodes/<node-name>/proxy/metrics/cadvisor)但我只能设置metrics_path在工作层面而不是在目标层面。这是否可以通过普罗米修斯实现,或者我是否必须编写自己的代码来抓取所有这些指标并将它们导出到单个目标。另外,我找不到所有支持的自动发现机制的列表,我是否错过了文档中的某些内容?


您可以使用重新标签配置 https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config在 Prometheus 配置中进行更改__metrics_path__标签配置。

原则是在表单下提供目标中的指标路径host:port/path/of/metrics(注意:删除http://,它在scheme的参数scrape_config)

[
  {
    "targets": [
      "node1:8080/first-metrics",
      "node2:8080/second-metrics"
    ]
  }
]

然后将相关元标签替换为零件

- job_name: 'kube-metrics'
  file_sd_configs:
  - files:
    - 'targets.json'
  relabel_configs:
    - source_labels: [__address__]
      regex:  '[^/]+(/.*)'            # capture '/...' part
      target_label: __metrics_path__  # change metrics path
    - source_labels: [__address__]
      regex:  '([^/]+)/.*'            # capture host:port
      target_label: __address__       # change target

您可以在配置时已知的任何标签上重复使用此方法来修改抓取的配置。

在 Prometheus 上,使用服务发现页面检查您的配置是否已正确修改。

服务发现的官方列表位于配置文档 https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration: 寻找*_sd_config在索引中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

普罗米修斯动态metrics_path 的相关文章

随机推荐

  • 如何修复 mat-tab 的标题

    我有 5 个 mat tab 每个选项卡都有大量数据 因此滚动将添加到该窗口 有什么方法可以修复 mat tab 的标题并让内容可以滚动 我尝试放置位置 固定 位置 粘在里面 ng deep mat tab label 但这似乎并不能解决问
  • 带有 ObjectDatasource UpdateMethod 的 GridView

    我有一个 ASP NET WebForms 页面 其中包含ASPxGridView and an ObjectDataSource
  • Java 8 https 连接在某些站点上失败

    我无法访问某些 https 资源 请帮助使 https 调用可靠 我在这里放置的示例是通过 Firefox 浏览器进行测试的 以确保它们正常工作 java version openjdk version 1 8 0 121 OpenJDK
  • 微任务是否保证在它们排队的同一动画帧内触发?

    例如 Promise 使用微任务 我验证了here https mail mozilla org pipermail es discuss 2016 April 045905 html它们可以在动画帧结束之前完成 在 Chrome 中 我说
  • JSP中如何获取浏览器信息?

    如何使用 JSP 获取客户端 IP 和浏览器信息 以下 jsp 将输出您的 IP 地址和用户代理 Your user agent is br Your IP address is br 要找出用户正在使用的浏览器和 或操作系统 请解析用户代
  • 在python中简单编辑二进制文件

    这应该很容易 但我一直无法找到这个问题的答案 使用python 我想将二进制文件读入内存 修改文件的前四个字节 然后将文件写回 必须有一种简单的方法来编辑四个微不足道的字节 正确的 为什么读取整个文件要改变开头的四个字节 这不应该起作用吗
  • 如何让重音字母在 bash 上真正起作用?

    我在 cygwin 上安装的 bash 无法正确处理重音字母 我尝试添加 set input meta on to accept 8 bit characters set output meta on to show 8 bit chara
  • 仅读取文件的下一行一次

    我有一个应用程序 它从文本文件中读取信息 然后对它们进行分类并将它们放入数据库中 对于一个类别 我需要检查当前行之后的行并查找某个关键字 我如何阅读这一行 当流阅读器当前行已打开时 应该会发生这种情况 我在 VS2010 上使用 C Edi
  • 确保在 MVVM WPF 应用程序中的 UI 线程上调用 OnPropertyChanged()

    在我使用 MVVM 模式编写的 WPF 应用程序中 我有一个后台进程来做这件事 但需要从它获取状态更新到 UI 我使用的是 MVVM 模式 因此我的 ViewModel 实际上对向用户呈现模型的视图 UI 一无所知 假设我的 ViewMod
  • OS X 支持 POSIX 会话吗?

    我正在开发一个可以充分利用 POSIX 会话的项目 如所述here http pubs opengroup org onlinepubs 9699919799 functions setsid html 但我现在不确定我是否误解了这个概念和
  • 基于 Access 中保存的 SELECT 查询更新查询?

    使用 UPDATE 查询 是否可以引用存储的选择查询 我想完成这样的事情 UPDATE WHERE IN MY STORED PROCEDURE 也许是这样的 UPDATE WHERE ID IN SELECT ID FROM MyStor
  • Android:服务自动重启

    我正在使用一项可以节省费用的服务GPS纬度不断地 但很多时候服务会自动重新启动 这会导致数据丢失 那么有什么办法可以限制服务重新启动呢 或任何解决此问题的想法 您可以通过在服务中提及该服务来创建新流程Manifest file as and
  • SwiftUI - 动画视图扩展(显示/隐藏)

    我有一个View其中包含一个HStack and a DatePicker 当您点击HStack the DatePicker显示 隐藏 我想为这个动作设置动画 就像 iOS 日历的新事件视图中开始和结束行的动画一样 struct Time
  • Excel VBA - 日期格式转换

    我遇到了一项具有挑战性的任务 使用许多解决方法都无法解决该任务 在一列中我有日期 日期可以采用以下三种格式 1 简单的日 月 年 2 dd mm yy 但周围可能有 之前 之后或关于 字样 任何 其中之一 在这种情况下我们只需要删除这些词即
  • 文本区域最大宽度

    我遇到了文本区域最大宽度的问题 我需要它不超过 table cell two调整大小时的宽度 在此示例中 JSfiddle 示例 http jsfiddle net no1lov3sme t6gzrr7u 1 HTML div class
  • 为什么我需要 Java 中的 MySQL 连接器?

    总是当我想使用使用 MySQL 数据库的程序时 它会强制我安装 MySQL 连接器或mysql 连接器 java jar 为什么我需要 MySQL 连接器以及它是如何工作的 JDBC 是 Java 程序用来访问关系数据库的库 您可以使用它来
  • 在另一个控制器 Ember 中调用控制器方法

    我正在使用 Ember 的 Need Api 来调用另一个控制器中一个控制器的方法 我能够获取控制器的实例 但是当我调用它的方法时 它会返回此错误TypeError Object object Object has no method 我就
  • 在其他 numpy 数组中查找 numpy 数组

    我需要在一个更大的 numpy 数组中找到一个小的 numpy 数组 例如 import numpy as np a np array 1 1 b np array 2 3 3 1 1 1 8 3 1 6 0 1 1 3 4 一个功能 fi
  • 访问 JToken 中的所有项目

    我有一个像这样的 json 块 ADDRESS MAP ADDRESS LOCATION type separator name Address value FieldID 40 LOCATION type locations name L
  • 普罗米修斯动态metrics_path

    Prometheus 允许我从 json 文件动态加载带有 file sd config 的目标 如下所示 prometheus yaml job name kube metrics file sd configs files target