AMBARI-16859. Kafka dashboards for Grafana. (Prajwal Rao via yusaku)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fbaa4c8b Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fbaa4c8b Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fbaa4c8b Branch: refs/heads/branch-2.4 Commit: fbaa4c8bbf5d3ec40ff483a34ca68e7f177e6f82 Parents: 0875142 Author: Yusaku Sako <[email protected]> Authored: Wed Jun 1 10:55:34 2016 -0700 Committer: Yusaku Sako <[email protected]> Committed: Wed Jun 1 10:57:34 2016 -0700 ---------------------------------------------------------------------- .../ambari-metrics/datasource.js | 51 + .../HDP/grafana-kafka-home.json | 1089 ++++++++++ .../HDP/grafana-kafka-hosts.json | 1875 ++++++++++++++++++ .../HDP/grafana-kafka-topics.json | 521 +++++ 4 files changed, 3536 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/fbaa4c8b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js ---------------------------------------------------------------------- diff --git a/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js index 33eb719..6c6b43b 100644 --- a/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js +++ b/ambari-metrics/ambari-metrics-grafana/ambari-metrics/datasource.js @@ -97,6 +97,8 @@ define([ var alias = target.alias ? target.alias : target.metric; if(!_.isEmpty(templateSrv.variables) && templateSrv.variables[0].query === "yarnqueues") { alias = alias + ' on ' + target.qmetric; } + if(!_.isEmpty(templateSrv.variables) && templateSrv.variables[0].query === "kafka-topics") { + alias = alias + ' on ' + target.kbTopic; } return function (res) { console.log('processing metric ' + target.metric); if (!res.metrics[0] || target.hide) { @@ -222,6 +224,18 @@ define([ allHostMetricsData(target) ); }; + + var getKafkaAppIdData = 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; + return backendSrv.get(self.url + '/ws/v1/timeline/metrics?metricNames=' + target.kbMetric + metricTransform + + metricAggregator + '&appId=kafka_broker&startTime=' + from + + '&endTime=' + to + precision).then( + getMetricsData(target) + ); + }; // Time Ranges var from = Math.floor(options.range.from.valueOf() / 1000); @@ -290,6 +304,22 @@ define([ })); }); } + // Templatized Dashboard for per-topic metrics in Kafka. + if (templateSrv.variables[0].query === "kafka-topics") { + var allTopics = templateSrv.variables.filter(function(variable) { return variable.query === "kafka-topics";}); + var selectedTopics = (_.isEmpty(allTopics)) ? "" : allTopics[0].options.filter(function(topic) + { return topic.selected; }).map(function(topicName) { return topicName.value; }); + selectedTopics = templateSrv._values.Topics.lastIndexOf('}') > 0 ? templateSrv._values.Topics.slice(1,-1) : + templateSrv._values.Topics; + var selectedTopic = selectedTopics.split(','); + _.forEach(selectedTopic, function(processTopic) { + metricsPromises.push(_.map(options.targets, function(target) { + target.kbTopic = processTopic; + target.kbMetric = target.metric.replace('*', target.kbTopic); + return getKafkaAppIdData(target); + })); + }); + } // To speed up querying on templatized dashboards. if (templateSrv.variables[1] && templateSrv.variables[1].name === "hosts") { @@ -406,6 +436,27 @@ define([ }); }); } + // Templated Variable for Kafka Topics. + // It will search the cluster and populate the topics. + if(interpolated === "kafka-topics") { + return this.initMetricAppidMapping() + .then(function () { + var kafkaTopics = allMetrics["kafka_broker"]; + var extractTopics = kafkaTopics.filter(/./.test.bind(new RegExp("\\b.log.Log.\\b", 'g'))); + var topics =_.map(extractTopics, function (topic) { + var topicPrefix = "topic."; + return topic.substring(topic.lastIndexOf(topicPrefix)+topicPrefix.length, topic.length); + }); + topics = _.sortBy(_.uniq(topics)); + var i = topics.indexOf("ambari_kafka_service_check"); + if(i != -1) { topics.splice(i, 1);} + return _.map(topics, function (topics) { + return { + text: topics + }; + }); + }); + } // Templated Variable for YARN Queues. // It will search the cluster and populate the queues. http://git-wip-us.apache.org/repos/asf/ambari/blob/fbaa4c8b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-kafka-home.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-kafka-home.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-kafka-home.json new file mode 100644 index 0000000..b754231 --- /dev/null +++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/HDP/grafana-kafka-home.json @@ -0,0 +1,1089 @@ +{ + "id": null, + "title": "Kafka - Home", + "originalTitle": "Kafka - Home", + "tags": [ + "kafka" + ], + "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 Kafka cluster. 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>", + "editable": true, + "error": false, + "id": 15, + "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": 5, + "isNew": true, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "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": "Bytes In", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.server.BrokerTopicMetrics.BytesInPerSec.count", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "none" + }, + { + "aggregator": "avg", + "alias": "Bytes Out", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.server.BrokerTopicMetrics.BytesOutPerSec.count", + "precision": "default", + "refId": "B", + "transform": "none", + "transformData": "none" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Bytes In & Out /s", + "tooltip": { + "shared": true, + "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": 6, + "isNew": true, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "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": "Messages In", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.server.BrokerTopicMetrics.MessagesInPerSec.count", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "none" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Messages In /s", + "tooltip": { + "shared": true, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ] + } + ], + "showTitle": true, + "title": "Bytes / Messages" + }, + { + "collapse": true, + "editable": true, + "height": "100px", + "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": 4, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "targets": [ + { + "aggregator": "avg", + "alias": "Active Controller Count", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "hide": false, + "metric": "kafka.controller.KafkaController.ActiveControllerCount", + "precision": "default", + "refId": "A", + "transformData": "none" + } + ], + "thresholds": "", + "title": "Active Controller Count", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "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": 4, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "targets": [ + { + "aggregator": "avg", + "alias": "Replica MaxLag", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "hide": false, + "metric": "kafka.server.ReplicaFetcherManager.MaxLag.clientId.Replica", + "precision": "default", + "refId": "A", + "transformData": "none" + } + ], + "thresholds": "", + "title": "Replica MaxLag", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "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", + "alias": "Leader Count", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "hide": false, + "metric": "kafka.server.ReplicaManager.LeaderCount", + "precision": "default", + "refId": "A", + "transformData": "none" + } + ], + "thresholds": "", + "title": "Leader Count", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + } + ], + "showTitle": true, + "title": "Controller/Leader Count & Replica MaxLag" + }, + { + "collapse": true, + "editable": true, + "height": "100px", + "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": 13, + "interval": null, + "isNew": true, + "links": [], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "span": 6, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "targets": [ + { + "aggregator": "avg", + "alias": "UnderReplicatedPartitions", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.server.ReplicaManager.UnderReplicatedPartitions", + "precision": "default", + "refId": "A", + "transformData": "none" + } + ], + "thresholds": "", + "title": "Under Replicated Partitions", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "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": 14, + "interval": null, + "isNew": true, + "links": [], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "span": 6, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "targets": [ + { + "aggregator": "avg", + "alias": "OfflinePartitionsCount", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.controller.KafkaController.OfflinePartitionsCount", + "precision": "default", + "refId": "A", + "transformData": "none" + } + ], + "thresholds": "", + "title": "Offline Partitions Count", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + } + ], + "showTitle": true, + "title": "Under Replicated Partitions & Offline Partitions Count" + }, + { + "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, + "max": false, + "min": false, + "show": true, + "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": "Produce Requests", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.network.RequestMetrics.RequestsPerSec.request.Produce.count", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "none" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Produce Requests /s", + "tooltip": { + "shared": true, + "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": 8, + "isNew": true, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "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": "Consumer Requests", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.network.RequestMetrics.RequestsPerSec.request.FetchConsumer.count", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "none" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Consumer Requests /s", + "tooltip": { + "shared": true, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ] + } + ], + "showTitle": true, + "title": "Producer & Consumer Requests" + }, + { + "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, + "max": false, + "min": false, + "show": true, + "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": "Leader Election Rate", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.count", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "rate" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Leader Election Rate", + "tooltip": { + "shared": true, + "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, + "max": false, + "min": false, + "show": true, + "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": "Unclean Leader Elections", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.controller.ControllerStats.UncleanLeaderElectionsPerSec.count", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "none" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Unclean Leader Elections", + "tooltip": { + "shared": true, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ] + } + ], + "showTitle": true, + "title": "Leader Election & Unclean Leader Elections" + }, + { + "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": 11, + "isNew": true, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "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": "ISR Shrinks", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.server.ReplicaManager.IsrShrinksPerSec.count", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "none" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "In-Sync Replica Shrinks /s", + "tooltip": { + "shared": true, + "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": 12, + "isNew": true, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "minSpan": null, + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": false, + "steppedLine": false, + "targets": [ + { + "aggregator": "avg", + "alias": "ISR Expands", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.server.ReplicaManager.IsrExpandsPerSec.count", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "none" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "In-Sync Replica Expands /s", + "tooltip": { + "shared": true, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ] + } + ], + "showTitle": true, + "title": "In-Sync Replica Shrinks / Expanded" + }, + { + "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": 16, + "isNew": true, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "aggregator": "avg", + "alias": "MaxLag", + "app": "kafka_broker", + "downsampleAggregator": "avg", + "errors": {}, + "metric": "kafka.server.ReplicaFetcherManager.MaxLag.clientId.Replica", + "precision": "default", + "refId": "A", + "transform": "none", + "transformData": "none" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Replica Fetcher Manager MaxLag", + "tooltip": { + "shared": true, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "short", + "short" + ] + } + ], + "showTitle": true, + "title": "Replica Fetcher Manager" + } + ], + "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": 16, + "links": [ + { + "asDropdown": true, + "icon": "external link", + "keepTime": true, + "tags": [ + "kafka" + ], + "title": "Kafka Dashboards", + "type": "dashboards" + } + ] +} \ No newline at end of file
