登录
首页 >  Golang >  Go问答

用于绘制传入请求率的 PromQL 查询

来源:stackoverflow

时间:2024-04-01 23:06:41 167浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《用于绘制传入请求率的 PromQL 查询》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我是普罗米修斯的新手。我正在使用 newcountervec 来记录传入的 http 请求。我根据在 git hub 上找到的许多其他人的代码来使用它。

假设这就是我的指标的定义方式(在 go 中)

httpRequests = prometheus.NewCounterVec(
    prometheus.CounterOpts{
        Name: "http_requests_total",
        Help: "Incoming http requests.",
    },
    []string{"path", "status"},
)

path 传入的 url 路径,status 是 http 响应状态。 我的 promql 查询(用于绘制图表)的用途是什么

  1. 每分钟传入请求
  2. 基于 http 状态的失败率 代码(状态代码>=400)

我尝试了 rate(http_requests_total[5m])[30m:1m] 基于此,但无法在图表上显示。它抛出错误执行查询时出错:invalid expression type "range vector" for range query, must be scalar or instant vector


解决方案


rate(http_requests_total[5m]) * 60

rate(http_requests_total{status=~"[45].."}[5m])

然而,这很脆弱,如果没有 4xx 或 5xx 状态代码,则不会返回任何内容。

终于介绍完啦!小伙伴们,这篇关于《用于绘制传入请求率的 PromQL 查询》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>