【发布时间】:2018-09-07 16:28:58
【问题描述】:
我正在尝试从 prometheus 中抓取 traefik 指标。
Traefik(最新)作为服务托管在 swarm 集群上,并且激活了 prometheus 指标。 匹配的端点是 10.200.1.1:8088/metrics
当我从导航器到达终点时,我看到了预期的指标:
...
# HELP traefik_config_last_reload_failure Last config reload failure
# TYPE traefik_config_last_reload_failure gauge
traefik_config_last_reload_failure 0
# HELP traefik_config_last_reload_success Last config reload success
# TYPE traefik_config_last_reload_success gauge
traefik_config_last_reload_success 1.53633684e+09
# HELP traefik_config_reloads_failure_total Config failure reloads
# TYPE traefik_config_reloads_failure_total counter
traefik_config_reloads_failure_total 0
# HELP traefik_config_reloads_total Config reloads
# TYPE traefik_config_reloads_total counter
traefik_config_reloads_total 76
...
因此,对于我的观点,编辑以下 prometheus.yml(并发布到/-/reload)应该添加这些指标。
global:
scrape_interval: 15s
rule_files:
- "targets.rules"
- "host.rules"
- "containers.rules"
scrape_configs:
...
- job_name: 'traefik'
metrics_path: '/metrics'
static_configs:
- targets: ['10.200.1.2:8088']
但不幸的是,这些都没有出现在 prometheus api 的下拉列表中。
由于我是 traefik 和 prometheus 的新手,我很确定我理解错了。 我尝试遵循一些指南(例如this one),但无法让它工作(可能与以前的版本一起工作)。
所以.... 有没有人知道我做错了什么和/或正确的方法是什么?
【问题讨论】:
-
您能否在 Prometheus UI 的 Status -> Targets 下查看一下?你在那里看到一个名为“traefik”的工作吗?有什么错误吗?当您在 Status -> configuration? 下检查时,配置已正确加载?
-
@AndreasJägle 是的,我看到了 traefik “target”,匹配的端点是好的,以及最后一个废料(没有错误,并且是最近的)。配置也正确更新。但无论一切看起来都很好,我在下拉列表中看不到我的任何指标。可能与 traefik 的指标格式有关吗?
-
抛开 Prometheus API 的下拉列表,当您查询
{job="traefik"}时会得到什么?你至少应该得到up{...job="traefik"...} 1的结果,但如果你得到的只有这些,那就太奇怪了。 -
@AlinSînpălean 完美运行!...是的,这很奇怪...但是您的问题最终使我找到了问题的根源:其中一个集群管理器已损坏并且可以随机访问。将我的经理切换到另一个节点可以解决所有问题!
标签: docker docker-swarm metrics prometheus traefik