如何在Prometheus度量标准系列中添加自己的时间戳?

阿克沙玛

我正在尝试添加自己的时间戳,而不是Prometheus的时间戳。

例如:

node_value {endpoint =“ https”,instance =“ xx.xx.xx.xx”,job =“ prometheus,node =” node1“}

489846 @ 1610014796.199

489933 @ 1610014826.199

要求:node_value(above)是一个具有两个值和时间戳的度量标准(Scrope时间戳由prometheus添加),而不是scrape时间戳,我想添加自己的时间戳,该时间戳是我从第三方获取的。我们有准备吗?

注意:我使用的是golang prometheus客户端。

Meshkati

这是可能的使用NewMetricWithTimestamp在普罗米修斯golang客户提供的,但对揭露它,你必须做一些代码。

首先,您必须编写一个新的promehetus收集器,该收集器实现了Collector接口,然后提供逻辑来设置度量标准的自定义时间戳。

假设我们将my_metric使用称为的收集器来创建具有自定义时间戳记的指标myCollector

package main

import (
    "net/http"
    "time"

    "github.com/prometheus/client_golang/prometheus"
    "github.com/prometheus/client_golang/prometheus/promhttp"
    "github.com/prometheus/common/log"
)

type myCollector struct {
    metric *prometheus.Desc
}

func (c *myCollector) Describe(ch chan<- *prometheus.Desc) {
    ch <- c.metric
}

func (c *myCollector) Collect(ch chan<- prometheus.Metric) {
    // your logic should be placed here

    t := time.Date(2009, time.November, 10, 23, 0, 0, 12345678, time.UTC)
    s := prometheus.NewMetricWithTimestamp(t, prometheus.MustNewConstMetric(c.metric, prometheus.CounterValue, 123))

    ch <- s
}

func main() {

    collector := &myCollector{
        metric: prometheus.NewDesc(
            "my_metric",
            "This is my metric with custom TS",
            nil,
            nil,
        ),
    }
    prometheus.MustRegister(collector)

    http.Handle("/metrics", promhttp.Handler())
    log.Info("Beginning to serve on port :8080")
    http.ListenAndServe(":2112", nil)
}

现在,如果您选中,localhost:2112/metrics则会看到此时间戳以及所需的时间戳:

.
.
.
# HELP my_metric This is my metric with custom TS
# TYPE my_metric counter
my_metric 123 1257894000012
.
.
.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows Batch-如何在将标准输出重定向到文件时添加时间戳

来自分类Dev

如何在Hive中添加时间戳列

来自分类Dev

如何在PHP中为Minutes添加时间戳

来自分类Dev

如何在Hive中添加时间戳列

来自分类Dev

如何在脚本中向文件添加时间戳

来自分类Dev

将自定义属性添加到Prometheus度量标准中,例如地理位置

来自分类Dev

如何在Postgres中的时间戳中添加间隔小时,不包括周末时间

来自分类Dev

Prometheus在哪里将度量标准数据存储在容器中?

来自分类Dev

如何在我的用户会话中添加时间戳并设置最大不活动时间?

来自分类Dev

如何检查时间戳列表中的元素是否在包含时间戳的系列中?

来自分类Dev

如何在Firebase中验证时间戳?

来自分类Dev

如何在js中验证时间戳

来自分类Dev

如何在Firebase中更新字典,同时还使用angularjs添加时间戳?

来自分类Dev

如何在Linux上的已签名PE文件中添加时间戳证书?

来自分类Dev

如何在我的输出文件中添加时间戳注释?

来自分类Dev

如何在Oracle中为日期(时间戳)添加分钟?

来自分类Dev

如何在我的输出文件中添加时间戳注释?

来自分类Dev

如何在AWK中为给定的时间戳添加秒或分钟

来自分类Dev

如何在Oracle中为日期(时间戳)添加分钟?

来自分类Dev

如何在 sql server 的 UNIX 时间戳中添加一天?

来自分类Dev

如何在Django中添加印度标准时间(IST)?

来自分类Dev

如何在Android通知上添加时间戳?

来自分类Dev

如何在grep输出上附加/添加时间戳?

来自分类Dev

如何在Android通知上添加时间戳?

来自分类Dev

如何在Orion中存储时间戳或日期时间?

来自分类Dev

如何在MySQL时间戳中设置时间?

来自分类Dev

如何在Orion中存储时间戳或日期时间?

来自分类Dev

如何从PostgreSQL中的时间戳中减去/添加分钟

来自分类Dev

如何从PostgreSQL中的时间戳中减去/添加分钟

Related 相关文章

  1. 1

    Windows Batch-如何在将标准输出重定向到文件时添加时间戳

  2. 2

    如何在Hive中添加时间戳列

  3. 3

    如何在PHP中为Minutes添加时间戳

  4. 4

    如何在Hive中添加时间戳列

  5. 5

    如何在脚本中向文件添加时间戳

  6. 6

    将自定义属性添加到Prometheus度量标准中,例如地理位置

  7. 7

    如何在Postgres中的时间戳中添加间隔小时,不包括周末时间

  8. 8

    Prometheus在哪里将度量标准数据存储在容器中?

  9. 9

    如何在我的用户会话中添加时间戳并设置最大不活动时间?

  10. 10

    如何检查时间戳列表中的元素是否在包含时间戳的系列中?

  11. 11

    如何在Firebase中验证时间戳?

  12. 12

    如何在js中验证时间戳

  13. 13

    如何在Firebase中更新字典,同时还使用angularjs添加时间戳?

  14. 14

    如何在Linux上的已签名PE文件中添加时间戳证书?

  15. 15

    如何在我的输出文件中添加时间戳注释?

  16. 16

    如何在Oracle中为日期(时间戳)添加分钟?

  17. 17

    如何在我的输出文件中添加时间戳注释?

  18. 18

    如何在AWK中为给定的时间戳添加秒或分钟

  19. 19

    如何在Oracle中为日期(时间戳)添加分钟?

  20. 20

    如何在 sql server 的 UNIX 时间戳中添加一天?

  21. 21

    如何在Django中添加印度标准时间(IST)?

  22. 22

    如何在Android通知上添加时间戳?

  23. 23

    如何在grep输出上附加/添加时间戳?

  24. 24

    如何在Android通知上添加时间戳?

  25. 25

    如何在Orion中存储时间戳或日期时间?

  26. 26

    如何在MySQL时间戳中设置时间?

  27. 27

    如何在Orion中存储时间戳或日期时间?

  28. 28

    如何从PostgreSQL中的时间戳中减去/添加分钟

  29. 29

    如何从PostgreSQL中的时间戳中减去/添加分钟

热门标签

归档