【问题标题】:Prometheus - How to include comments in metricsPrometheus - 如何在指标中包含评论
【发布时间】:2017-04-04 11:39:24
【问题描述】:

我想将动态 cmets 添加到提供有关服务的一些信息的指标中。诸如操作系统版本、内核版本等之类的东西。如何将其包含在 Guage 度量类型中。 我可以添加帮助和类型,但不能添加操作系统版本。

**OS version is xxxx**

# HELP http_request_duration_seconds A histogram of the request duration.
# TYPE http_request_duration_seconds histogram

【问题讨论】:

    标签: go metrics prometheus


    【解决方案1】:

    无论您想在指标上添加什么附加信息,都可以将其添加为维度(标签,用 Prometheus 的术语来说)。这样,可以在整个基础架构中使用相同的指标,但您可以根据需要对它们进行切片。例如, CPU_usage_percent 指标可以通过“cloud_zone”维度来丰富,以指定它属于哪个云:

    CPU_usage_percent{cloud_zone:”NYC”, application_name:”video-server”}, 5, 1487578310 //example of a metric from zone NYC
    

    然后您可以在 Prometheus 中使用以下查询对其进行切片:

    CPU_usage_percent{cloud_zone="NYC"}
    

    并仅获取您想要的指标。或他们的总和/平均值/等。 从某种意义上说,这些都是自我记录的。

    我无耻地把你指向我的article,它更详细地解释了这一点。

    另一种方法 - 即,而不是向现有指标添加维度 - 您可以将这些作为新指标导出,使用 bogus 值(值仅限于数值)并对值进行编码在一个维度上。

    kernel_version 0 {ip_addr:”1.1.1.1”, version:"the actual kernel value"}
    

    编辑:如何使用 golang_client 添加维度: 请参阅此代码 - 它显示了如何添加标签然后填充它们(在第 68 行)-https://github.com/prometheus/client_golang/blob/master/prometheus/examples_test.go#L51

    【讨论】:

    • 如果您想知道具体如何执行此操作,我们需要知道您如何导出指标。一种选择是使用 Telegraf 添加自定义指标。
    • 我正在使用 client_golang 并使用 Guage 指标类型进行导出。我可以知道如何使用内置的 Guage 功能来做到这一点。现在我有这样的东西 dockerVer = prometheus.NewGauge(prometheus.GaugeOpts{ Name: "docker_version_latency", Help: "Latency of docker version command.", }) 我还需要在评论部分附加其他信息。说, #Info On OS Version : xxxxx # HELP docker_version_latency docker version 命令的延迟。 # TYPE docker_version_latency gauge docker_version_latency 35.9
    • 我不知道如何编辑 cmets,但如上所述,您可以向指标添加维度(或“标签”)。我编辑了我的答案以包含指向 golang 客户端示例的链接。
    猜你喜欢
    • 2012-09-07
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多