来自 Postgres 的 Grafana 多线图

Grafana multi-line chart from Postgres

我想显示一个多线图表,其中每条线都是一列的值。 例如,“status”有几个值:200、404、500 等。我想为每个值显示一行。在 X 轴上,我必须查看有多少条记录的状态为 200 等等。

我试过这个

SELECT
  created_at AS "time",
  status,
  count(*) 
FROM api_logs
group BY time, status

但正在显示

相反,我想要

更新: 我试过这个查询

SELECT
  $__timeGroupAlias(created_at, '5m'),
  status AS "metric",
  count(*) AS "count"
FROM api_logs
WHERE $__timeFilter(created_at)
GROUP BY 1,2

按 1 排序

但我得到了这张图表

这是table输出

我会看到每个状态都有一行。其中 Y 是该状态的事件计数。基本上,如果我看到一条线出现尖峰(错误 500),我就不得不担心了。

SQL 使用 Grafana 8.2 的 PostgreSQL 宏进行 5 分钟时间聚合查询:

SELECT
  $__timeGroupAlias(created_at, '5m'),
  status AS "metric",
  count(*) AS "count"
FROM api_logs
WHERE $__timeFilter(created_at)
GROUP BY 1,2
ORDER BY 1

created_at 列是 timestamptz 类型。