插件 〉JSON API


开发者

Grafana Labs

注册以接收不定期的产品新闻和更新



数据源
grafana

JSON API

文档 →

用于 Grafana 的 JSON API 数据源

(注意:此插件现已进入维护模式,不会添加新功能。我们建议改用 Infinity 数据源插件。)

Grafana JSON 数据源插件使您能够无缝地将 JSON 数据集成到 Grafana 中。JSON 是一种多功能且广泛使用的数据格式,借助此插件,您可以轻松地将您的 JSON 数据转化为 Grafana 仪表盘中有意义的可视化效果。

文档

有关设置和配置 Grafana JSON API 数据源的详细说明,请查阅我们的官方文档

维护:此插件现由 Grafana Labs 维护。非常感谢 Marcus Olsson 的出色工作!

在 Grafana Cloud 上安装 JSON API

欲了解更多信息,请访问关于插件安装的文档。

更新日志

v1.3.24 - 2025-03-21

  • 🛡️ 安全:更新前端依赖项

v1.3.23 - 2025-02-24

  • 🛡️ 安全:更新 jsonpath-plus 至版本 10.3.0
  • 🛡️ 安全:更新 dompurify 至版本 3.2.4
  • ⚙️ 杂务:更新 serialize-javascript 至版本 6.0.2

v1.3.22 - 2025-02-05

  • ⚙️ 杂务:更新工作流
  • ⚙️ 杂务:迁移至 playwright 进行 e2e 测试

v1.3.21 - 2025-01-09

  • ⚙️ 修复:通过先清理 URL 来增强 URL 安全检查。

v1.3.20 - 2024-11-28

  • 🛡️ 安全:更新 jsonpath-plus 至版本 10.2.0
  • 🛡️ 安全:更新 cross-spawn 至版本 7.0.5

v1.3.19 - 2024-10-29

  • 🛡️ 安全:更新 jsonpath-plus 至版本 10.1.0
  • 🛡️ 安全:更新 uplot 至版本 1.6.31

v1.3.18 - 2024-10-18

  • 🛡️ 安全:更新 jsonpath-plus 至版本 10.0.6
  • 🛡️ 安全:将 dompurify 从 3.1.0 提升到 3.1.6
  • 🛡️ 安全:将 path-to-regexp 从 1.8.0 提升到 1.9.0

v1.3.17 - 2024-09-03

  • 🛡️ 安全:将 micromatch 从 4.0.5 提升到 4.0.8
  • 🛡️ 安全:将 webpack 从 5.86.0 提升到 5.94.0
  • 🛡️ 安全:将 fast-loops 从 1.1.3 提升到 1.1.4
  • 🛡️ 安全:将 ws 从 8.14.2 提升到 8.17.1
  • 🛡️ 安全:将 braces 从 3.0.2 提升到 3.0.3

v1.3.16 - 2024-06-13

  • ⚙️ 修复:在允许的 URL 检查中考虑 \(反斜杠)字符。

v1.3.15 - 2024-05-14

  • ⚙️ 杂务:更新文档

v1.3.14 - 2024-04-15

  • ⚙️ 杂务:更新依赖项

v1.3.13 - 2024-04-04

  • ⚙️ 杂务:更新依赖项

v1.3.12 - 2024-02-14

  • ⚙️ 杂务:维护

v1.3.11 - 2024-02-14

  • 🛡️ 安全:增加更稳健的 URL 处理,不允许 URL 中出现 '/../',仅允许 GET 和 POST 方法 ( CVE-2023-5123 )

v1.3.10 - 2023-12-20

v1.3.9 - 2023-11-21

  • ⚙️ 杂务:更新配置页面以遵循最佳实践
  • ⚙️ 杂务:移除旧式表单样式
  • ⚙️ 杂务:更新 readme 和文档
  • ⚙️ 杂务:添加了 lint github 工作流

v1.3.8 - 2023-10-19

  • ⚙️ 杂务:更新依赖项

v1.3.7 - 2023-10-18

  • ⚙️ 杂务:迁移到 create-plugin
  • ⚙️ 杂务:添加功能追踪

v1.3.6 - 2023-05-30

  • ⚙️ 杂务:文档更新

v1.3.5 - 2023-04-05

  • 🛡️ 安全:最近,第三方研究人员(Snyk Research Team 的 Alessio Della Libera)发现并私下向我们披露了 Grafana 维护的 marcusolsson-json-datasource 插件(也称为“JSON API 插件”)中存在存储型 XSS 漏洞。

具有编辑角色的用户可以通过在针对 marcusolsson-json-datasource 插件的查询中的字段提取器中包含精心构造的 javascript 语句,对其他查看者、编辑者和管理员执行存储型 XSS 攻击。这导致任何查看配置为使用恶意查询数据源的面板的用户都会受到 XSS 攻击。

此漏洞之所以存在,是因为 marcusolsson-json-datasource 插件使用 jsonpath-plus 库来评估编辑者提供的 jsonpath 表达式。在其默认配置(我们使用的配置)下,该库是一个 XSS 向量,因为 JSONPath 规范允许嵌入子表达式,而 jsonpath-plus 将其实现为任意 javascript 表达式。

为了缓解此漏洞,我们现在向 jsonpath-plus 提供了一个配置参数,禁止评估子表达式;需要注意的是,此更改可能会破坏依赖于 filter 或 eval 表达式的现有 JSONPath 查询。

