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
under public/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 parameters 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 public/dashboards/
directory of your grafana installation.