【发布时间】:2017-06-03 01:43:29
【问题描述】:
设置
Prometheus 节点导出器注册为具有各种标签的领事代理的服务。提供给领事代理的示例服务定义:
{
"service":{
"id": "server-stats",
"name": "server-stats",
"tags": [
"a=1_meow",
"b=2_woof",
"c=3_moo",
"monkey"
],
"port": 9100,
"checks": [
{
"name": "Process #1",
"script": "/path/to/healthcheck/script.sh",
"interval": "5s"
}
]
}
}
Prometheus 设置为查找此server-stats 服务并使用 Consul 提供的配置(主机地址和端口)从服务器中抓取统计信息。上述标签在__meta_consul_tags 中以逗号分隔列表的形式提供,可用于重新标记。
Prometheus 重标配置:
relabel_configs:
- source_labels: [__meta_consul_tags]
separator: ','
#regex: '(.+)=(.+)'
regex: '([a-z_]+)=([a-z_]+|\d+)'
target_label: ${1}
replacement: ${2}
问题
我正在尝试向 Prometheus 公开标签,以便我们可以根据标签获取统计信息和图表。牢记上述服务配置,除了 Prometheus 内部所做的任何事情之外,我希望每个指标都有以下标签:
a=1_meow、b=2_woof、c=3_moo 并忽略 monkey,因为它只是一个字符串。如果存在需要= 的解决方案,我可以从我的标签列表中删除monkey。上面编写的重新标记配置根本不会暴露任何标签,并且似乎被忽略了。运行 Prometheus 并将日志级别设置为调试也不会产生任何结果。
相关文档
【问题讨论】:
标签: monitoring consul prometheus