为什么在 Loki 中要在使用 sum_over_time()后使用 sum()?

30次阅读

共计 509 个字符,预计需要花费 2 分钟才能阅读完成。

我采集了 Nginx 的一些日志到 Loki 中,想在 Grafana 中展示,日志关键内容如下

{"bytes_sent": 1400, "uri":"/test"}
{"bytes_sent": 1300, "uri":"/test"}

我尝试使用下述 LogQL。

sum_over_time({job="$job"} | json |  unwrap bytes_sent  [$__interval])

对应的 Query Inspector 是

Expr: sum_over_time({job="nginx_access_log"} | json |  unwrap bytes_sent  [1m])
Step: 1m0s

但我得到了这样的图:

为什么在 Loki 中要在使用 sum_over_time() 后使用 sum()?

在这个图中,每个点的 legend 是整个日志,内容是 bytes_send 的值,为什么 sum_over_time 返回的是这些内容呢?

当我尝试在其之前加多一个 sum() 时,我得到了我想要的内容和图。

sum(sum_over_time({job="$job"} | json |  unwrap bytes_sent  [$__interval]))

为什么在 Loki 中要在使用 sum_over_time() 后使用 sum()?

我实在不知道为什么要在 sum_over_time 前要加 sum 方法,而不是只用 sum_over_time 就可以了。

正文完
 0