gpt4 book ai didi

influxdb - 使用 api 创建 grafana 仪表板

转载 作者:行者123 更新时间:2023-12-04 13:13:15 25 4
gpt4 key购买 nike

我正在尝试使用来自 grafana 的 api 从模板创建 grafana 仪表板。我目前使用 grafana v2.0.2。

我有一个 api key ,我可以使用 curl 获取仪表板,但我无法创建仪表板。

当我执行以下请求时:curl -i -H "Authorization: Bearer eyJrIobfuscatedlkIjoxfQ==" http://localhost:3000/api/dashboards/db/webserver2然后我为dasboard取回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 创建仪表板。

谢谢!

最佳答案

失败的原因是 API 需要知道有效负载是 json。

带 curl

curl -XPOST -i http://localhost:3000/api/dashboards/db --data-binary @./test.json -H "Content-Type: application/json"

与 ansible
- name: postinstall::dashsetups
uri:
url: http://{{grafana.ip}}:{{grafana.bind}}/api/dashboards/db
method: POST
user: "{{ admin_usr }}"
password: "{{ admin_pwd }}"
body: "{{ lookup('template', item.file) }}"
status_code: 200
body_format: raw
force_basic_auth: yes
HEADER_Content-Type: "application/json"
with_items: "{{ grafana.dashboards }}"

和包含仪表板的 vars 文件,
"grafana":{"dashboards": [
{
"name": "t1",
"file": "./dashboards/filename.json.j2",
"dash_name": "Test 1"
},
{
"name": "t2",
"file": "./dashboards/filename2.json.j2",
"dash_name": "Test 2"
},
{
"name": "t3",
"file": "./dashboards/template3.json.j2",
"dash_name": "Test 3"
}
]
}

关于influxdb - 使用 api 创建 grafana 仪表板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31166932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com