如果您的仪表盘当前依赖于包含子表达式的 JSONPath 查询,则有几种潜在的迁移路径:

  1. 对于使用子表达式进行索引/切片的简单查询,可能可以在不使用子表达式的情况下重写查询,例如 [(@.length-1)] 也可以表示为 [:-1]
  2. 对于更复杂的查询,我们建议切换到 jsonata 语言,插件也支持该语言。该语言与 JSONPath 具有相似的功能,包括支持过滤表达式(在文档中称为“谓词”)。
  3. 如果更改现有查询不可行,社区插件 “Infinity” 支持 JSONPath 表达式,包括使用 backend 解析器选项时的过滤器和子表达式。请注意,Infinity 是一个社区支持的插件。

v1.3.4 - 2023-04-04

  • ⚙️ 杂务:文档更新

v1.3.3 - 2023-03-20

  • ⚙️ 杂务:依赖项更新
  • ⚙️ 杂务:添加了拼写检查

v1.3.2 - 2022-10-14

完整更新日志

  • 修复了损坏的文档和链接

v1.3.1 - 2022-01-24

完整更新日志

增强功能

  • 为参数键添加后缀以使重复的参数键唯一化 #232(感谢 @rejohnst!)
  • 使用 jsonata 进行查询时添加了 grafana 全局变量 #223(感谢 @amng!)

Bug 修复

  • 某些字符串被错误地识别为日期 #202

v1.3.0 - 2021-09-03

完整更新日志

增强功能

  • 添加对 JSONata(#114)的支持,这是一种类似于 JSONPath 并支持转换的查询语言。

Bug 修复

  • 无法读取未定义属性 'filter'(#156

v1.2.1 - 2021-06-18

完整更新日志

增强功能

  • 更新依赖项、文档和元数据

v1.2.0 - 2021-05-18

完整更新日志

增强功能

  • 添加 $__isoFrom() 和 $__isoTo() 宏(#115)(感谢 @jirkafajfr!)
  • 在 parseValue 中对象类型使用 JSON.stringify 而非 toString(#111)(感谢 @Totalus!)

Bug 修复

  • 🐛 修复:修复变量查询中宏不运行的问题(#100)(感谢 @KensingtonTech!)

v1.1.1 - 2021-04-17

完整更新日志

增强功能

  • 改进编辑器样式

Bug 修复

  • 🐛 修复:修复分组时使用了错误字段的问题
  • 为别名添加变量支持

v1.1.0 - 2021-04-15

完整更新日志

此版本在查询编辑器中引入了实验性选项卡。这将用于让用户在功能开发过程中进行试用。每个功能都有一个链接到 GitHub issue 的链接,您可以在其中分享反馈,以便在功能被视为稳定之前进行改进。

增强功能

  • 将变量支持扩展到选项
  • 不从 Unix 时间戳检测时间字段(#82
  • 将参数添加到缓存键(#85
  • 添加对字段别名的支持
  • 在查询编辑器中添加实验性部分,用于测试开发中的功能
  • 实验性:按字段对查询结果进行分组(#36
  • 实验性:为指标字段设置显示名称(#36
  • 实验性:为变量设置可选标签(#79

Bug 修复

  • 忽略隐藏查询(#83
  • 新查询不使用默认值

v1.0.1 - 2021-03-05

完整更新日志

增强功能

  • 添加注解支持

Bug 修复

  • URL 包含编码斜杠时无法连接到 API(#59

v1.0.0 - 2021-03-04

完整更新日志

此版本没有值得注意的功能或 bug 修复。主要是元数据更新。

v0.10.1 - 2021-02-27

完整更新日志

Bug 修复

  • 未处理未定义的缓存时长
  • 查询编辑器尝试更新只读属性

v0.10.0 - 2021-02-19

完整更新日志

增强功能

  • 为 JSON Path 查询添加自动补全

v0.9.2 - 2021-02-03

完整更新日志

Bug 修复

  • 变量查询失败并出错(#48

v0.9.1 - 2021-02-01

完整更新日志

Bug 修复

  • 无法读取 null 的属性 'toString'(#46

v0.9.0 - 2021-02-01

完整更新日志

重大变更:查询编辑器设置的查询参数不再覆盖数据源配置,以匹配 Grafana 代理处理头部的方式。这确立了管理员进行的任何配置应具有更高优先级的约定。

重要提示:此版本包含许多新更改,涉及插件的多个方面。在更新插件之前,请务必备份您的仪表盘。

此版本引入了一个新的查询编辑器,可以对请求进行更多控制。

  • 支持 GET 和 POST 方法
  • 支持请求体(使用 POST 时)
  • 支持头部

它引入了一个新的键值编辑器用于查询参数和头部,以及一个基于 Monaco 的编辑器用于编辑带有语法高亮的请求体。

此版本弃用了查询模型中的 queryString 属性,转而使用新的 params。查询字符串配置应该与之前版本向后兼容(和向前兼容),但在升级之前请务必备份您的仪表盘。

v0.8.0 - 2021-01-08

完整更新日志

增强功能

  • 使用 refId 作为系列名称
  • 为查询添加类型配置(#37

Bug 修复

  • 添加第二个查询时 Grafana Explore 卡住(#31
  • 多个数据源查询相互覆盖

v0.7.1 - 2020-12-07

完整更新日志

Bug 修复

  • 虚值返回为 NaN(#25

v0.7.0 - 2020-12-04

完整更新日志

增强功能

  • 添加对自定义路径的支持(#24
  • 添加 epoch 时间宏(#22
  • 迁移到新表单组件。这将最低要求的 Grafana 版本提升到 7.3.0

Bug 修复

  • 模板变量链不起作用(#23
  • 无法读取 null 的属性 'length'(#21

v0.6.4 - 2020-11-30

完整更新日志

Bug 修复

  • 修复了数据源中定义的自定义查询参数被翻转的问题。

v0.6.3 - 2020-11-27

完整更新日志

增强功能

  • @grafana 依赖项从 ^7.0.0 更新到 ^7.3.0
  • 使用新的 Grafana 插件 GitHub 工作流改进发布流程