菜单
开源 Grafana Cloud

本页介绍查询编辑器各部分的功能以及如何配置它们。

JSON API 数据源的查询编辑器由多个选项卡组成。每个选项卡配置查询的一部分。

字段

Fields

字段选项卡中,您选择从数据源配置中配置的 URL 返回的 JSON 文档中提取数据。

  • 字段允许您定义一个查询表达式,该表达式确定要从 JSON 文档中提取的数据。支持两种查询语言:JSONPathJSONata

  • 类型定义由字段表达式返回的元素的 JSON 类型。默认情况下,Grafana 使用 JSON 文档中的类型。如果类型设置为与原始属性类型不同的类型,Grafana 会尝试解析该值。

  • 别名覆盖字段的默认名称。

    这在 API 返回带引号的数字时很有用,例如 "price": "3.49"

字段长度不同

所有字段必须返回相同数量的值。如果您收到此错误,则表示一个或多个对象缺少查询的元素。

在以下示例中,name 属性在两个对象中都存在,但 version 不存在。

json
{
  "services": [
    {
      "name": "order-api",
      "version": "1"
    },
    {
      "name": "billing-api"
    }
  ]
}

在下面的示例中,您可以看到一些表达式及其在之前示例的 JSON 结构中的结果。由于 JSONPath 表达式是独立评估的,Grafana 无法确定哪个版本丢失了。

表达式结果
$.services[*].name["order-api", "billing-api"]
$.services[*].version["1"]

路径

Path

左侧的下拉框允许您配置发送到 URL 的请求的 HTTP 方法,可以设置为 GETPOST

文本框允许您在数据源配置中向 URL 追加一个路径。这可以使用变量动态更改请求 URL。

例如,将路径设置为 /movies/${movie}/summary,您可以查询任何电影的摘要,而无需更改查询本身。

参数

Params

添加您想作为查询字符串一部分发送的任何参数。例如,屏幕截图中的参数被编码为 ?category=movies

KeyValue 字段都支持变量

注意: 管理员在数据源配置中设置的任何查询参数具有更高优先级,并会覆盖查询设置的参数。

请求头

Headers

添加您想作为 HTTP 请求头发送的任何参数。

KeyValue 字段都支持变量

请求体

Body

设置要作为请求体发送的文本。

  • 语法高亮 设置编辑器的活动语法。这仅用于视觉目的,不会改变实际请求。

信息: 由于现代浏览器的限制,如果 HTTP 方法设置为 GET,Grafana 会忽略请求体。

实验性功能

试用当前正在开发中的功能。每个功能的工具提示中都有一个链接,可带您到 GitHub 上的功能请求页面,您可以在那里分享您的反馈。

警告: 实验性功能可能不稳定,并可能在未通知的情况下移除。

缓存时间

默认情况下,Grafana 会缓存上次请求返回的 JSON 文档,以避免在配置查询时达到速率限制。一旦您对查询满意,请考虑将缓存时间设置为 0s 以禁用缓存。