如何将JSON导入Grafana展示为表格并实现多表差集计算
问题1:Grafana是否仅支持时序数据,能否展示JSON格式表格
- Grafana不局限于时序数据,完全支持非时序类JSON数据的表格展示。
- 你已经安装的
grafana-simple-json-datasource插件本身就适配该场景:只要你的后端接口返回[{"hostname":"1.2.3.4"},{"hostname":"2.3.4.5"},{"hostname":"3.4.5.6"}]这类结构的JSON数组,在面板中做简单配置就能生成仅含hostname列的表格:- 新增数据源选择Simple JSON类型,填写提供JSON数据的接口地址完成接入
- 新建面板后可视化类型选择「Table」
- Query栏选择刚才配置的数据源,再到「Transform」标签页用「Organize fields」功能仅保留hostname字段即可
问题2:能否实现两张表格的差集计算
- 可以实现,无需修改后端接口,直接用Grafana自带的转换功能就能在前端完成计算:
- 先在同一个面板的Query栏新增两个查询,分别拉取表1、表2的hostname数据
- 打开「Transform」标签页,依次添加3个转换规则:
- 首先添加「Outer join」转换,关联字段选择两张表的
hostname列,完成后表1独有的行对应的表2hostname字段会显示为空 - 再添加「Filter data by values」转换,设置过滤条件为:表2的hostname字段
is null,过滤后剩下的就是表1独有的行 - 最后添加「Organize fields」转换,删除多余的表2相关字段,仅保留表1的hostname列,得到的就是你需要的差集结果表
- 首先添加「Outer join」转换,关联字段选择两张表的
- 只要数据量级不大(单表行数低于1万),前端计算的性能完全可以满足需求。
内容的提问来源于stack exchange,提问作者John Smith
相关产品推荐
相关产品推荐

