跳转到内容
搜索文档

从 Grafana 查询

最后更新 查看 MarkdownAgent 设置

Workers Analytics Engine 针对可使用 Grafana 等工具可视化的时序 analytics 进行了优化。从 runtime 写入的每个事件都会自动填充 timestamp 字段。

Grafana 插件设置

我们建议使用 Altinity plugin for Clickhouse 从 Grafana 查询 Workers Analytics Engine。

按以下方式配置插件:

  • URL:https://api.cloudflare.com/client/v4/accounts/<account_id>/analytics_engine/sql。将 <account_id> 替换为你的 32 字符 account ID(可在 Cloudflare 仪表板中获取)。
  • 关闭所有 auth 设置。
  • 添加名为 Authorization 的自定义 header,值设置为 Bearer <token>。将 <token> 替换为合适的 API token 字符串(更多信息请参阅 SQL API 文档)。
  • 无需设置其他选项。

查询时序数据

在仪表板中使用时,通常希望按时间间隔聚合某个指标。可以通过对 timestamp 字段取整然后分组来实现。以下查询以这种方式取整和分组,然后在考虑采样的同时计算每个时间间隔的平均值。

SELECT
    intDiv(toUInt32(timestamp), 60) * 60 AS t,
    blob1 AS label,
    SUM(_sample_interval * double1) / SUM(_sample_interval) AS average_metric
FROM dataset_name
WHERE 
    timestamp <= NOW() 
    AND timestamp > NOW() - INTERVAL '1' DAY
GROUP BY blob1, t
ORDER BY t

Altinity 插件提供了一些有用的宏,可简化编写此类查询。宏需要在 query builder 中将 Column:DateTime 设置为 timestamp,然后可以如下使用:

SELECT
    $timeSeries AS t,
    blob1 AS label,
    SUM(_sample_interval * double1) / SUM(_sample_interval) AS average_metric
FROM dataset_name
WHERE $timeFilter
GROUP BY blob1, t
ORDER BY t

此查询将根据缩放级别自动调整取整时间,并筛选到当前显示的正确时间范围。

这篇文档对您有帮助吗?