插件 〉JSON API
JSON API
用于 Grafana 的 JSON API 数据源
(注意:此插件现已进入维护模式,不会添加新功能。我们建议改用 Infinity 数据源插件。)
Grafana JSON 数据源插件使您能够无缝地将 JSON 数据集成到 Grafana 中。JSON 是一种多功能且广泛使用的数据格式,借助此插件,您可以轻松地将您的 JSON 数据转化为 Grafana 仪表盘中有意义的可视化效果。
文档
有关设置和配置 Grafana JSON API 数据源的详细说明,请查阅我们的官方文档。
维护:此插件现由 Grafana Labs 维护。非常感谢 Marcus Olsson 的出色工作!
在 Grafana Cloud 上安装 JSON API
在 Grafana Cloud 实例上安装插件是一键完成的;更新也一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键完成的;更新也一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键完成的;更新也一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键完成的;更新也一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键完成的;更新也一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键完成的;更新也一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键完成的;更新也一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
欲了解更多信息,请访问关于插件安装的文档。
在本地 Grafana 上安装
对于本地实例,插件通过简单的 CLI 命令安装和更新。插件不会自动更新,但是当有可用更新时,您会在 Grafana 中收到通知。
1. 安装数据源
使用 grafana-cli 工具从命令行安装 JSON API
grafana-cli plugins install
插件将安装到您的 grafana 插件目录中;默认目录是 /var/lib/grafana/plugins。关于 CLI 工具的更多信息。
2. 配置数据源
从 Grafana 主菜单访问,新安装的数据源可以在数据源部分立即添加。
接下来,点击右上角的添加数据源按钮。在类型选择框中,您将看到该数据源可供选择。
要查看已安装数据源的列表,请点击主菜单中的插件项。核心数据源和已安装的数据源都会显示出来。
更新日志
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
- ⚙️ 文档:文档网站已从 github pages 迁移到 grafana.com/docs/plugins 页面
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 查询,则有几种潜在的迁移路径:
- 对于使用子表达式进行索引/切片的简单查询,可能可以在不使用子表达式的情况下重写查询,例如
[(@.length-1)]
也可以表示为[:-1]
。 - 对于更复杂的查询,我们建议切换到
jsonata
语言,插件也支持该语言。该语言与 JSONPath 具有相似的功能,包括支持过滤表达式(在文档中称为“谓词”)。 - 如果更改现有查询不可行,社区插件 “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
增强功能
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
增强功能
Bug 修复
v0.6.4 - 2020-11-30
Bug 修复
- 修复了数据源中定义的自定义查询参数被翻转的问题。
v0.6.3 - 2020-11-27
增强功能
- 将
@grafana
依赖项从^7.0.0
更新到^7.3.0
- 使用新的 Grafana 插件 GitHub 工作流改进发布流程