在普罗米修斯找不到指标

问题描述 投票:0回答:1

我开发了一些http服务器,它以这种格式返回了一些指标

Some_Metrics{host="server01", key_="system.cpu.util.usage"} 3
Some_Metrics{host="server01", key_="vfs.fs.size[/data,free]"} 7016763392
Some_Metrics{host="server01", key_="system.uname"} Linux server01 4.1.12-94.3.9.el7uek.x86_64 #2 SMP Fri Jul 24 03:09:40 PDT 2017 x86_64
Some_Metrics{host="server02", key_="system.cpu.util.usage"} 2
Some_Metrics{host="server02", key_="vfs.fs.size[/data,free]"} 6016763392
Some_Metrics{host="server02", key_="system.uname"} Linux server02 4.1.12-94.3.9.el7uek.x86_64 #2 SMP Fri Jul 24 01:09:40 PDT 2017 x86_64

在普罗米修斯prometheus.yml我添加了部分

  - job_name: some_metrics
    metrics_path: /metrics
    static_configs:
      - targets: ['server01:8001']
    params:
      collect[]:
        - textfile

重启Prometheus服务器。

在日志模块启动工作。

我试图在普罗米修斯找到新的指标后,但我没有找到......

使用此请求:

http://server01:9090/api/v1/query_range?query={host=%22server01%22}&start=1513629658.0&end=1513633258.0&step=60


http://server01:9090/api/v1/query_range?query=some_metrics&start=1513629658.0&end=1513633258.0&step=60

为什么我没有找到新指标?怎么解决这个问题?

prometheus
1个回答
0
投票

错误no token found表示解析服务的度量输出时出错。

我对此并不确定,但我认为你只允许提供数字作为值,但你的uname系列会发一个字符串:

Some_Metrics{host="server02", key_="system.uname"} Linux server02 4.1.12-94.3.9.el7uek.x86_64 #2 SMP Fri Jul 24 01:09:40 PDT 2017 x86_64

提供此信息的常用方法是将其放入标签中:

Some_Metrics{host="server02", key_="system.uname", uname="Linux server02 4.1.12-94.3.9.el7uek.x86_64 #2 SMP Fri Jul 24 01:09:40 PDT 2017 x86_64"}

此外,您似乎正在自己编写指标数据。如果是这样,您还应该看看这些文档:


编辑:您还可以使用promtool验证指标。如果必须安装,可以直接安装:

go install github.com/prometheus/prometheus/cmd/promtool

否则它应该是您的普罗米修斯分布的一部分。

你必须通过stdin传递它,像这样:

$ promtool check metrics < so47876976
error while linting: text format parsing error in line 3: expected float as value, got "Linux"

或者使用curl直接验证端点:

$ curl server01:8001/metrics | promtool check metrics

这不应该抛出任何错误。如果此命令成功并且抓取仍然不起作用,则存在不同的问题。

© www.soinside.com 2019 - 2024. All rights reserved.