目的: 使用Grafana 配合JSON API 插件 请求API接口,完成可视化,实现一些简单的请求功能
假设我们想将如下的API接口返回的json数据可视化
这里借用一下 小熊同学的 金融数据接口
用请求如下接口举例
https://api.doctorxiong.club/v1/fund/detail?code=000001&startDate=2023-01-19
返回的数据如下:
{
"code": 200,
"message": "操作成功",
"data":
{
"code": "000001",
"name": "华夏成长混合",
"type": "混合型-灵活",
"netWorth": 1.0160,
"expectWorth": 1.0156,
"totalWorth": 3.5790,
"expectGrowth": "-0.03",
"dayGrowth": "0.0",
"lastWeekGrowth": "2.8340",
"lastMonthGrowth": "3.97",
"lastThreeMonthsGrowth": "-4.96",
"lastSixMonthsGrowth": "-4.88",
"lastYearGrowth": "-7.55",
"buyMin": "10",
"buySourceRate": "1.50",
"buyRate": "0.15",
"manager": "王泽实",
"fundScale": "31.48亿",
"netWorthDate": "2023-01-20",
"expectWorthDate": "2023-01-20 15:00:00",
"netWorthData":
[
[
"2023-01-19",
"1.016",
"1.3",
""
],
[
"2023-01-20",
"1.016",
"0.0",
""
]
],
"totalNetWorthData":
[
[
"2023-01-19",
"3.579"
],
[
"2023-01-20",
"3.579"
]
]
}
}
环境如下:
docker 19.03之后的版本应该都可以
docker --version
Docker version 20.10.17, build 100c701
Grafana 镜像 9.30 版本,理论上 Grafana>=7.3 就可以
docker pull grafana/grafana:9.3.0-ubuntu
1. 安装 JSON API 这个插件
2. 配置数据源
添加一个 JSON API 数据源.
3. 添加panel 开始可视化
可视化类型选择 Table
假设我们想显示其中的 data.totalWorth,且想将 data.totalWorth的值乘以10,则按照以下操作进行
Field 这里设置显示的字段
data.totalWorth*10 JSONata Auto bbb
data.totalWorth JSONata Auto
这里第一行代表使用 JSONata 类型的数据来处理.然后将 data.totalWorth的值乘以(必须为数值类型才可以做算术运算) 10,将列设置别名为 bbb
Path 方法选择 GET, path填写 /fund/detail
Parmas 填写:
code: 000001
startDate: 2023-01-19
然后就会有以下的可视化效果.
补充说明.如果要显示整个Json的data部分,即
Field 里面填写 data
那么你会看到Table 里面是一个 对象
我们可以用 Transform 变形模块里面的 Extract fields 解压全部字段,(Grafana 高版本比如9.3 才有 Transform)
这就可以看到全部字段的数据了.
完结撒花