| { | |
| "__inputs": [ | |
| { | |
| "name": "DS_PROMETHEUS", | |
| "label": "prometheus", | |
| "description": "", | |
| "type": "datasource", | |
| "pluginId": "prometheus", | |
| "pluginName": "Prometheus" | |
| } | |
| ], | |
| "__requires": [ | |
| { | |
| "type": "grafana", | |
| "id": "grafana", | |
| "name": "Grafana", | |
| "version": "4.1.1" | |
| }, | |
| { | |
| "type": "panel", | |
| "id": "graph", | |
| "name": "Graph", | |
| "version": "" | |
| }, | |
| { | |
| "type": "datasource", | |
| "id": "prometheus", | |
| "name": "Prometheus", | |
| "version": "1.0.0" | |
| } | |
| ], | |
| "annotations": { | |
| "list": [] | |
| }, | |
| "editable": true, | |
| "gnetId": 1471, | |
| "graphTooltip": 1, | |
| "hideControls": false, | |
| "id": null, | |
| "links": [], | |
| "refresh": "30s", | |
| "rows": [ | |
| { | |
| "collapse": false, | |
| "height": "250px", | |
| "panels": [ | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "grid": {}, | |
| "id": 3, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 2, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(irate(http_requests_total{app=\"$container\", handler!=\"prometheus\", kubernetes_namespace=\"$namespace\"}[30s])) by (kubernetes_namespace,app,code)", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "native | {{code}}", | |
| "refId": "A", | |
| "step": 10 | |
| }, | |
| { | |
| "expr": "sum(irate(nginx_http_requests_total{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (kubernetes_namespace,app,status)", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "nginx | {{status}}", | |
| "refId": "B", | |
| "step": 10 | |
| }, | |
| { | |
| "expr": "sum(irate(haproxy_backend_http_responses_total{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (app,kubernetes_namespace,code)", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "haproxy | {{code}}", | |
| "refId": "C", | |
| "step": 10 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Request rate", | |
| "tooltip": { | |
| "msResolution": true, | |
| "shared": false, | |
| "sort": 0, | |
| "value_type": "cumulative" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "ops", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| }, | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "fill": 1, | |
| "id": 15, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "null", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(irate(haproxy_backend_http_responses_total{app=\"$container\", kubernetes_namespace=\"$namespace\",code=\"5xx\"}[30s])) by (app,kubernetes_namespace) / sum(irate(haproxy_backend_http_responses_total{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (app,kubernetes_namespace)", | |
| "interval": "", | |
| "intervalFactor": 2, | |
| "legendFormat": "haproxy", | |
| "refId": "A", | |
| "step": 20 | |
| }, | |
| { | |
| "expr": "sum(irate(http_requests_total{app=\"$container\", handler!=\"prometheus\", kubernetes_namespace=\"$namespace\", code=~\"5[0-9]+\"}[30s])) by (kubernetes_namespace,app) / sum(irate(http_requests_total{app=\"$container\", handler!=\"prometheus\", kubernetes_namespace=\"$namespace\"}[30s])) by (kubernetes_namespace,app)", | |
| "intervalFactor": 2, | |
| "legendFormat": "native", | |
| "refId": "B", | |
| "step": 20 | |
| }, | |
| { | |
| "expr": "sum(irate(nginx_http_requests_total{app=\"$container\", kubernetes_namespace=\"$namespace\", status=~\"5[0-9]+\"}[30s])) by (kubernetes_namespace,app) / sum(irate(nginx_http_requests_total{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (kubernetes_namespace,app)", | |
| "intervalFactor": 2, | |
| "legendFormat": "nginx", | |
| "refId": "C", | |
| "step": 20 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Error rate", | |
| "tooltip": { | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "percentunit", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| } | |
| ], | |
| "repeat": null, | |
| "repeatIteration": null, | |
| "repeatRowId": null, | |
| "showTitle": false, | |
| "title": "Request rate", | |
| "titleSize": "h6" | |
| }, | |
| { | |
| "collapse": true, | |
| "height": 224, | |
| "panels": [ | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "grid": {}, | |
| "id": 5, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "max", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 2, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 12, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (app,kubernetes_namespace,le))", | |
| "intervalFactor": 1, | |
| "legendFormat": "native | 0.99", | |
| "refId": "A", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "histogram_quantile(0.90, sum(rate(http_request_duration_seconds_bucket{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (app,kubernetes_namespace,le))", | |
| "intervalFactor": 1, | |
| "legendFormat": "native | 0.90", | |
| "refId": "B", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "histogram_quantile(0.5, sum(rate(http_request_duration_seconds_bucket{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (app,kubernetes_namespace,le))", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "native | 0.50", | |
| "refId": "C", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "histogram_quantile(0.99, sum(rate(nginx_http_request_duration_seconds_bucket{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (app,kubernetes_namespace,le))", | |
| "intervalFactor": 1, | |
| "legendFormat": "nginx | 0.99", | |
| "refId": "D", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "histogram_quantile(0.9, sum(rate(nginx_http_request_duration_seconds_bucket{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (app,kubernetes_namespace,le))", | |
| "intervalFactor": 1, | |
| "legendFormat": "nginx | 0.90", | |
| "refId": "E", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "histogram_quantile(0.5, sum(rate(nginx_http_request_duration_seconds_bucket{app=\"$container\", kubernetes_namespace=\"$namespace\"}[30s])) by (app,kubernetes_namespace,le))", | |
| "intervalFactor": 1, | |
| "legendFormat": "nginx | 0.50", | |
| "refId": "F", | |
| "step": 1 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Response time percentiles", | |
| "tooltip": { | |
| "msResolution": true, | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "cumulative" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "s", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| } | |
| ], | |
| "repeat": null, | |
| "repeatIteration": null, | |
| "repeatRowId": null, | |
| "showTitle": false, | |
| "title": "Response time", | |
| "titleSize": "h6" | |
| }, | |
| { | |
| "collapse": false, | |
| "height": 250, | |
| "panels": [ | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "id": 7, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 12, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "count(count(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (pod_name))", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "pods", | |
| "refId": "A", | |
| "step": 5 | |
| }, | |
| { | |
| "expr": "count(count(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (kubernetes_io_hostname))", | |
| "interval": "", | |
| "intervalFactor": 2, | |
| "legendFormat": "hosts", | |
| "refId": "B", | |
| "step": 10 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Number of pods", | |
| "tooltip": { | |
| "msResolution": false, | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| } | |
| ], | |
| "repeat": null, | |
| "repeatIteration": null, | |
| "repeatRowId": null, | |
| "showTitle": false, | |
| "title": "Pod count", | |
| "titleSize": "h6" | |
| }, | |
| { | |
| "collapse": false, | |
| "height": 250, | |
| "panels": [ | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "id": 12, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [ | |
| { | |
| "alias": "elasticsearch-logging-data-20170207a (logging) - system", | |
| "color": "#BF1B00" | |
| }, | |
| { | |
| "alias": "elasticsearch-logging-data-20170207a (logging) - user", | |
| "color": "#508642" | |
| } | |
| ], | |
| "span": 12, | |
| "stack": true, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(irate(container_cpu_system_seconds_total{container_name=\"$container\", namespace=\"$namespace\"}[30s])) by (namespace,container_name) / sum(container_spec_cpu_shares{container_name=\"$container\", namespace=\"$namespace\"} / 1024) by (namespace,container_name)", | |
| "intervalFactor": 2, | |
| "legendFormat": "system", | |
| "refId": "C", | |
| "step": 10 | |
| }, | |
| { | |
| "expr": "sum(irate(container_cpu_user_seconds_total{container_name=\"$container\", namespace=\"$namespace\"}[30s])) by (namespace,container_name) / sum(container_spec_cpu_shares{container_name=\"$container\", namespace=\"$namespace\"} / 1024) by (namespace,container_name)", | |
| "interval": "", | |
| "intervalFactor": 2, | |
| "legendFormat": "user", | |
| "refId": "B", | |
| "step": 10 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Cpu usage (relative to request)", | |
| "tooltip": { | |
| "msResolution": false, | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "percentunit", | |
| "label": "", | |
| "logBase": 1, | |
| "max": "1", | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| } | |
| ], | |
| "repeat": null, | |
| "repeatIteration": null, | |
| "repeatRowId": null, | |
| "showTitle": false, | |
| "title": "Usage relative to request", | |
| "titleSize": "h6" | |
| }, | |
| { | |
| "collapse": true, | |
| "height": 250, | |
| "panels": [ | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "id": 10, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(irate(container_cpu_usage_seconds_total{container_name=\"$container\", namespace=\"$namespace\"}[30s])) by (namespace,container_name) / sum(container_spec_cpu_quota{container_name=\"$container\", namespace=\"$namespace\"} / container_spec_cpu_period{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name)", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "actual", | |
| "metric": "", | |
| "refId": "A", | |
| "step": 1 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Cpu usage (relative to limit)", | |
| "tooltip": { | |
| "msResolution": false, | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "percentunit", | |
| "label": "", | |
| "logBase": 1, | |
| "max": "1", | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| }, | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "id": 11, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) / sum(container_spec_memory_limit_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name)", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "actual", | |
| "refId": "A", | |
| "step": 1 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Memory usage (relative to limit)", | |
| "tooltip": { | |
| "msResolution": false, | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "percentunit", | |
| "label": null, | |
| "logBase": 1, | |
| "max": "1", | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| } | |
| ], | |
| "repeat": null, | |
| "repeatIteration": null, | |
| "repeatRowId": null, | |
| "showTitle": false, | |
| "title": "Usage relative to limit", | |
| "titleSize": "h6" | |
| }, | |
| { | |
| "collapse": true, | |
| "height": 250, | |
| "panels": [ | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "fill": 1, | |
| "id": 13, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "null", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(irate(container_cpu_usage_seconds_total{container_name=\"$container\", namespace=\"$namespace\"}[30s])) by (id,pod_name)", | |
| "interval": "", | |
| "intervalFactor": 2, | |
| "legendFormat": "{{pod_name}}", | |
| "refId": "A", | |
| "step": 2 | |
| }, | |
| { | |
| "expr": "sum(container_spec_cpu_quota{container_name=\"$container\", namespace=\"$namespace\"} / container_spec_cpu_period{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) / count(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) ", | |
| "intervalFactor": 2, | |
| "legendFormat": "limit", | |
| "refId": "B", | |
| "step": 2 | |
| }, | |
| { | |
| "expr": "sum(container_spec_cpu_shares{container_name=\"$container\", namespace=\"$namespace\"} / 1024) by (namespace,container_name) / count(container_spec_cpu_shares{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) ", | |
| "intervalFactor": 2, | |
| "legendFormat": "request", | |
| "refId": "C", | |
| "step": 2 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Cpu usage (per pod)", | |
| "tooltip": { | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "short", | |
| "label": "cores", | |
| "logBase": 1, | |
| "max": null, | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| }, | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "fill": 1, | |
| "id": 14, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "null", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (id,pod_name)", | |
| "interval": "", | |
| "intervalFactor": 2, | |
| "legendFormat": "{{pod_name}}", | |
| "refId": "A", | |
| "step": 2 | |
| }, | |
| { | |
| "expr": "sum(container_spec_memory_limit_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) / count(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (container_name,namespace)", | |
| "intervalFactor": 2, | |
| "legendFormat": "limit", | |
| "refId": "B", | |
| "step": 2 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Memory usage (per pod)", | |
| "tooltip": { | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "bytes", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| } | |
| ], | |
| "repeat": null, | |
| "repeatIteration": null, | |
| "repeatRowId": null, | |
| "showTitle": false, | |
| "title": "Usage per pod", | |
| "titleSize": "h6" | |
| }, | |
| { | |
| "collapse": true, | |
| "height": 250, | |
| "panels": [ | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "id": 8, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(irate(container_cpu_usage_seconds_total{container_name=\"$container\", namespace=\"$namespace\"}[30s])) by (namespace,container_name) / count(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) ", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "actual", | |
| "refId": "A", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "sum(container_spec_cpu_quota{container_name=\"$container\", namespace=\"$namespace\"} / container_spec_cpu_period{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) / count(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) ", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "limit", | |
| "refId": "B", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "sum(container_spec_cpu_shares{container_name=\"$container\", namespace=\"$namespace\"} / 1024) by (namespace,container_name) / count(container_spec_cpu_shares{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) ", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "request", | |
| "refId": "C", | |
| "step": 1 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Cpu usage (avg per pod)", | |
| "tooltip": { | |
| "msResolution": false, | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "none", | |
| "label": "cores", | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| }, | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "id": 9, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 1, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) / count(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) ", | |
| "intervalFactor": 1, | |
| "legendFormat": "actual", | |
| "metric": "", | |
| "refId": "A", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "sum(container_spec_memory_limit_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) / count(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name) ", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "limit", | |
| "refId": "B", | |
| "step": 1 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Memory usage (avg per pod)", | |
| "tooltip": { | |
| "msResolution": false, | |
| "shared": true, | |
| "sort": 0, | |
| "value_type": "individual" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "bytes", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| } | |
| ], | |
| "repeat": null, | |
| "repeatIteration": null, | |
| "repeatRowId": null, | |
| "showTitle": false, | |
| "title": "Usage per pod (average)", | |
| "titleSize": "h6" | |
| }, | |
| { | |
| "collapse": true, | |
| "height": 259.4375, | |
| "panels": [ | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "grid": {}, | |
| "id": 1, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 2, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(irate(container_cpu_usage_seconds_total{container_name=\"$container\", namespace=\"$namespace\"}[30s])) by (namespace,container_name)", | |
| "hide": false, | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "actual", | |
| "metric": "", | |
| "refId": "A", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "sum(container_spec_cpu_quota{container_name=\"$container\", namespace=\"$namespace\"} / container_spec_cpu_period{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name)", | |
| "intervalFactor": 1, | |
| "legendFormat": "limit", | |
| "refId": "B", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "sum(container_spec_cpu_shares{container_name=\"$container\", namespace=\"$namespace\"} / 1024) by (namespace,container_name) ", | |
| "intervalFactor": 1, | |
| "legendFormat": "request", | |
| "refId": "C", | |
| "step": 1 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Cpu usage (total)", | |
| "tooltip": { | |
| "msResolution": true, | |
| "shared": false, | |
| "sort": 0, | |
| "value_type": "cumulative" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "none", | |
| "label": "cores", | |
| "logBase": 1, | |
| "max": null, | |
| "min": 0, | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| }, | |
| { | |
| "aliasColors": {}, | |
| "bars": false, | |
| "datasource": "Prometheus", | |
| "editable": true, | |
| "error": false, | |
| "fill": 1, | |
| "grid": {}, | |
| "id": 2, | |
| "legend": { | |
| "alignAsTable": true, | |
| "avg": true, | |
| "current": false, | |
| "max": true, | |
| "min": false, | |
| "rightSide": true, | |
| "show": true, | |
| "sort": "avg", | |
| "sortDesc": true, | |
| "total": false, | |
| "values": true | |
| }, | |
| "lines": true, | |
| "linewidth": 2, | |
| "links": [], | |
| "nullPointMode": "connected", | |
| "percentage": false, | |
| "pointradius": 5, | |
| "points": false, | |
| "renderer": "flot", | |
| "seriesOverrides": [], | |
| "span": 6, | |
| "stack": false, | |
| "steppedLine": false, | |
| "targets": [ | |
| { | |
| "expr": "sum(container_memory_usage_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name)", | |
| "interval": "", | |
| "intervalFactor": 1, | |
| "legendFormat": "actual", | |
| "refId": "A", | |
| "step": 1 | |
| }, | |
| { | |
| "expr": "sum(container_spec_memory_limit_bytes{container_name=\"$container\", namespace=\"$namespace\"}) by (namespace,container_name)", | |
| "intervalFactor": 1, | |
| "legendFormat": "limit", | |
| "refId": "B", | |
| "step": 1 | |
| } | |
| ], | |
| "thresholds": [], | |
| "timeFrom": null, | |
| "timeShift": null, | |
| "title": "Memory usage (total)", | |
| "tooltip": { | |
| "msResolution": true, | |
| "shared": false, | |
| "sort": 0, | |
| "value_type": "cumulative" | |
| }, | |
| "type": "graph", | |
| "xaxis": { | |
| "mode": "time", | |
| "name": null, | |
| "show": true, | |
| "values": [] | |
| }, | |
| "yaxes": [ | |
| { | |
| "format": "bytes", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": "0", | |
| "show": true | |
| }, | |
| { | |
| "format": "short", | |
| "label": null, | |
| "logBase": 1, | |
| "max": null, | |
| "min": null, | |
| "show": true | |
| } | |
| ] | |
| } | |
| ], | |
| "repeat": null, | |
| "repeatIteration": null, | |
| "repeatRowId": null, | |
| "showTitle": false, | |
| "title": "Usage total", | |
| "titleSize": "h6" | |
| } | |
| ], | |
| "schemaVersion": 14, | |
| "style": "dark", | |
| "tags": [ | |
| "nem-monitoring" | |
| ], | |
| "templating": { | |
| "list": [ | |
| { | |
| "allValue": ".+", | |
| "current": {}, | |
| "datasource": "Prometheus", | |
| "hide": 0, | |
| "includeAll": false, | |
| "label": null, | |
| "multi": false, | |
| "name": "namespace", | |
| "options": [], | |
| "query": "label_values(container_memory_usage_bytes{namespace=~\".+\",container_name!=\"POD\"},namespace)", | |
| "refresh": 1, | |
| "regex": "", | |
| "sort": 1, | |
| "tagValuesQuery": null, | |
| "tags": [], | |
| "tagsQuery": null, | |
| "type": "query", | |
| "useTags": false | |
| }, | |
| { | |
| "allValue": ".+", | |
| "current": {}, | |
| "datasource": "Prometheus", | |
| "hide": 0, | |
| "includeAll": false, | |
| "label": null, | |
| "multi": false, | |
| "name": "container", | |
| "options": [], | |
| "query": "label_values(container_memory_usage_bytes{namespace=~\"$namespace\",container_name!=\"POD\"},container_name)", | |
| "refresh": 1, | |
| "regex": "", | |
| "sort": 1, | |
| "tagValuesQuery": null, | |
| "tags": [], | |
| "tagsQuery": null, | |
| "type": "query", | |
| "useTags": false | |
| } | |
| ] | |
| }, | |
| "time": { | |
| "from": "now-3h", | |
| "to": "now" | |
| }, | |
| "timepicker": { | |
| "refresh_intervals": [ | |
| "5s", | |
| "10s", | |
| "30s", | |
| "1m", | |
| "5m", | |
| "15m", | |
| "30m", | |
| "1h", | |
| "2h", | |
| "1d" | |
| ], | |
| "time_options": [ | |
| "5m", | |
| "15m", | |
| "1h", | |
| "6h", | |
| "12h", | |
| "24h", | |
| "2d", | |
| "7d", | |
| "30d" | |
| ] | |
| }, | |
| "timezone": "browser", | |
| "title": "Kubernetes App Metrics", | |
| "version": 37, | |
| "description": "After selecting your namespace and container you get a wealth of metrics like request rate, error rate, response times, pod count, cpu and memory usage. You can view cpu and memory usage in a variety of ways, compared to the limit, compared to the request, per pod, average per pod, etc." | |
| } |