5

Grafana v2.1.2 用のスクリプト化されたダッシュボードを作成し、それをホーム ダッシュボード リストに追加したいと考えていますが、GUI のダッシュボード設定を使用してそれを行う方法がわかりません。

出来ますか?もしそうなら、これを行う方法に関するドキュメントや例はありますか?

4

2 に答える 2

1

はい、可能です。ただし、この機能を直接実装する方法はありません。Grafana を使用すると、ダッシュボード API でダッシュボードを作成または更新できます。このダッシュボード API およびスクリプト化されたダッシュボードに適応するには、デフォルトのスクリプト ダッシュボード オブジェクトを変更する必要があります。

以下は、デフォルトのスクリプト化されたダッシュボードです。

'use strict';
var window, document, ARGS, $, jQuery, moment, kbn;
var dashboard = {
  rows : [],
};
dashboard.title = 'Scripted Dashboard';
dashboard.time = {
  from: "now-6h",
  to: "now"
};

dashboard.rows.push({
    title: 'Chart',
    height: '300px',
    panels: [
      {
        title: 'Events',
        type: 'graph'
      }]
  });


return dashboard;

目的を達成するために変更されたスクリプト:

'use strict' ;
var window, document, ARGS, $, jQuery, moment, kbn;
var ScriptedDashboard= {
        dashboard :{},
        overwrite: true
};

/* Create a simple dashboard*/
function createDashboard(dashboard){
        dashboard.title = 'Grafana Dashboard';
        dashboard.time = {
                from : "now-6h",
                to : "now"
        };
        dashboard.id= null;
        dashboard.uid= null;
}

function sendHTTPData(method, url, data){
    var httpRequest = new XMLHttpRequest();
    httpRequest.open( method,url , true);
    httpRequest.setRequestHeader("Content-Type", "application/json");
    httpRequest.setRequestHeader("Access-Control-Allow-Origin","*");
    var reqData = JSON.stringify(data);
    httpRequest.send(reqData);
}

createDashboard(ScriptedDashboard.dashboard);
sendHTTPData("POST", "http://192.168.0.104:3000/api/dashboards/db", ScriptedDashboard);

return ScriptedDashboard.dashboard;

上記のダッシュボードの違いを確認してください。

于 2020-03-17T08:52:29.100 に答える