【发布时间】:2015-09-18 22:36:01
【问题描述】:
我正在尝试使用 grafana 的 api 从模板创建 grafana 仪表板。我现在用的是grafana v2.0.2。
我有一个 api 密钥,我可以使用 curl 获取仪表板,但我无法创建仪表板。
当我执行以下请求时:curl -i -H "Authorization: Bearer eyJrIobfuscatedlkIjoxfQ==" http://localhost:3000/api/dashboards/db/webserver2
然后我为仪表板取回 json。
当我尝试创建我在 api 示例中找到的最简单的仪表板时,它不起作用:curl -i -H "Authorization: Bearer eyJrIobfuscatedlkIjoxfQ==" -d /tmp/simpledash http://localhost:3000/api/dashboards/db 其中/tmp/simpledash 包含:
{
"dashboard": {
"id": null,
"title": "Production Overview",
"tags": [ "templated" ],
"timezone": "browser",
"rows": [
{
}
]
"schemaVersion": 6,
"version": 0
},
"overwrite": false
}
我收到以下回复:
HTTP/1.1 422 status code 422
Content-Type: application/json; charset=utf-8
Date: Wed, 01 Jul 2015 16:16:48 GMT
Content-Length: 84
[{"fieldNames": ["Dashboard"],"classification":"RequiredError","message":"Required"}]
我尝试了 json 的一些变体,但我总是得到响应,并且在互联网上我找不到有效的示例。有人对我有一个有效的例子吗?我喜欢这个工作,所以我可以从 ansible 创建仪表板。
谢谢!
【问题讨论】:
-
我发现如果“rows”数组里面有一个空对象
[{}],我会遇到JS错误,单独发送[]似乎已经纠正了这个问题。似乎 JS 看到了该对象并尝试从中提取值。