我是普罗米修斯的新手。我正在使用 NewCounterVec 来记录传入的 http 请求。我根据我在 git hub 上找到的许多其他人的代码使用了它。
假设这就是我的指标的定义方式(在进行中)
httpRequests = prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: "http_requests_total",
Help: "Incoming http requests.",
},
[]string{"path", "status"},
)
path 传入的 url 路径和状态是 http 响应状态。
我的 promQL 查询(绘制图形)是什么
代码(状态代码 >=400)
我试过
rate(http_requests_total[5m])[30m:1m]
基于 this ,但无法在图表上显示。它抛出错误 Error execution query: 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 状态代码,则不会返回任何内容。
关于go - PromQL 查询以绘制传入请求的速率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60272642/