Възможно ли е да добавите скриптово табло към списъка с начални табла?

Създадох скриптово табло за управление за Grafana v2.1.2 и бих искал да го добавя към списъка на началното табло за управление, но не виждам начин да го направя с помощта на настройките на таблото за управление на GUI.

Възможно ли е? И ако е така, има ли някаква документация или пример как да направите това?


person Alan    schedule 27.08.2015    source източник
comment
търсите ли нещо подобно на grafana.wikimedia.org?   -  person Anatoly    schedule 07.09.2015
comment
Това изглежда като напълно персонализирано табло. Чудех се как просто да добавя скрипта на таблото си към списъка с табла по подразбиране на началната страница.   -  person Alan    schedule 08.09.2015


Отговори (2)


Това изглежда е дългогодишен проблем с grafana и не се поддържа, както е споменато на https://github.com/grafana/grafana/issues/4145

Но за щастие има заобиколно решение, както е описано на https://github.com/anryko/grafana-influx-dashboard/issues/54

Ще трябва да създадете ново табло за управление на 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>

След като направите това, ще трябва да запазите таблото за управление. Това е. Сега от началния екран на Grafana можете да изберете новосъздадено „Скриптирано табло“ и то автоматично ще ви пренасочи към действителното табло за управление на GetDash.

В Grafana 4 добавяте текстов панел в ред и превключвате режима от Markup на HTML, след което вмъквате фрагмент отгоре.

Недостатъкът на това решение е, че такива табла за управление не могат да се използват в плейлисти (ще пренасочват извън URL адреса на плейлиста).

Внимавайте с URL адреса (особено ако стартирате grafana под /grafana path), тъй като това табло за управление на пренасочване не може да бъде изтрито от уеб интерфейса, ще трябва да използвате API за това или (както е посочено в горния проблем)

Създайте нов със същото име. След това при действие за запазване ще ви позволи да презапишете стария.

Актуализация: Grafana 6 вече не позволява заобиколно решение :(

person VasekCh    schedule 12.10.2017

Да, възможно е. Но няма пряк начин за прилагане на тази функция. 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;

Вижте разликата между горепосочените табла за управление.

person RaselAshraf    schedule 17.03.2020