diff --git a/manifests/grafana/grafana-cm.yaml b/manifests/grafana/grafana-cm.yaml index b6282e704e827f43efc796a0445f2a5271fa69dd..4c2ecbb6d3ab301ee09b332d6ff54d1a80448ef7 100644 --- a/manifests/grafana/grafana-cm.yaml +++ b/manifests/grafana/grafana-cm.yaml @@ -3,6 +3,8 @@ kind: ConfigMap metadata: name: grafana-dashboards data: + grafana-kubernetes-deployments-dashboard.json: | + {"dashboard":{"templating": {"list": [{"sort": 0, "query": "label_values(kube_deployment_metadata_generation, deployment)", "regex": "", "current": {}, "multi": true, "hide": 0, "name": "deployment_name", "allValue": null, "tagsQuery": "deployment", "refresh": 1, "label": "Deployment", "tagValuesQuery": "", "datasource": "${DS_PROMETHEUS}", "type": "query", "options": [], "includeAll": false}, {"sort": 0, "query": "label_values(kube_deployment_metadata_generation, namespace)", "regex": "", "current": {}, "multi": true, "hide": 0, "name": "deployment_namespace", "allValue": null, "tagsQuery": null, "refresh": 1, "label": "Namespace", "tagValuesQuery": null, "datasource": "${DS_PROMETHEUS}", "type": "query", "options": [], "includeAll": false}]}, "links": [], "tags": [], "editable": true, "__inputs": [{"pluginName": "Prometheus", "description": "", "name": "DS_PROMETHEUS", "type": "datasource", "pluginId": "prometheus", "label": "prometheus"}], "__requires": [{"version": "", "type": "panel", "id": "singlestat", "name": "Singlestat"}, {"version": "", "type": "panel", "id": "graph", "name": "Graph"}, {"version": "4.0.0-pre1", "type": "grafana", "id": "grafana", "name": "Grafana"}, {"version": "1.0.0", "type": "datasource", "id": "prometheus", "name": "Prometheus"}], "timezone": "browser", "schemaVersion": 13, "timepicker": {"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"], "refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"]}, "id": null, "style": "dark", "rows": [{"height": "250px", "panels": [{"mappingTypes": [{"name": "value to text", "value": 1}, {"name": "range to text", "value": 2}], "links": [], "isNew": true, "thresholds": "", "rangeMaps": [{"text": "N/A", "from": "null", "to": "null"}], "nullPointMode": "connected", "prefix": "", "gauge": {"thresholdMarkers": true, "show": false, "minValue": 0, "maxValue": 100, "thresholdLabels": false}, "id": 2, "maxDataPoints": 100, "mappingType": 1, "span": 4, "colorBackground": false, "title": "Metadata Generation", "valueMaps": [{"text": "N/A", "value": "null", "op": "="}], "sparkline": {"full": false, "fillColor": "rgba(31, 118, 189, 0.18)", "lineColor": "rgb(31, 120, 193)", "show": false}, "targets": [{"intervalFactor": 2, "expr": "kube_deployment_metadata_generation{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}", "step": 600, "refId": "A", "legendFormat": ""}], "prefixFontSize": "50%", "valueName": "avg", "type": "singlestat", "valueFontSize": "80%", "format": "none", "editable": true, "cacheTimeout": null, "postfix": "", "interval": null, "colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"], "datasource": "${DS_PROMETHEUS}", "error": false, "nullText": null, "postfixFontSize": "50%", "colorValue": false}, {"mappingTypes": [{"name": "value to text", "value": 1}, {"name": "range to text", "value": 2}], "links": [], "isNew": true, "thresholds": "", "rangeMaps": [{"text": "N/A", "from": "null", "to": "null"}], "nullPointMode": "connected", "prefix": "", "gauge": {"thresholdMarkers": true, "show": false, "minValue": 0, "maxValue": 100, "thresholdLabels": false}, "id": 3, "maxDataPoints": 100, "mappingType": 1, "span": 4, "colorBackground": false, "title": "Observed Generation", "valueMaps": [{"text": "N/A", "value": "null", "op": "="}], "sparkline": {"full": false, "fillColor": "rgba(31, 118, 189, 0.18)", "lineColor": "rgb(31, 120, 193)", "show": false}, "targets": [{"intervalFactor": 2, "expr": "kube_deployment_status_observed_generation{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}", "step": 600, "refId": "A", "legendFormat": ""}], "prefixFontSize": "50%", "valueName": "avg", "type": "singlestat", "valueFontSize": "80%", "format": "none", "editable": true, "cacheTimeout": null, "postfix": "", "interval": null, "colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"], "datasource": "${DS_PROMETHEUS}", "error": false, "nullText": null, "postfixFontSize": "50%", "colorValue": false}, {"mappingTypes": [{"name": "value to text", "value": 1}, {"name": "range to text", "value": 2}], "links": [], "isNew": true, "thresholds": "", "rangeMaps": [{"text": "N/A", "from": "null", "to": "null"}], "nullPointMode": "connected", "prefix": "", "gauge": {"thresholdMarkers": true, "show": false, "minValue": 0, "maxValue": 100, "thresholdLabels": false}, "id": 4, "maxDataPoints": 100, "mappingType": 1, "span": 4, "colorBackground": false, "title": "Paused", "valueMaps": [{"text": "N/A", "value": "null", "op": "="}], "sparkline": {"full": false, "fillColor": "rgba(31, 118, 189, 0.18)", "lineColor": "rgb(31, 120, 193)", "show": false}, "targets": [{"intervalFactor": 2, "expr": "kube_deployment_spec_paused{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}", "step": 600, "refId": "A", "legendFormat": ""}], "prefixFontSize": "50%", "valueName": "avg", "type": "singlestat", "valueFontSize": "80%", "format": "none", "editable": true, "cacheTimeout": null, "postfix": "", "interval": null, "colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"], "datasource": "${DS_PROMETHEUS}", "error": false, "nullText": null, "postfixFontSize": "50%", "colorValue": false}], "editable": true, "collapse": false, "title": "Row"}, {"height": "250px", "panels": [{"bars": false, "timeFrom": null, "links": [], "isNew": true, "thresholds": [], "pointradius": 5, "editable": true, "nullPointMode": "connected", "grid": {}, "renderer": "flot", "stack": false, "linewidth": 2, "steppedLine": false, "id": 1, "fill": 1, "span": 12, "title": "Deployment Replicas", "timeShift": null, "points": false, "aliasColors": {}, "lines": true, "tooltip": {"sort": 0, "shared": true, "value_type": "cumulative", "msResolution": true}, "legend": {"current": false, "avg": false, "values": false, "min": false, "show": true, "max": false, "total": false}, "targets": [{"intervalFactor": 2, "expr": "kube_deployment_status_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}", "step": 30, "refId": "A"}, {"intervalFactor": 2, "expr": "kube_deployment_status_replicas_available{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}", "step": 30, "refId": "B", "legendFormat": ""}, {"intervalFactor": 2, "expr": "kube_deployment_status_replicas_unavailable{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}", "step": 30, "refId": "C", "legendFormat": ""}, {"intervalFactor": 2, "expr": "kube_deployment_status_replicas_updated{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}", "step": 30, "refId": "D", "legendFormat": ""}, {"intervalFactor": 2, "expr": "kube_deployment_spec_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}", "step": 30, "refId": "E"}], "yaxes": [{"logBase": 1, "min": null, "show": true, "max": null, "format": "short", "label": null}, {"logBase": 1, "min": null, "show": true, "max": null, "format": "short", "label": null}], "datasource": "${DS_PROMETHEUS}", "xaxis": {"values": [], "mode": "time", "name": null, "show": true}, "error": false, "seriesOverrides": [], "percentage": false, "type": "graph"}], "editable": true, "collapse": false, "title": "New row"}], "title": "Deployment", "hideControls": false, "gnetId": null, "version": 7, "sharedCrosshair": false, "time": {"to": "now", "from": "now-6h"}, "annotations": {"list": []}},"overwrite":true,"inputs":[{"name":"DS_PROMETHEUS","type":"datasource","pluginId":"prometheus","value":"prometheus"}]} grafana-net-2-dashboard.json: | {"dashboard":{"__inputs":[{"name":"DS_PROMETHEUS","label":"Prometheus","description":"","type":"datasource","pluginId":"prometheus","pluginName":"Prometheus"}],"__requires":[{"type":"panel","id":"singlestat","name":"Singlestat","version":""},{"type":"panel","id":"text","name":"Text","version":""},{"type":"panel","id":"graph","name":"Graph","version":""},{"type":"grafana","id":"grafana","name":"Grafana","version":"3.1.0"},{"type":"datasource","id":"prometheus","name":"Prometheus","version":"1.0.0"}],"id":null,"title":"Prometheus Stats","tags":[],"style":"dark","timezone":"browser","editable":true,"hideControls":true,"sharedCrosshair":false,"rows":[{"collapse":false,"editable":true,"height":178,"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":"${DS_PROMETHEUS}","decimals":1,"editable":true,"error":false,"format":"s","id":5,"interval":null,"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":false},"targets":[{"expr":"(time() - process_start_time_seconds{job=\"prometheus\"})","intervalFactor":2,"refId":"A","step":4}],"thresholds":"","title":"Uptime","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current","mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"rangeMaps":[{"from":"null","to":"null","text":"N/A"}],"mappingType":1,"gauge":{"show":false,"minValue":0,"maxValue":100,"thresholdMarkers":true,"thresholdLabels":false}},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"${DS_PROMETHEUS}","editable":true,"error":false,"format":"none","id":6,"interval":null,"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":[{"expr":"prometheus_local_storage_memory_series","intervalFactor":2,"refId":"A","step":4}],"thresholds":"1,5","title":"Local Storage Memory Series","type":"singlestat","valueFontSize":"70%","valueMaps":[],"valueName":"current","mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"rangeMaps":[{"from":"null","to":"null","text":"N/A"}],"mappingType":1,"gauge":{"show":false,"minValue":0,"maxValue":100,"thresholdMarkers":true,"thresholdLabels":false}},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"${DS_PROMETHEUS}","editable":true,"error":false,"format":"none","id":7,"interval":null,"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":[{"expr":"prometheus_local_storage_indexing_queue_length","intervalFactor":2,"refId":"A","step":4}],"thresholds":"500,4000","title":"Interal Storage Queue Length","type":"singlestat","valueFontSize":"70%","valueMaps":[{"op":"=","text":"Empty","value":"0"}],"valueName":"current","mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"rangeMaps":[{"from":"null","to":"null","text":"N/A"}],"mappingType":1,"gauge":{"show":false,"minValue":0,"maxValue":100,"thresholdMarkers":true,"thresholdLabels":false}},{"content":"<img src=\"http://prometheus.io/assets/prometheus_logo_grey.svg\" alt=\"Prometheus logo\" style=\"height: 40px;\">\n<span style=\"font-family: 'Open Sans', 'Helvetica Neue', Helvetica; font-size: 25px;vertical-align: text-top;color: #bbbfc2;margin-left: 10px;\">Prometheus</span>\n\n<p style=\"margin-top: 10px;\">You're using Prometheus, an open-source systems monitoring and alerting toolkit originally built at SoundCloud. For more information, check out the <a href=\"http://www.grafana.org/\">Grafana</a> and <a href=\"http://prometheus.io/\">Prometheus</a> projects.</p>","editable":true,"error":false,"id":9,"links":[],"mode":"html","span":3,"style":{},"title":"","transparent":true,"type":"text"}],"title":"New row"},{"collapse":false,"editable":true,"height":227,"panels":[{"aliasColors":{"prometheus":"#C15C17","{instance=\"localhost:9090\",job=\"prometheus\"}":"#C15C17"},"bars":false,"datasource":"${DS_PROMETHEUS}","editable":true,"error":false,"fill":1,"grid":{"threshold1":null,"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2":null,"threshold2Color":"rgba(234, 112, 112, 0.22)"},"id":3,"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":2,"points":false,"renderer":"flot","seriesOverrides":[],"span":9,"stack":false,"steppedLine":false,"targets":[{"expr":"rate(prometheus_local_storage_ingested_samples_total[5m])","interval":"","intervalFactor":2,"legendFormat":"{{job}}","metric":"","refId":"A","step":2}],"timeFrom":null,"timeShift":null,"title":"Samples ingested (rate-5m)","tooltip":{"shared":true,"value_type":"cumulative","ordering":"alphabetical","msResolution":false},"type":"graph","yaxes":[{"show":true,"min":null,"max":null,"logBase":1,"format":"short"},{"show":true,"min":null,"max":null,"logBase":1,"format":"short"}],"xaxis":{"show":true}},{"content":"#### Samples Ingested\nThis graph displays the count of samples ingested by the Prometheus server, as measured over the last 5 minutes, per time series in the range vector. When troubleshooting an issue on IRC or Github, this is often the first stat requested by the Prometheus team. ","editable":true,"error":false,"id":8,"links":[],"mode":"markdown","span":2.995914043583536,"style":{},"title":"","transparent":true,"type":"text"}],"title":"New row"},{"collapse":false,"editable":true,"height":"250px","panels":[{"aliasColors":{"prometheus":"#F9BA8F","{instance=\"localhost:9090\",interval=\"5s\",job=\"prometheus\"}":"#F9BA8F"},"bars":false,"datasource":"${DS_PROMETHEUS}","editable":true,"error":false,"fill":1,"grid":{"threshold1":null,"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2":null,"threshold2Color":"rgba(234, 112, 112, 0.22)"},"id":2,"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":5,"stack":false,"steppedLine":false,"targets":[{"expr":"rate(prometheus_target_interval_length_seconds_count[5m])","intervalFactor":2,"legendFormat":"{{job}}","refId":"A","step":2}],"timeFrom":null,"timeShift":null,"title":"Target Scrapes (last 5m)","tooltip":{"shared":true,"value_type":"cumulative","ordering":"alphabetical","msResolution":false},"type":"graph","yaxes":[{"show":true,"min":null,"max":null,"logBase":1,"format":"short"},{"show":true,"min":null,"max":null,"logBase":1,"format":"short"}],"xaxis":{"show":true}},{"aliasColors":{},"bars":false,"datasource":"${DS_PROMETHEUS}","editable":true,"error":false,"fill":1,"grid":{"threshold1":null,"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2":null,"threshold2Color":"rgba(234, 112, 112, 0.22)"},"id":14,"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":4,"stack":false,"steppedLine":false,"targets":[{"expr":"prometheus_target_interval_length_seconds{quantile!=\"0.01\", quantile!=\"0.05\"}","interval":"","intervalFactor":2,"legendFormat":"{{quantile}} ({{interval}})","metric":"","refId":"A","step":2}],"timeFrom":null,"timeShift":null,"title":"Scrape Duration","tooltip":{"shared":true,"value_type":"cumulative","ordering":"alphabetical","msResolution":false},"type":"graph","yaxes":[{"show":true,"min":null,"max":null,"logBase":1,"format":"short"},{"show":true,"min":null,"max":null,"logBase":1,"format":"short"}],"xaxis":{"show":true}},{"content":"#### Scrapes\nPrometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. Target scrapes will show how frequently targets are scraped, as measured over the last 5 minutes, per time series in the range vector. Scrape Duration will show how long the scrapes are taking, with percentiles available as series. ","editable":true,"error":false,"id":11,"links":[],"mode":"markdown","span":3,"style":{},"title":"","transparent":true,"type":"text"}],"title":"New row"},{"collapse":false,"editable":true,"height":"250px","panels":[{"aliasColors":{},"bars":false,"datasource":"${DS_PROMETHEUS}","decimals":null,"editable":true,"error":false,"fill":1,"grid":{"threshold1":null,"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2":null,"threshold2Color":"rgba(234, 112, 112, 0.22)"},"id":12,"legend":{"alignAsTable":false,"avg":false,"current":false,"hideEmpty":true,"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":9,"stack":false,"steppedLine":false,"targets":[{"expr":"prometheus_evaluator_duration_milliseconds{quantile!=\"0.01\", quantile!=\"0.05\"}","interval":"","intervalFactor":2,"legendFormat":"{{quantile}}","refId":"A","step":2}],"timeFrom":null,"timeShift":null,"title":"Rule Eval Duration","tooltip":{"shared":true,"value_type":"cumulative","ordering":"alphabetical","msResolution":false},"type":"graph","yaxes":[{"show":true,"min":null,"max":null,"logBase":1,"format":"percentunit","label":""},{"show":true,"min":null,"max":null,"logBase":1,"format":"short"}],"xaxis":{"show":true}},{"content":"#### Rule Evaluation Duration\nThis graph panel plots the duration for all evaluations to execute. The 50th percentile, 90th percentile and 99th percentile are shown as three separate series to help identify outliers that may be skewing the data.","editable":true,"error":false,"id":15,"links":[],"mode":"markdown","span":3,"style":{},"title":"","transparent":true,"type":"text"}],"title":"New row"}],"time":{"from":"now-5m","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":[]},"refresh":false,"schemaVersion":12,"version":0,"links":[{"icon":"info","tags":[],"targetBlank":true,"title":"Grafana Docs","tooltip":"","type":"link","url":"http://www.grafana.org/docs"},{"icon":"info","tags":[],"targetBlank":true,"title":"Prometheus Docs","type":"link","url":"http://prometheus.io/docs/introduction/overview/"}],"gnetId":2,"description":"The official, pre-built Prometheus Stats Dashboard."},"overwrite":true,"inputs":[{"name":"DS_PROMETHEUS","type":"datasource","pluginId":"prometheus","value":"prometheus"}]} grafana-net-162-dashboard.json: |