AMBARI-17864. [Grafana] Add Storm Dashboards. (Prajwal Rao via yusaku)
diff --git a/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js
index 8546e67..fa0cc47 100644
--- a/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js
+++ b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js
@@ -128,6 +128,14 @@
var alias = target.alias ? target.alias : target.metric;
if(!_.isEmpty(templateSrv.variables) && templateSrv.variables[0].query === "hbase-users") {
alias = alias + ' for ' + target.hbUser; }
+ // Aliases for Storm Topologies and components under a topology.
+ if(!_.isEmpty(templateSrv.variables) && templateSrv.variables[0].query === "topologies" &&
+ !templateSrv.variables[1]) {
+ alias = alias + ' on ' + target.sTopology;
+ }
+ if(!_.isEmpty(templateSrv.variables[1]) && templateSrv.variables[1].name === "component") {
+ alias = alias + ' on ' + target.sTopology + ' for ' + target.sComponent;
+ }
return function (res) {
console.log('processing metric ' + target.metric);
if (!res.metrics[0] || target.hide) {
@@ -263,6 +271,19 @@
);
};
+ // Storm Topology calls.
+ var getStormData = function(target) {
+ var precision = target.precision === 'default' || typeof target.precision == 'undefined' ? '' : '&precision='
+ + target.precision;
+ var metricAggregator = target.aggregator === "none" ? '' : '._' + target.aggregator;
+ var metricTransform = !target.transform || target.transform === "none" ? '' : '._' + target.transform;
+ var seriesAggregator = !target.seriesAggregator || target.seriesAggregator === "none" ? '' : '&seriesAggregateFunction=' + target.seriesAggregator;
+ return backendSrv.get(self.url + '/ws/v1/timeline/metrics?metricNames=' + target.sTopoMetric + metricTransform
+ + metricAggregator + '&appId=nimbus&startTime=' + from + '&endTime=' + to + precision + seriesAggregator).then(
+ allHostMetricsData(target)
+ );
+ };
+
// Time Ranges
var from = Math.floor(options.range.from.valueOf() / 1000);
var to = Math.floor(options.range.to.valueOf() / 1000);
@@ -366,6 +387,37 @@
});
}
+ //Templatized Dashboard for Storm Topologies
+ if (templateSrv.variables[0].query === "topologies" && !templateSrv.variables[1]) {
+ var allTopologies = templateSrv.variables.filter(function(variable) { return variable.query === "topologies";});
+ var selectedTopologies = (_.isEmpty(allTopologies)) ? "" : allTopologies[0].options.filter(function(topo)
+ { return topo.selected; }).map(function(topoName) { return topoName.value; });
+ selectedTopologies = templateSrv._values.topologies.lastIndexOf('}') > 0 ? templateSrv._values.topologies.slice(1,-1) :
+ templateSrv._values.topologies;
+ var selectedTopology= selectedTopologies.split(',');
+ _.forEach(selectedTopology, function(processTopology) {
+ metricsPromises.push(_.map(options.targets, function(target) {
+ target.sTopology = processTopology;
+ target.sTopoMetric = target.metric.replace('*', target.sTopology);
+ return getStormData(target);
+ }));
+ });
+ }
+
+ //Templatized Dashboards for Storm Components
+ if (templateSrv.variables[0].query === "topologies" && templateSrv.variables[1] &&
+ templateSrv.variables[1].name === "component") {
+ var selectedTopology = templateSrv._values.topologies;
+ var selectedComponent = templateSrv._values.component;
+ metricsPromises.push(_.map(options.targets, function(target) {
+ target.sTopology = selectedTopology;
+ target.sComponent = selectedComponent;
+ target.sTopoMetric = target.metric.replace('*', target.sTopology).replace('*', target.sComponent);
+ debugger;
+ return getStormData(target);
+ }));
+ }
+
// To speed up querying on templatized dashboards.
if (templateSrv.variables[1] && templateSrv.variables[1].name === "hosts") {
var allHosts = templateSrv._values.hosts.lastIndexOf('}') > 0 ? templateSrv._values.hosts.slice(1,-1) :
@@ -512,6 +564,58 @@
});
});
}
+ var topologies = {};
+ //Templated Variables for Storm Topologies
+ if(interpolated === "topologies") {
+ return this.initMetricAppidMapping()
+ .then(function () {
+ var storm = allMetrics["nimbus"];
+ var extractTopologies = storm.filter(/./.test.bind(new
+ RegExp("^topology.", 'g')));
+ _.map(extractTopologies, function(topology){
+ // Topology naming convention is topology.<topology-name>.component.
+ topology = topology.split('.').slice(0,3);
+ if (topologies[topology[1]]){
+ topologies[topology[1]].push(topology[2]);
+ } else {
+ topologies[topology[1]] = [topology[2]];
+ }
+ });
+ return _.map(Object.keys(topologies), function(topologyNames){
+ return {
+ text: topologyNames
+ };
+ });
+ });
+ }
+ //Templated Variables for Storm Components per Topology
+ if (interpolated.includes("stormComponent")) {
+ var componentName = interpolated.substring(0,interpolated.indexOf('.'));
+ return this.initMetricAppidMapping()
+ .then(function () {
+ var storm = allMetrics["nimbus"];
+ var extractTopologies = storm.filter(/./.test.bind(new
+ RegExp("^topology.", 'g')));
+ _.map(extractTopologies, function(topology){
+ topology = topology.split('.').slice(0,3);
+ if (topologies[topology[1]]){
+ topologies[topology[1]].push(topology[2]);
+ } else {
+ topologies[topology[1]] = [topology[2]];
+ }
+ });
+ // Retrieve unique component names from the list.
+ var compName = _.uniq(topologies[componentName]);
+ // Remove "kafka-topic" from the list of components.
+ var remove = compName.indexOf('kafka-topic');
+ if (remove > -1) { compName.splice(remove, 1);}
+ return _.map(compName, function(components){
+ return {
+ text: components
+ };
+ });
+ });
+ }
// Templated Variable for YARN Queues.
// It will search the cluster and populate the queues.
if(interpolated === "yarnqueues") {
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-components.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-components.json
new file mode 100644
index 0000000..9920320
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-components.json
@@ -0,0 +1,579 @@
+{
+ "id": null,
+ "title": "Storm - Components",
+ "originalTitle": "Storm - Components",
+ "tags": [
+ "storm"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Metrics to see the status for the Storm topologies on a per component level. Click on each row title to expand on demand to look at various metrics. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>\n<h5 align=\"center\">Note: Period ('.') contained topology names are not supported.</h5>",
+ "editable": true,
+ "error": false,
+ "id": 14,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "title": "New row"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 4,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Input Records",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--execute-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--execute-count.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "Output Records",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--emit-count.%",
+ "precision": "default",
+ "refId": "B",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--emit-count.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Input / Output",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 3,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Acked Tuples",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--ack-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--ack-count.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Acked Tuples",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 15,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Failed Tuples",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--fail-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--fail-count.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Failed Tuples",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Records"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 12,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Complete Latency",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--complete-latency.%",
+ "precision": "default",
+ "refId": "B",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--complete-latency.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "avg",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Process Latency",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--process-latency.%",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--process-latency.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "avg",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Latency",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 2,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Receive Queue Population",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--receive.population",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--receive.population",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "Send Queue Population",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--sendqueue.population",
+ "precision": "default",
+ "refId": "B",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--sendqueue.population",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Queue",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Latency / Queue"
+ }
+ ],
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "current": {
+ "text": "kafka-topology",
+ "value": "kafka-topology"
+ },
+ "datasource": null,
+ "includeAll": false,
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "topologies",
+ "options": [
+
+ ],
+ "query": "topologies",
+ "refresh": true,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": null,
+ "includeAll": false,
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "component",
+ "options": [
+
+ ],
+ "query": "$topologies.stormComponent",
+ "refresh": true,
+ "regex": "",
+ "type": "query"
+ }
+ ]
+ },
+ "annotations": {
+ "list": []
+ },
+ "refresh": false,
+ "schemaVersion": 8,
+ "version": 10,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "tags": [
+ "storm"
+ ],
+ "title": "Storm Dashboards",
+ "type": "dashboards"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-home.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-home.json
new file mode 100644
index 0000000..93660a9
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-home.json
@@ -0,0 +1,501 @@
+{
+ "id": null,
+ "title": "Storm - Home",
+ "originalTitle": "Storm - Home",
+ "tags": [
+ "storm"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Metrics to see the overall status for the Storm topology. Click on each row title to expand on demand to look at various metrics. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>\n<h5 align=\"center\">Note: Period ('.') contained topology names are not supported.</h5>",
+ "editable": true,
+ "error": false,
+ "id": 1,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "title": "Row"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "150px",
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 2,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Topologies",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Topologies",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 3,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Supervisors",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Supervisors",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 7,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Total Executors",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total Executors",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 8,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Total Tasks",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total Tasks",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ }
+ ],
+ "title": "New row"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "150px",
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 4,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 4,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Free Slots",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Free Slots",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 5,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 4,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Used Slots",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Used Slots",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 6,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 4,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Total Slots",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total Slots",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ }
+ ],
+ "title": "New row"
+ }
+ ],
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "templating": {
+ "list": []
+ },
+ "annotations": {
+ "list": []
+ },
+ "schemaVersion": 8,
+ "version": 11,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "keepTime": true,
+ "tags": [
+ "storm"
+ ],
+ "title": "Storm Dashboards",
+ "type": "dashboards"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-topology.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-topology.json
new file mode 100644
index 0000000..63d7fe6
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDF/grafana-storm-topology.json
@@ -0,0 +1,894 @@
+{
+ "id": null,
+ "title": "Storm - Topology",
+ "originalTitle": "Storm - Topology",
+ "tags": [
+ "storm"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Metrics to see the overall status for the Storm topology. Click on each row title to expand on demand to look at various metrics. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>\n<h5 align=\"center\">Note: Period ('.') contained topology names are not supported.</h5>",
+ "editable": true,
+ "error": false,
+ "id": 14,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "title": "New row"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 4,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Input Records",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--execute-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--execute-count.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "Output Records",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--emit-count.%",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--emit-count.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Tasks Input / Output",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 3,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Acked Tuples",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--ack-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--ack-count.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Tasks Acked Tuples",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 15,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Failed Tuples",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--fail-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--fail-count.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Tasks Failed Tuples",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Records"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 12,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Average of Complete Latency",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--complete-latency.%",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--complete-latency.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "avg",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Spouts Latency",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 2,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Receive Queue Population",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--receive.population",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--receive.population",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "Send Queue Population",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--sendqueue.population",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--sendqueue.population",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Tasks Queue",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Latency / Queue"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 7,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Heap Used Bytes",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.memory/heap.usedBytes",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.memory/heap.usedBytes",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All workers memory usage on heap",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 8,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Non-heap Used Bytes",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.memory/nonHeap.usedBytes",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.memory/nonHeap.usedBytes",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All workers memory usage on non-heap",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Memory Usage"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 9,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "PSScavenge count",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.GC/PSScavenge.count",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.GC/PSScavenge.count",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "PSMarkSweep count",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.GC/PSMarkSweep.count",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.GC/PSMarkSweep.count",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All workers GC count",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 10,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "PSScavenge timeMs",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.GC/PSScavenge.timeMs",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.GC/PSScavenge.timeMs",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "PSMarkSweep timeMs",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.GC/PSMarkSweep.timeMs",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.GC/PSMarkSweep.timeMs",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All workers GC time",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "GC"
+ }
+ ],
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "current": {
+ "text": "All",
+ "value": ""
+ },
+ "datasource": null,
+ "includeAll": true,
+ "multi": true,
+ "multiFormat": "glob",
+ "name": "topologies",
+ "options": [
+ {
+ "text": "All",
+ "value": "",
+ "selected": true
+ }
+ ],
+ "query": "topologies",
+ "refresh": true,
+ "regex": "",
+ "type": "query"
+ }
+ ]
+ },
+ "annotations": {
+ "list": []
+ },
+ "refresh": false,
+ "schemaVersion": 8,
+ "version": 3,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "tags": [
+ "storm"
+ ],
+ "title": "Storm Dashboards",
+ "type": "dashboards"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-components.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-components.json
new file mode 100644
index 0000000..9920320
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-components.json
@@ -0,0 +1,579 @@
+{
+ "id": null,
+ "title": "Storm - Components",
+ "originalTitle": "Storm - Components",
+ "tags": [
+ "storm"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Metrics to see the status for the Storm topologies on a per component level. Click on each row title to expand on demand to look at various metrics. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>\n<h5 align=\"center\">Note: Period ('.') contained topology names are not supported.</h5>",
+ "editable": true,
+ "error": false,
+ "id": 14,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "title": "New row"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 4,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Input Records",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--execute-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--execute-count.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "Output Records",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--emit-count.%",
+ "precision": "default",
+ "refId": "B",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--emit-count.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Input / Output",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 3,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Acked Tuples",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--ack-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--ack-count.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Acked Tuples",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 15,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Failed Tuples",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--fail-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--fail-count.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Failed Tuples",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Records"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 12,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Complete Latency",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--complete-latency.%",
+ "precision": "default",
+ "refId": "B",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--complete-latency.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "avg",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Process Latency",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--process-latency.%",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--process-latency.%",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "avg",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Latency",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 2,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Receive Queue Population",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--receive.population",
+ "precision": "default",
+ "refId": "A",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--receive.population",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "Send Queue Population",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.*.%.--sendqueue.population",
+ "precision": "default",
+ "refId": "B",
+ "sComponent": "log",
+ "sTopoMetric": "topology.kafka-topology.log.%.--sendqueue.population",
+ "sTopology": "kafka-topology",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Queue",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Latency / Queue"
+ }
+ ],
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "current": {
+ "text": "kafka-topology",
+ "value": "kafka-topology"
+ },
+ "datasource": null,
+ "includeAll": false,
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "topologies",
+ "options": [
+
+ ],
+ "query": "topologies",
+ "refresh": true,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": null,
+ "includeAll": false,
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "component",
+ "options": [
+
+ ],
+ "query": "$topologies.stormComponent",
+ "refresh": true,
+ "regex": "",
+ "type": "query"
+ }
+ ]
+ },
+ "annotations": {
+ "list": []
+ },
+ "refresh": false,
+ "schemaVersion": 8,
+ "version": 10,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "tags": [
+ "storm"
+ ],
+ "title": "Storm Dashboards",
+ "type": "dashboards"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-home.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-home.json
new file mode 100644
index 0000000..93660a9
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-home.json
@@ -0,0 +1,501 @@
+{
+ "id": null,
+ "title": "Storm - Home",
+ "originalTitle": "Storm - Home",
+ "tags": [
+ "storm"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Metrics to see the overall status for the Storm topology. Click on each row title to expand on demand to look at various metrics. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>\n<h5 align=\"center\">Note: Period ('.') contained topology names are not supported.</h5>",
+ "editable": true,
+ "error": false,
+ "id": 1,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "title": "Row"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "150px",
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 2,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Topologies",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Topologies",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 3,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Supervisors",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Supervisors",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 7,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Total Executors",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total Executors",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 8,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Total Tasks",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total Tasks",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ }
+ ],
+ "title": "New row"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "150px",
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 4,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 4,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Free Slots",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Free Slots",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 5,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 4,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Used Slots",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Used Slots",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "id": 6,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 4,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "Total Slots",
+ "precision": "default",
+ "refId": "A",
+ "seriesAggregator": "none",
+ "transform": "none"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total Slots",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ }
+ ],
+ "title": "New row"
+ }
+ ],
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "templating": {
+ "list": []
+ },
+ "annotations": {
+ "list": []
+ },
+ "schemaVersion": 8,
+ "version": 11,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "keepTime": true,
+ "tags": [
+ "storm"
+ ],
+ "title": "Storm Dashboards",
+ "type": "dashboards"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-topology.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-topology.json
new file mode 100644
index 0000000..63d7fe6
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-storm-topology.json
@@ -0,0 +1,894 @@
+{
+ "id": null,
+ "title": "Storm - Topology",
+ "originalTitle": "Storm - Topology",
+ "tags": [
+ "storm"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Metrics to see the overall status for the Storm topology. Click on each row title to expand on demand to look at various metrics. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>\n<h5 align=\"center\">Note: Period ('.') contained topology names are not supported.</h5>",
+ "editable": true,
+ "error": false,
+ "id": 14,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "title": "New row"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 4,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Input Records",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--execute-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--execute-count.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "Output Records",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--emit-count.%",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--emit-count.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Tasks Input / Output",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 3,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Acked Tuples",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--ack-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--ack-count.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Tasks Acked Tuples",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 15,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Failed Tuples",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--fail-count.%",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--fail-count.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Tasks Failed Tuples",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Records"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 12,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Average of Complete Latency",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--complete-latency.%",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--complete-latency.%",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "avg",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Spouts Latency",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 2,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "Receive Queue Population",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--receive.population",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--receive.population",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "Send Queue Population",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.%.--sendqueue.population",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.%.--sendqueue.population",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": true,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All Tasks Queue",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Latency / Queue"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 7,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Heap Used Bytes",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.memory/heap.usedBytes",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.memory/heap.usedBytes",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All workers memory usage on heap",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 8,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Non-heap Used Bytes",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.memory/nonHeap.usedBytes",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.memory/nonHeap.usedBytes",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All workers memory usage on non-heap",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Memory Usage"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 9,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "PSScavenge count",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.GC/PSScavenge.count",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.GC/PSScavenge.count",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "PSMarkSweep count",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.GC/PSMarkSweep.count",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.GC/PSMarkSweep.count",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All workers GC count",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 10,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "PSScavenge timeMs",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.GC/PSScavenge.timeMs",
+ "precision": "default",
+ "refId": "A",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.GC/PSScavenge.timeMs",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "PSMarkSweep timeMs",
+ "app": "nimbus",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "topology.*.--system.%.%.-1.GC/PSMarkSweep.timeMs",
+ "precision": "default",
+ "refId": "B",
+ "sTopoMetric": "topology.rolling-top-words-v2.--system.%.%.-1.GC/PSMarkSweep.timeMs",
+ "sTopology": "rolling-top-words-v2",
+ "seriesAggregator": "sum",
+ "shouldAggregateSeries": false,
+ "transform": "none"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "All workers GC time",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "GC"
+ }
+ ],
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "current": {
+ "text": "All",
+ "value": ""
+ },
+ "datasource": null,
+ "includeAll": true,
+ "multi": true,
+ "multiFormat": "glob",
+ "name": "topologies",
+ "options": [
+ {
+ "text": "All",
+ "value": "",
+ "selected": true
+ }
+ ],
+ "query": "topologies",
+ "refresh": true,
+ "regex": "",
+ "type": "query"
+ }
+ ]
+ },
+ "annotations": {
+ "list": []
+ },
+ "refresh": false,
+ "schemaVersion": 8,
+ "version": 3,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "tags": [
+ "storm"
+ ],
+ "title": "Storm Dashboards",
+ "type": "dashboards"
+ }
+ ]
+}
\ No newline at end of file