我正在针对不同的环境重新利用 Grafana 仪表板,并使用 Ansible 进行部署。 Grafana 是一个在 Docker Swarm 上运行的 Docker 容器。 在某个时候它停止工作,不确定从 Grafana 8.10.0 升级到 Grafana 9.2.15 后是否停止工作。
如果我尝试使用“导出以供外部共享”选项导出仪表板,则会显示以下 json:
{
"error": {
"message": "Datasource ${prometheus} was not found"
}
}
但是,如果我从 UI 导入仪表板(左栏菜单 > 仪表板 > 导入),它会正常工作,我认为这是因为它要求我选择一个数据源:
如何解决已部署仪表板的数据存储的此问题?
在datasources.yml中定义uid: uid:普罗米修斯数据源
示例:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus:9090
editable: false
isDefault: false
uid: prometheusdatasource
并更新仪表板配置文件: “数据源”:“普罗米修斯数据源”
示例:
"panels": [
{
"collapsed": false,
"datasource": "prometheusdatasource",
}
]
如果您没有使用数据源 yaml 或者正在运行简单的 grafana 容器,并且您从图形用户界面创建了数据库连接,要查找数据库的 uid,只需导航到
http://your-grafana-end-point/api/datasources
您将找到所有数据源自动生成的 uid 来从中获取。
导入面板 json 时,请记住更改要从中复制的 json 中的数据源 uid 字段(示例如下)
"datasource": {
"type": "prometheus",
"uid": "c226b139-d9c1-429c-9984-559dd1c95216"
},
您从 api 找到的 uid