mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| +++
 | |
| title = "Scripted Dashboards"
 | |
| keywords = ["grafana", "dashboard", "documentation", "scripted"]
 | |
| type = "docs"
 | |
| [menu.docs]
 | |
| parent = "dashboard_features"
 | |
| weight = 9
 | |
| +++
 | |
| 
 | |
| 
 | |
| # 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
 | |
| 
 | |
| ```javascript
 | |
| 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.
 |