1 # Copyright 2019 Minsait - Indra S.A.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 # Author: Jose Manuel Palacios (jmpalacios@minsait.com)
15 # Author: Jose Antonio Martinez (jamartinezv@minsait.com)
21 app: prometheus-kafka-exporter-grafana
22 grafana_dashboard: "1"
24 name: osm-monitoring-prometheus-kafka-exporter-grafana
26 k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"
28 kafka-exporter-dashboard.json: |-
34 "datasource": "-- Grafana --",
37 "iconColor": "rgba(0, 211, 255, 1)",
38 "name": "Annotations & Alerts",
43 "description": "Kafka resource usage and throughput",
48 "iteration": 1578848023483,
56 "datasource": "Prometheus",
83 "nullPointMode": "connected",
91 "seriesOverrides": [],
97 "expr": "sum(kafka_topic_partition_current_offset - kafka_topic_partition_oldest_offset{instance=\"$instance\", topic=~\"$topic\"}) by (topic)",
98 "format": "time_series",
100 "legendFormat": "{{topic}}",
108 "title": "Messages stored per topic",
112 "value_type": "individual"
150 "datasource": "Prometheus",
161 "alignAsTable": true,
177 "nullPointMode": "connected",
185 "seriesOverrides": [],
188 "steppedLine": false,
191 "expr": "sum(kafka_consumergroup_lag{instance=\"$instance\",topic=~\"$topic\"}) by (consumergroup, topic) ",
192 "format": "time_series",
196 "legendFormat": " {{topic}} ({{consumergroup}})",
204 "title": "Lag by Consumer Group",
208 "value_type": "individual"
246 "datasource": "Prometheus",
257 "alignAsTable": true,
271 "nullPointMode": "connected",
279 "seriesOverrides": [],
282 "steppedLine": false,
285 "expr": "sum(delta(kafka_topic_partition_current_offset{instance=~'$instance', topic=~\"$topic\"}[5m])/5) by (topic)",
286 "format": "time_series",
288 "legendFormat": "{{topic}}",
296 "title": "Messages produced per minute",
300 "value_type": "individual"
338 "datasource": "Prometheus",
349 "alignAsTable": true,
365 "nullPointMode": "connected",
373 "seriesOverrides": [],
376 "steppedLine": false,
379 "expr": "sum(delta(kafka_consumergroup_current_offset{instance=~'$instance',topic=~\"$topic\"}[5m])/5) by (consumergroup, topic)",
380 "format": "time_series",
382 "legendFormat": " {{topic}} ({{consumergroup}})",
390 "title": "Messages consumed per minute",
394 "value_type": "individual"
432 "datasource": "Prometheus",
443 "alignAsTable": true,
457 "nullPointMode": "null",
465 "seriesOverrides": [],
468 "steppedLine": false,
471 "expr": "sum by(topic) (kafka_topic_partitions{instance=\"$instance\",topic=~\"$topic\"})",
472 "format": "time_series",
474 "legendFormat": "{{topic}}",
482 "title": "Partitions per Topic",
486 "value_type": "individual"
531 "text": "osm-kafka-exporter-service",
532 "value": "osm-kafka-exporter-service"
534 "datasource": "Prometheus",
542 "query": "label_values(kafka_consumergroup_current_offset, job)",
545 "skipUrlSync": false,
547 "tagValuesQuery": "",
555 "datasource": "Prometheus",
563 "query": "label_values(kafka_consumergroup_current_offset{job=~\"$job\"}, instance)",
566 "skipUrlSync": false,
568 "tagValuesQuery": "",
583 "datasource": "Prometheus",
591 "query": "label_values(kafka_topic_partition_current_offset{instance='$instance',topic!='__consumer_offsets',topic!='--kafka'}, topic)",
594 "skipUrlSync": false,
596 "tagValuesQuery": "",
598 "tagsQuery": "topic",
609 "refresh_intervals": [
633 "timezone": "browser",