查询 - Amazon Managed Grafana

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查询

本文档主题专为支持 Grafana 8.x 版本的 Grafana 工作空间而设计。

有关支持 Grafana 版本 10.x 的 Grafana 工作空间,请参阅。在 Grafana 版本 10 中工作

有关支持 Grafana 9.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 9 中工作

Grafana 工作空间面板使用查询与数据源进行通信,以获取用于可视化的数据。查询是用数据源使用的查询语言编写的问题。如果查询格式正确,则数据源会做出响应。在面板数据源选项中,您可以调整向数据源发送查询的频率以及收集的数据点数量。

Grafana 工作区每个面板最多支持 26 个查询。

查询编辑器

查询编辑器是帮助您编写查询的表单。根据您的数据源,查询编辑器可能会提供自动完成功能、指标名称或变量建议。

由于查询语言之间的差异,数据源的查询编辑器可能看起来有所不同。

查询语法

数据源有不同的查询语言和语法来请求数据。以下是两个查询示例。

PostgreSQL

SELECT hostname FROM host WHERE region IN($region)

PromQL

query_result(max_over_time(<metric>[${__range_s}s]) != <state>)

有关为数据源编写查询的更多信息,请参阅该数据源的文档。中列出了数据源连接到数据来源

查询选项卡用户界面

查询” 选项卡由以下元素组成:

  • 数据源选择器

  • 查询选项

  • “查询检查器” 按钮

  • 查询编辑器列表

数据源选择器

数据源选择器是一个下拉列表。选择它以选择已添加的数据源。创建面板时,Amazon Managed Grafana 会自动选择您的默认数据源。有关数据源的更多信息,请参阅连接到数据来源

除了您在 Grafana 工作空间中配置的数据源外,还有三个特殊的数据源可用。

  • TestDataDB — 生成随机游走数据的内置数据源。Grafana 数据源可用于测试可视化效果和运行实验。

  • 混合-用于在同一面板中查询多个数据源的数据源。选择此数据源后,您可以为添加的每个新查询选择一个数据源。

    • 第一个查询将使用在您选择 “混合” 之前选择的数据源。

    • 您不能将现有查询更改为使用混合数据源。

  • 仪表板-用于在同一仪表板中使用来自其他面板的结果集的数据源。

查询选项

要查看所选数据源的设置,请选择数据源选择器旁边的查询选项。您在此处所做的更改仅影响在此面板中进行的查询。

Amazon Managed Grafana 设置了以深灰色文本显示的默认值。更改以白色文本显示。要将字段恢复为默认设置,请从该字段中删除白色文本。

您可以使用以下面板数据源查询选项:

  • 最大数据点数-如果数据源支持,则为返回的每个系列设置最大数据点数。如果查询返回的数据点数超过了最大数据点的设置,则数据源会合并这些数据点(通过按平均值或最大值或其他函数将它们聚合在一起来减少返回的点数)。

    限制点数的主要原因有两个:性能和平滑线。默认值为图表的宽度(或像素数),这样可以避免数据点超过图表面板所能显示的数量。

    对于流数据,最大数据点值用于滚动缓冲区。(流式传输是一种持续的数据流,而缓冲是将数据流分成块的一种方式)。

  • 最小间隔 — 为自动计算的间隔设置最小限制,通常是最小抓取间隔。如果每 15 秒保存一次数据点,则无需将间隔设置为小于该间隔。另一个用例是将其设置为比抓取间隔更高的最小值,以获得更粗细、运行良好的查询。

  • 间隔-按时间对数据点进行聚合或分组时可以使用的时间间隔。

    Amazon Managed Grafana 会自动计算适当的间隔,该间隔可用作模板化查询中的变量。变量要么是秒:$__interval; 要么以毫秒为单位:。$__interval_ms它通常用于sum或之类的聚合函数average。例如,这是一个使用间隔变量的 Prometheus 查询:。rate(http_requests_total[$__interval])

    此自动间隔是根据图表的宽度计算得出的。如果用户缩小很多,则间隔会变大,从而获得更粗粒度的聚合。如果用户放大,则间隔会缩短,从而获得更精细的聚合。

    有关更多信息,请参阅 全局变量

  • 相对时间-覆盖各个面板的相对时间范围,使它们与仪表板右上角仪表板时间选择器中的选择不同。这使您能够在同一个仪表板上显示不同时间段或日期的指标。

  • 时移-提供另一种方法来覆盖各个面板的时间范围。此功能仅适用于相对时间范围,您可以调整时间范围。

    例如,您可以将面板的时间范围更改为比仪表板时间选择器早 2 小时。有关更多信息,请参阅 时间范围控件

  • 缓存超时-(此字段仅在您的数据源中可用时才可见。) 如果您的时间序列存储有查询缓存,则覆盖默认的缓存超时。它被指定为以秒为单位的数值。

“查询检查器” 按钮

您可以选择 “查询” 检查器来打开面板检查器的 “查询” 选项卡。在 “查询” 选项卡上,您可以看到面板发送的查询请求和响应。

选择 “刷新” 可查看此面板向服务器发送的请求的全文。

注意

在查询检查器返回结果之前,您需要至少添加一个查询。

有关面板检查器的更多信息,请参阅检查面板

查询编辑器列表

在用户界面中,查询按可折叠的查询行进行组织。每个查询行都包含一个查询编辑器,并以字母(A、B、C 等)标识。

在面板之间共享查询结果

借助 Amazon Managed Grafana,您可以将来自一个面板的查询结果用于控制面板中的任何其他面板。跨面板共享查询结果可以减少对数据源的查询次数,从而提高仪表板的性能。

仪表板数据源允许您在仪表板中选择一个面板,其中包含要共享结果的查询。Amazon Managed Grafana 没有为每个面板发送单独的查询,而是发送一个查询,而其他面板则使用查询结果来构建可视化效果。

例如,当你有多个面板可视化相同数据时,这种策略可以大大减少查询的数量。

与其他面板共享数据源查询
  1. 创建仪表板。有关更多信息,请参阅 创建控制面板

  2. 添加面板。有关更多信息,请参阅 添加面板

  3. 将标题更改为Source panel。您将使用此面板作为其他面板的来源。定义要共享的一个或多个查询。如果您目前没有可用的数据源,则可以使用 Grafana 数据源,它会返回一个可用于测试的随机时间序列。

  4. 添加第二个面板,然后在查询编辑器中选择仪表板数据源。

  5. 在 “使用来自面板的结果” 列表中,选择您创建的第一个面板。

现在,在源代码面板中定义的所有查询都可用于新面板。在源代码面板中进行的查询可以与多个面板共享。

要转到定义查询的面板,请选择该查询。