-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prometheus Relabel 重写标签 #341
Comments
用一个复杂的例子理解 relabelmysqld exporter 支持 1 个 exporter 实例监控多个 MySQL 实例,就是利用了 relabel 能力。 prometheus 配置如下: # 省略了其他部分
- job_name: mysql
scrape_interval: 30s
params:
auth_module: [client.servers]
static_configs:
- targets:
- 192.168.31.31:3306
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: mysqld-exporter:9104 理解 __param_target 参数让我们一步步分析相关的配置,以理解 __param_target 参数的含义:
总结关于 __param_target 的理解: 在这个配置中, 那 192.168.31.31:3306 这个参数是如何传递给 exporter 的?这里详细解析这个过程是如何工作的: 首先,配置中的 static_configs 部分定义了 MySQL 服务器的地址 ( 接着,relabel_configs 的第一条规则将 - source_labels: [__address__]
target_label: __param_target 接下来,relabel_configs 的第二条规则可能会给人一点迷惑,但其实它是为了在 Prometheus 的 UI展示或是为了数据的聚合考虑,将那个包含 MySQL 地址的 __param_target 值设置为目标实例的名称(instance 标签)。 - source_labels: [__param_target]
target_label: instance 最后,第三条 relabel_configs 规则通过将 - target_label: __address__
replacement: mysqld-exporter:9104 至此,通过 Prometheus 对 mysqld_exporter 的请求中包含 target 参数(例如 |
我这里直接给一下 Prometheus 官方文档的翻译和使用示例:
Prometheus relabeling(标签重写)允许对抓取到的指标进行调整,根据配置可以更改、添加、删除标签等操作。下面是 relabeling 配置的参数说明:
翻译
举个栗子
假设我们有一个指标,它含有多个标签,我们想基于某些标签的值对其进行过滤,然后更改或添加一个新的标签。以下是一个 relabel 配置的例子:
目标:
如果 instance 标签的值为
localhost:9090
,我们想要添加或更新一个标签environment
,其值设置为development
。relabel 配置:
解释:
source_labels
: 我们从指标中选择instance
标签作为数据源。regex
: 我们使用正则表达式localhost:9090
来匹配instance
标签的值。target_label
: 我们指定目标标签为environment
。replacement
: 如果匹配成功,我们将environment
标签的值设置为development
。action
: 我们选择的动作是替换(replace
),因为我们想要基于instance
标签的值来更改或添加environment
标签。The text was updated successfully, but these errors were encountered: