8

Grafana の API を使用してテンプレートから Grafana ダッシュボードを作成しようとしています。現在、グラファナ v2.0.2 を使用しています。

API キーがあり、curl でダッシュボードを取得できますが、ダッシュボードを作成できません。

次のリクエストを実行するcurl -i -H "Authorization: Bearer eyJrIobfuscatedlkIjoxfQ==" http://localhost:3000/api/dashboards/db/webserver2 と、dasboard の json が返されます。

curl -i -H "Authorization: Bearer eyJrIobfuscatedlkIjoxfQ==" -d /tmp/simpledash http://localhost:3000/api/dashboards/dbAPI の例で見つけた最も単純なダッシュボードを作成しようとすると、機能しません/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 からダッシュボードを作成できるように、これを機能させたいと思っています。

ありがとう!

4

6 に答える 6

4

私は昨夜これを理解しました.Webサイトの例では、「schemaVersion」の直前にコンマがありません

正しいjsonは次のようになります:

{
  "dashboard": {
    "id": null,
    "title": "Production Overview",
    "tags": [ "templated" ],
    "timezone": "browser",
    "rows": [
      {
      }
    ],
    "schemaVersion": 6,
    "version": 0
  },
  "overwrite": false
 }

json をこの json バリデーターにコピーすると、問題がどこにあるかが正確に表示されます。

http://jsonlint.com/

于 2015-07-09T01:36:24.087 に答える
3

curl を使用してファイルからデータを投稿するには、次のようにファイル名の前に @ を付けます。

curl -i -H "Authorization: Bearer eyJrIobfuscatedlkIjoxfQ==" -d @/tmp/simpledash http://localhost:3000/api/dashboards/db
于 2015-08-25T23:38:44.567 に答える