فهرست منبع

AMBARI-20896 - Provide ability to visualize per cluster data from Grafana dashboards (rzang)

Change-Id: I6db64f2dea36c2284073689bfa97046366aeb153
Richard Zang 8 سال پیش
والد
کامیت
7d1850fd3b
24فایلهای تغییر یافته به همراه441 افزوده شده و 119 حذف شده
  1. 68 94
      ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js
  2. 12 2
      ambari-metrics/ambari-metrics-grafana/ambari-metrics/partials/query.editor.html
  3. 8 1
      ambari-metrics/ambari-metrics-grafana/ambari-metrics/queryCtrl.js
  4. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hbase-misc.json
  5. 16 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hbase-regionservers.json
  6. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hdfs-datanodes.json
  7. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hdfs-home.json
  8. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hdfs-namenodes.json
  9. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hdfs-topn.json
  10. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hive-hivemetastore.json
  11. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hive-hiverserver2.json
  12. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-kafka-hosts.json
  13. 16 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-llapdaemon-daemons.json
  14. 16 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-llapdaemon-heatmaps.json
  15. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-solr-cores-dashboard.json
  16. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-solr-hosts-dashboard.json
  17. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-yarn-nodemanagers.json
  18. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-yarn-resourcemanagers.json
  19. 17 2
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ambari-server-database.json
  20. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ambari-server-topn.json
  21. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ambari-server.json
  22. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-misc.json
  23. 16 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-regionservers.json
  24. 17 1
      ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-system-servers.json

+ 68 - 94
ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js

@@ -84,7 +84,6 @@ define([
          * AMS Datasource  Query
          */
         AmbariMetricsDatasource.prototype.query = function (options) {
-
           var emptyData = function (metric) {
             var legend = metric.alias ? metric.alias : metric.metric;
             return {
@@ -221,12 +220,16 @@ define([
             var metricTransform = !target.transform || target.transform === "none" ? '' : '._' + target.transform;
             var seriesAggregator = !target.seriesAggregator || target.seriesAggregator === "none" ? '' : '&seriesAggregateFunction=' + target.seriesAggregator;
             return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.metric + metricTransform +
-                metricAggregator + "&hostname=" + target.hosts + '&appId=' + target.app + '&startTime=' + from +
-                '&endTime=' + to + precision + seriesAggregator }).then(
-                getMetricsData(target)
+            metricAggregator + "&hostname=" + target.hosts + '&appId=' + target.app + '&instanceId=' + target.cluster + '&startTime=' + from +
+            '&endTime=' + to + precision + seriesAggregator }).then(
+              getMetricsData(target)
             );
           };
           //Check if it's a templated dashboard.
+          var templatedClusters = templateSrv.variables.filter(function(o) { return o.name === "cluster"});
+          var templatedCluster = (_.isEmpty(templatedClusters)) ? '' : templatedClusters[0].options.filter(function(cluster)
+            { return cluster.selected; }).map(function(clusterName) { return clusterName.value; });
+
           var templatedHosts = templateSrv.variables.filter(function(o) { return o.name === "hosts"});
           var templatedHost = (_.isEmpty(templatedHosts)) ? '' : templatedHosts[0].options.filter(function(host)
             { return host.selected; }).map(function(hostName) { return hostName.value; });
@@ -236,14 +239,15 @@ define([
           var tComponent = _.isEmpty(tComponents) ? '' : tComponents[0].current.value;
 
           var getServiceAppIdData = function(target) {
+            var tCluster = (_.isEmpty(templateSrv.variables))? templatedCluster : '';
             var tHost = (_.isEmpty(templateSrv.variables)) ? templatedHost : target.templatedHost;
-            var precision = target.precision === 'default' || typeof target.precision == 'undefined'  ? '' : '&precision=' 
+            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 self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.metric + metricTransform
-              + metricAggregator + '&hostname=' + tHost + '&appId=' + target.app + '&startTime=' + from +
+              + metricAggregator + '&hostname=' + tHost + '&appId=' + target.app + '&instanceId=' + tCluster + '&startTime=' + from +
               '&endTime=' + to + precision + seriesAggregator }).then(
               getMetricsData(target)
             );
@@ -265,8 +269,8 @@ define([
             var seriesAggregator = !target.seriesAggregator || target.seriesAggregator === "none" ? '' : '&seriesAggregateFunction=' + target.seriesAggregator;
             var templatedComponent = (_.isEmpty(tComponent)) ? target.app : tComponent;
             return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.metric + metricTransform
-              + metricAggregator + '&hostname=' + target.templatedHost + '&appId=' + templatedComponent + '&startTime=' + from +
-              '&endTime=' + to + precision + topN + seriesAggregator }).then(
+              + metricAggregator + '&hostname=' + target.templatedHost + '&appId=' + templatedComponent + '&instanceId=' + target.templatedCluster
+              + '&startTime=' + from + '&endTime=' + to + precision + topN + seriesAggregator }).then(
               allHostMetricsData(target)
             );
           };
@@ -277,7 +281,7 @@ define([
             var metricTransform = !target.transform || target.transform === "none" ? '' : '._' + target.transform;
             var seriesAggregator = !target.seriesAggregator || target.seriesAggregator === "none" ? '' : '&seriesAggregateFunction=' + target.seriesAggregator;
             return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.queue + metricTransform
-              + metricAggregator + '&appId=resourcemanager&startTime=' + from +
+              + metricAggregator + '&appId=resourcemanager&startTime=' + + '&instanceId=' + target.templatedCluster + from +
               '&endTime=' + to + precision + seriesAggregator }).then(
               getMetricsData(target)
             );
@@ -286,7 +290,7 @@ define([
             var precision = target.precision === 'default' || typeof target.precision == 'undefined'  ? '' : '&precision='
             + target.precision;
             var seriesAggregator = !target.seriesAggregator || target.seriesAggregator === "none" ? '' : '&seriesAggregateFunction=' + target.seriesAggregator;
-            return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.hbMetric + '&appId=hbase&startTime='
+            return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.hbMetric + + '&instanceId=' + target.templatedCluster + '&appId=hbase&startTime='
             + from + '&endTime=' + to + precision + seriesAggregator }).then(
               allHostMetricsData(target)
             );
@@ -298,7 +302,7 @@ define([
             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 self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.kbMetric + metricTransform
+            return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.kbMetric + metricTransform + + '&instanceId=' + target.templatedCluster
               + metricAggregator + '&appId=kafka_broker&startTime=' + from +
               '&endTime=' + to + precision + seriesAggregator }).then(
               getMetricsData(target)
@@ -310,7 +314,7 @@ define([
             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 self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.nnMetric + metricTransform
+            return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.nnMetric + metricTransform + '&instanceId=' + target.templatedCluster
             + metricAggregator + '&appId=namenode&startTime=' + from + '&endTime=' + to + precision + seriesAggregator }).then(
               allHostMetricsData(target)
             );
@@ -323,7 +327,7 @@ define([
             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 self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.sTopoMetric + metricTransform
+            return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.sTopoMetric + metricTransform + '&instanceId=' + target.templatedCluster
                 + metricAggregator + '&appId=nimbus&startTime=' + from + '&endTime=' + to + precision + seriesAggregator }).then(
                 allHostMetricsData(target)
             );
@@ -336,7 +340,7 @@ define([
             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 self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.sDataSourceMetric + metricTransform
+            return self.doAmbariRequest({ url: '/ws/v1/timeline/metrics?metricNames=' + target.sDataSourceMetric + metricTransform + '&instanceId=' + target.templatedCluster
                           + metricAggregator + '&appId=druid&startTime=' + from + '&endTime=' + to + precision + seriesAggregator }).then(
                           allHostMetricsData(target)
             );
@@ -471,7 +475,6 @@ define([
                 target.sTopology = selectedTopology;
                 target.sComponent = selectedComponent;
                 target.sTopoMetric = target.metric.replace('*', target.sTopology).replace('*', target.sComponent);
-                debugger;
                   return getStormData(target);
               }));
             }
@@ -507,14 +510,14 @@ define([
                 }));
               });
             }
-
             // To speed up querying on templatized dashboards.
-            if (templateSrv.variables[1] && templateSrv.variables[1].name === "hosts") {
+            if (templateSrv.variables[2] && templateSrv.variables[2].name === "hosts") {
               var allHosts = templateSrv._values.hosts.lastIndexOf('}') > 0 ? templateSrv._values.hosts.slice(1,-1) :
               templateSrv._values.hosts;
               allHosts = templateSrv._texts.hosts === "All" ? '%' : allHosts;
               metricsPromises.push(_.map(options.targets, function(target) {
-                  target.templatedHost = allHosts;
+                  target.templatedHost = allHosts? allHosts : '';
+                  target.templatedCluster = templatedCluster;
                   return getAllHostData(target);
               }));
             }
@@ -558,14 +561,19 @@ define([
         AmbariMetricsDatasource.prototype.metricFindQuery = function (query) {
           var interpolated;
           try {
-            interpolated = templateSrv.replace(query);
+            interpolated = query.split('.')[0];
           } catch (err) {
             return $q.reject(err);
           }
+          var templatedClusters = templateSrv.variables.filter(function(o) { return o.name === "cluster"});
+          var templatedCluster = (_.isEmpty(templatedClusters)) ? '' : templatedClusters[0].options.filter(function(cluster)
+          { return cluster.selected; }).map(function(clusterName) { return clusterName.value; });
+
           var tComponents = _.isEmpty(templateSrv.variables) ? '' : templateSrv.variables.filter(function(variable) 
             { return variable.name === "components"});
           var tComponent = _.isEmpty(tComponents) ? '' : tComponents[0].current.value;
 
+
           // Templated Variable for HBase Users
           // It will search the cluster and populate the HBase Users.
           if(interpolated === "hbase-users") {
@@ -837,58 +845,11 @@ define([
               });
           }
 
-          // Templated Variable that will populate all hosts on the cluster.
-          // The variable needs to be set to "hosts".
-          if (!tComponent){
-                  return this.doAmbariRequest({
-                        method: 'GET',
-                        url: '/ws/v1/timeline/metrics/' + interpolated
-                      })
-                      .then(function (results) {
-                        //Remove fakehostname from the list of hosts on the cluster.
-                        var fake = "fakehostname"; delete results.data[fake];
-                        return _.map(_.keys(results.data), function (hostName) {
-                          return {
-                                text: hostName,
-                                expandable: hostName.expandable ? true : false
-                              };
-                        });
-                      });
-          } else {
-            // Create a dropdown in templated dashboards for single components.
-            // This will check for the component set and show hosts only for the
-            // selected component.
-            return this.doAmbariRequest({
-                method: 'GET',
-                url: '/ws/v1/timeline/metrics/hosts'
-              })
-              .then(function(results) {
-                var compToHostMap = {};
-                //Remove fakehostname from the list of hosts on the cluster.
-                var fake = "fakehostname";
-                delete results.data[fake];
-                //Query hosts based on component name
-                _.forEach(results.data, function(comp, hostName) {
-                  comp.forEach(function(component) {
-                    if (!compToHostMap[component]) {
-                      compToHostMap[component] = [];
-                    }
-                    compToHostMap[component].push(hostName);
-                  });
-                });
-                var compHosts = compToHostMap[tComponent];
-                compHosts = _.map(compHosts, function(host) {
-                  return {
-                    text: host,
-                    expandable: host.expandable ? true : false
-                  };
-                });
-                compHosts = _.sortBy(compHosts, function(i) {
-                  return i.text.toLowerCase();
-                });
-                return $q.when(compHosts);
-              });
-           }
+          if (interpolated == 'hosts') {
+            return this.suggestHosts(tComponent, templatedCluster);
+          } else if (interpolated == 'cluster') {
+            return this.suggestClusters(tComponent)
+          }
         };
 
         /**
@@ -941,34 +902,47 @@ define([
           return $q.when(keys);
         };
 
+        AmbariMetricsDatasource.prototype.suggestClusters = function(app) {
+          if (!app) { app = ''; }
+          return this.doAmbariRequest({
+            method: 'GET',
+            url: '/ws/v1/timeline/metrics/instances?' + 'appId=' + app
+          }).then(function(response) {
+              var clusters = [];
+              var data = response.data;
+              for (var cluster in data) {
+                if (data[cluster].hasOwnProperty(app)) {
+                  clusters.push({text: cluster});
+                }
+              }
+              return $q.when(clusters);
+          });
+        };
+
         /**
          * AMS Datasource - Suggest Hosts.
          *
          * Query Hosts on the cluster.
          */
-        AmbariMetricsDatasource.prototype.suggestHosts = function (query, app) {
-          console.log(query);
-          return this.doAmbariRequest({method: 'GET', url: '/ws/v1/timeline/metrics/hosts'})
-            .then(function (results) {
-              var compToHostMap = {};
-              //Remove fakehostname from the list of hosts on the cluster.
-              var fake = "fakehostname"; delete results.data[fake];
-              //Query hosts based on component name
-              _.forEach(results.data, function (comp, hostName) {
-                comp.forEach(function (component) {
-                  if (!compToHostMap[component]){
-                    compToHostMap[component] = [];
-                  }
-                  compToHostMap[component].push(hostName);
-                });
-              });
-              var compHosts = compToHostMap[app];
-              compHosts = _.map(compHosts, function (h) {
-                return {text: h};
-              });
-              compHosts = _.sortBy(compHosts, function (i) { return i.text.toLowerCase(); });
-              return $q.when(compHosts);
-            });
+        AmbariMetricsDatasource.prototype.suggestHosts = function (app, cluster) {
+          if (!app) { app = ''; }
+          if (!cluster) { cluster = ''; }
+          return this.doAmbariRequest({
+            method: 'GET',
+            url: '/ws/v1/timeline/metrics/instances?' + 'appId=' + app + '&instanceId=' + cluster
+          }).then(function (response) {
+            var hosts = [];
+            var data = response.data;
+            for (var cluster in data) {
+              var appHosts = data[cluster][app];
+              if (appHosts) {
+                for (var index in appHosts) {
+                  hosts.push({text: appHosts[index]});
+                }
+              }
+            }
+            return $q.when(hosts);
+          });
         };
 
         /**

+ 12 - 2
ambari-metrics/ambari-metrics-grafana/ambari-metrics/partials/query.editor.html

@@ -81,6 +81,18 @@
             </a>
         </li>
 
+        <li class="tight-form-item" style="width: 86px" ng-hide="dashboard.templating.list.length > 0">
+            Cluster
+        </li>
+        <li ng-hide="dashboard.templating.list.length > 0">
+            <input type="text" class="input-large tight-form-input" ng-model="target.cluster"
+                   spellcheck='false' bs-typeahead="suggestClusters" placeholder="cluster name" data-min-length=0 data-items=100
+                   ng-blur="targetBlur()">
+            </input>
+            <a bs-tooltip="target.errors.metric" style="color: rgb(229, 189, 28)" ng-show="target.errors.metric">
+                <i class="fa fa-warning"></i>
+            </a>
+        </li>
 
         <li class="tight-form-item" style="width: 86px" ng-hide="dashboard.templating.list.length > 0">
             Hosts
@@ -95,8 +107,6 @@
             </a>
         </li>
 
-
-
         <li class="tight-form-item">
             Aggregator
         </li>

+ 8 - 1
ambari-metrics/ambari-metrics-grafana/ambari-metrics/queryCtrl.js

@@ -55,6 +55,7 @@ define([
             if (newValue === '') {
               $scope.target.metric = '';
               $scope.target.hosts = '';
+              $scope.target.cluster = '';
             }
           });
           if (!$scope.target.downsampleAggregator) {
@@ -86,8 +87,14 @@ define([
             .then(callback);
         };
 
+        $scope.suggestClusters = function(query, callback) {
+          $scope.datasource.suggestClusters($scope.target.app)
+            .then($scope.getTextValues)
+            .then(callback);
+        };
+
         $scope.suggestHosts = function(query, callback) {
-          $scope.datasource.suggestHosts(query, $scope.target.app)
+          $scope.datasource.suggestHosts($scope.target.app, $scope.target.cluster)
             .then($scope.getTextValues)
             .then(callback);
         };

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hbase-misc.json

@@ -1634,6 +1634,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -1653,7 +1668,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 16 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hbase-regionservers.json

@@ -9017,6 +9017,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -9035,7 +9050,7 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hdfs-datanodes.json

@@ -1144,6 +1144,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -1162,7 +1177,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hdfs-home.json

@@ -695,6 +695,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -713,7 +728,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hdfs-namenodes.json

@@ -1884,6 +1884,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -1902,7 +1917,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hdfs-topn.json

@@ -800,6 +800,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -818,7 +833,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hive-hivemetastore.json

@@ -524,6 +524,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -542,7 +557,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query",

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-hive-hiverserver2.json

@@ -730,6 +730,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -748,7 +763,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query",

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-kafka-hosts.json

@@ -1830,6 +1830,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -1848,7 +1863,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 16 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-llapdaemon-daemons.json

@@ -2112,6 +2112,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -2132,7 +2147,7 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "type": "query"
       }

+ 16 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-llapdaemon-heatmaps.json

@@ -302,6 +302,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -321,7 +336,7 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-solr-cores-dashboard.json

@@ -1552,6 +1552,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -1564,7 +1579,8 @@
         "options": [
 
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-solr-hosts-dashboard.json

@@ -240,6 +240,21 @@
         "regex": "",
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -252,7 +267,8 @@
         "options": [
 
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-yarn-nodemanagers.json

@@ -1650,6 +1650,21 @@
         "regex": "",
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -1668,7 +1683,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-yarn-resourcemanagers.json

@@ -896,6 +896,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -914,7 +929,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 2
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ambari-server-database.json

@@ -878,6 +878,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "datasource": null,
@@ -887,8 +902,8 @@
         "name": "hosts",
         "options": [
         ],
-        "query": "hosts",
-        "refresh": true,
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "type": "query"
       }
     ]

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ambari-server-topn.json

@@ -298,6 +298,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "datasource": null,
@@ -307,7 +322,8 @@
         "name": "hosts",
         "options": [
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "type": "query"
       },

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ambari-server.json

@@ -703,6 +703,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "datasource": null,
@@ -712,7 +727,8 @@
         "name": "hosts",
         "options": [
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "type": "query"
       }

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-misc.json

@@ -1634,6 +1634,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -1653,7 +1668,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 16 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-regionservers.json

@@ -9017,6 +9017,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -9036,7 +9051,7 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"

+ 17 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-system-servers.json

@@ -2435,6 +2435,21 @@
         "refresh": false,
         "type": "custom"
       },
+      {
+        "allFormat": "glob",
+        "current": null,
+        "datasource": null,
+        "includeAll": false,
+        "label": "Cluster",
+        "multi": false,
+        "multiFormat": "glob",
+        "name": "cluster",
+        "options": [],
+        "query": "cluster",
+        "refresh": true,
+        "regex": "",
+        "type": "query"
+      },
       {
         "allFormat": "glob",
         "current": {
@@ -2453,7 +2468,8 @@
             "selected": true
           }
         ],
-        "query": "hosts",
+        "label": "Hosts",
+        "query": "hosts.$cluster",
         "refresh": true,
         "regex": "",
         "type": "query"