我想创建一个脚本化的仪表板,它将一个OpenTSDB指标作为数据源。在Grafana网站上,我找不到任何例子。我希望我可以添加一些像:
metric =‘my.metric.name’…
很抱歉回答我自己的问题。但我只是想出来,希望发布在这里将有益于某人。
脚本在这里。随时访问仪表板: HTTP:// grafana_ip:3000 /仪表板/脚本/ donkey.js名= tsdbmetricname
/* global _ */ /* * Complex scripted dashboard * This script generates a dashboard object that Grafana can load. It also takes a number of user * supplied URL parameters (in the ARGS variable) * * Return a dashboard object, or a function * * For async scripts, return a function, this function must take a single callback function as argument, * call this callback function with the dashboard object (look at scripted_async.js for an example) */ // accessible variables in this scope var window, document, ARGS, $, jQuery, moment, kbn; // Setup some variables var dashboard; // All url parameters are available via the ARGS object var ARGS; // Intialize a skeleton with nothing but a rows array and service object dashboard = { rows : [], }; // Set a title dashboard.title = 'From Shrek'; // Set default time // time can be overriden in the url using from/to parameters, but this is // handled automatically in grafana core during dashboard initialization dashboard.time = { from: "now-6h", to: "now" }; var rows = 1; var metricName = 'argName'; //if(!_.isUndefined(ARGS.rows)) { // rows = parseInt(ARGS.rows, 10); //} if(!_.isUndefined(ARGS.name)) { metricName = ARGS.name; } for (var i = 0; i < rows; i++) { dashboard.rows.push({ title: metricName, height: '300px', panels: [ { title: metricName, type: 'graph', span: 12, fill: 1, linewidth: 2, targets: [ { "aggregator": "avg", "downsampleAggregator": "avg", "errors": {}, "metric":ARGS.name, //"metric": "search-engine.relevance.latency.mean", "tags": { "host": "*" } } ], tooltip: { shared: true } } ] }); } return dashboard;