Scripting 是否可以将脚本化仪表板添加到“主页”中;“仪表盘”;列表

Scripting 是否可以将脚本化仪表板添加到“主页”中;“仪表盘”;列表,scripting,dashboard,grafana,Scripting,Dashboard,Grafana,我已经为Grafana v2.1.2创建了一个脚本化的仪表板,并希望将其添加到主仪表板列表中,但是没有找到使用GUI仪表板设置的方法 可能吗?如果是这样的话,是否有一些文档或示例说明如何做到这一点?这似乎是grafana的一个长期问题,并且不受上面提到的支持 但幸运的是,有一个如上所述的解决方法 您必须创建一个新的grafana仪表板。在仪表板设置中,应将其重命名为“脚本化仪表板”。然后添加“html”类型的“文本”行。然后,您需要将以下代码粘贴到该行的文本字段: <meta http-e

我已经为Grafana v2.1.2创建了一个脚本化的仪表板,并希望将其添加到主仪表板列表中,但是没有找到使用GUI仪表板设置的方法


可能吗?如果是这样的话,是否有一些文档或示例说明如何做到这一点?

这似乎是grafana的一个长期问题,并且不受上面提到的支持

但幸运的是,有一个如上所述的解决方法

您必须创建一个新的grafana仪表板。在仪表板设置中,应将其重命名为“脚本化仪表板”。然后添加“html”类型的“文本”行。然后,您需要将以下代码粘贴到该行的文本字段:

<meta http-equiv="refresh" content="1;url=/dashboard/script/getdash.js">
<script type="text/javascript">window.location.href = "/dashboard/script/getdash.js"</script>

window.location.href=“/dashboard/script/getdash.js”
完成此操作后,您必须保存仪表板。就这样。现在,您可以从Grafana主屏幕选择新创建的“脚本化仪表板”,它将自动将您重定向到实际的GetDash仪表板

在Grafana 4中,您在一行中添加一个文本面板,并将模式从
标记
切换到
HTML
,然后在上面插入代码段

此解决方案的缺点是,此类仪表板不能用于播放列表(将重定向到播放列表的url之外)

注意URL(特别是如果您在/grafana路径下运行grafana),因为此重定向仪表板无法从web UI中删除,您将需要使用它或(如上所述)

用相同的名称创建一个新的。然后在保存操作时,它将允许您覆盖旧操作


更新:Grafana 6不再允许解决方法:(

是的,这是可能的。但是没有直接的方法来实现此功能。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;


查看上述脚本化仪表板之间的差异。

您是否与之类似?这看起来像是一个完全自定义的仪表板。我想知道如何简单地将我的仪表板脚本添加到主页的默认“仪表板”列表中。