【发布时间】:2020-07-16 14:51:39
【问题描述】:
我目前正在将我的指标从 statsd 转移到 prometheus。
我正在努力将查询从 statsD 语法转换为 prometheus。我不清楚这一点,正在寻找一些比较两者的文档。特别是这个范围语法 [5m] 和速率等。它没有清楚地转换为 statsD 语言。
在此示例中,我想测量并绘制正在处理的事件的平均延迟时间,从创建事件的时间戳(事件的属性)到代码本身报告指标的当前时间:
伪:
def processEvent(event)
eventTime = event.timestamp
now = Now()
lag = now - eventTime
...
statsD.time(...metric_name(event.feed,event.action)..., lag)
statsD 查询如下所示:
groupByNode(stats.timers.<node_ip>.lag.<feed>.<action>.mean, 4, 'avg')
(所有实例中该指标报告的平均值的平均时间)
在我的新代码中创建这样的指标:
current_lag_gauge = Gauge('kafka_lag', 'tracks the lag of events',labelnames=['feed', 'action'])
lag = event.timestamp - Now()
...
current_lag_gauge.labels(feed="v1", action="v2").set(lag)
图书馆正在添加一些额外的标签。指标如下所示:
kafka_lag{action="v2",app="app1",base_chart_version="xxx",feed="123",instance="1.2.3.4:8000",job="kubernetes-xxx",kubernetes_namespace="xxxx",kubernetes_pod_name="xxxxx",pod_template_hash="123431314",release="xxxx"}
是否有比较两者的参考指南或备忘单?也很高兴获得解决此翻译的几个示例查询。
【问题讨论】:
标签: prometheus grafana statsd