grafana/docs/sources/reference/scripting.md
Torkel Ödegaard aaa98e13b6 updated docs
2015-03-10 16:17:50 +01:00

1.5 KiB

page_title page_description page_keywords
Scripted dashboards Scripted dashboards grafana, scripted, guide, documentation

Scripted Dashboards

If you have lots of metric names that change (new servers etc) in a defined pattern it is irritating to constantly have to create new dashboards.

With scripted dashboards you can dynamically create your dashboards using javascript. In the folder grafana install folder app/dashboards/ there is a file named scripted.js. This file contains an example of a scripted dashboard. You can access it by using the url:

http://grafana_url/#/dashboard/script/scripted.js?rows=3&name=myName

If you open scripted.js you can see how it reads url paramters from ARGS variable and then adds rows and panels.

Example

var rows = 1;
var seriesName = 'argName';

if(!_.isUndefined(ARGS.rows)) {
  rows = parseInt(ARGS.rows, 10);
}

if(!_.isUndefined(ARGS.name)) {
  seriesName = ARGS.name;
}

for (var i = 0; i < rows; i++) {

  dashboard.rows.push({
    title: 'Scripted Graph ' + i,
    height: '300px',
    panels: [
      {
        title: 'Events',
        type: 'graph',
        span: 12,
        fill: 1,
        linewidth: 2,
        targets: [
          {
            'target': "randomWalk('" + seriesName + "')"
          },
          {
            'target': "randomWalk('random walk2')"
          }
        ],
      }
    ]
  });

}

return dashboard;

More examples

You can find more examples in app/dashboards/ directory of your grafana installation.