Grafana导入 json 文件的 dashboard 错误 Templating Failed to upgrade legacy queries Datasource xxx not found
Posted 渔夫数据库笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Grafana导入 json 文件的 dashboard 错误 Templating Failed to upgrade legacy queries Datasource xxx not found相关的知识,希望对你有一定的参考价值。
保存dashboard 为json 文件
我们可以把自己编辑或者修改后的dashboard保存为json文件,在其他环境导入使用,省得重新编辑或修改。导出方法如下:
导入保存的json格式的dashboard到其他grafana
#可以通过三种方式导入dashboard,1)输入dashboard id(需要dashboard所在服务器可以联网);2)直接复制json格式内容;3)直接导入json格式文件
保存dashboard后,导入到其他grafana使用后不显示数据
打开该dashboard 后报 Failed to upgrade legacy queries Datasource xxxxxxx was not found,无法显示监控数据
问题原因
这是因为从其他grafana 导出的dashboard 是写死数据源的,比如上面例子中导出的json文件写死的数据源为 "datasource": "br-prometheus",如果你当前要显示的监控数据的数据源名称跟这个不同,那么就会报报上面的错误,无法正常显示数据。
解决方案
5.1 解决方案1:添加一个输入参数
1)在你的json文档开头添加如下部分
"__inputs": [
"name": "DS_PROMETHEUS",
"label": "prometheus",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus"
],
https://grafana.com/grafana/dashboards 官方下载的dashboard json中都是包含这部分的。
2) 修改文本中所有 "datasource": 值为$DS_PROMETHEUS 变量
#修改前
"datasource": "br-prometheus"
#修改后
"datasource": "$DS_PROMETHEUS",
##注意第一个datasource 显示为 "datasource": "-- Grafana --",这个不需要修改为变量,可以把修改前写死的br-prometheus 全部替换成 $DS_PROMETHEUS
把修改后的json复制导入新的grafana,这时会让你选择数据源(未修改的json文本导入时没有数据源选项),这时选择正确的数据源,导入bashboard即可
导入后,该grafana数据正常显示
5.2 解决方案2:直接修改json文本中"datasource": 为正确值
#注意第一个datasource 为"datasource": "-- Grafana --",不要修改,可以替换json文件中老的数据源值为新的
5.3 解决方案3:给dashboard 添加一个变量(Variables)
#方案1和方案2,该dashboard 只能显示来自某个固定数据源的数据,方案3,可以让dashboard展示所有指定类型的数据源的数据
# 找到 templating.list, 添加一个变量,这里的变量名为 DS_PROMETHEUS,值为 prometheus
"templating":
"list": [
"datasource": "Prometheus",
"description": null,
"error": null,
"hide": 0,
"includeAll": false,
"label": "datasource",
"multi": false,
"name": "DS_PROMETHEUS",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"type": "datasource"
,
...
# 所有的这些
"datasource": "br-prometheus",
# 修改为
"datasource": "$DS_PROMETHEUS",
以上是关于Grafana导入 json 文件的 dashboard 错误 Templating Failed to upgrade legacy queries Datasource xxx not found的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Grafana 镜像中添加仪表板配置 json 文件?
Grafana导入 json 文件的 dashboard 错误 Templating Failed to upgrade legacy queries Datasource xxx not found
Grafana导入 json 文件的 dashboard 错误 Templating Failed to upgrade legacy queries Datasource xxx not found
Grafana导入 json 文件的 dashboard 错误 Templating Failed to upgrade legacy queries Datasource xxx not found