{
    "dashboard": {
        "__inputs": [
            {
                "description": "",
                "label": "prometheus",
                "name": "DS_PROMETHEUS",
                "pluginId": "prometheus",
                "pluginName": "Prometheus",
                "type": "datasource"
            }
        ],
        "annotations": {
            "list": []
        },
        "editable": true,
        "graphTooltip": 0,
        "hideControls": false,
        "links": [],
        "rows": [
            {
                "collapse": false,
                "height": "129px",
                "panels": [
                    {
                        "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,
                        "format": "none",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": false,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 5,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 6,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "sum(up{job=~\"apiserver|kube-scheduler|kube-controller-manager\"} == 0)",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "1, 3",
                        "title": "Control Plane UP",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "UP",
                                "value": "null"
                            }
                        ],
                        "valueName": "total"
                    },
                    {
                        "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,
                        "format": "none",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": false,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 6,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 6,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "sum(ALERTS{alertstate=\"firing\",alertname!=\"DeadMansSwitch\"})",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "3, 5",
                        "title": "Alerts Firing",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "0",
                                "value": "null"
                            }
                        ],
                        "valueName": "current"
                    }
                ],
                "showTitle": true,
                "title": "Cluster Health",
                "titleSize": "h6"
            },
            {
                "collapse": false,
                "height": "168px",
                "panels": [
                    {
                        "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}",
                        "editable": true,
                        "format": "percent",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": true,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 1,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 3,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "(sum(up{job=~\"apiserver|kubernetes-apiservers\"} == 1) / count(up{job=~\"apiserver|kubernetes-apiservers\"})) * 100",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "50, 80",
                        "title": "API Servers UP",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "N/A",
                                "value": "null"
                            }
                        ],
                        "valueName": "current"
                    },
                    {
                        "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}",
                        "editable": true,
                        "format": "percent",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": true,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 2,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 3,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "(sum(up{job=\"kube-controller-manager\"} == 1) / count(up{job=\"kube-controller-manager\"})) * 100",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "50, 80",
                        "title": "Controller Managers UP",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "N/A",
                                "value": "null"
                            }
                        ],
                        "valueName": "current"
                    },
                    {
                        "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}",
                        "editable": true,
                        "format": "percent",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": true,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 3,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 3,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "(sum(up{job=\"kube-scheduler\"} == 1) / count(up{job=\"kube-scheduler\"})) * 100",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "50, 80",
                        "title": "Schedulers UP",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "N/A",
                                "value": "null"
                            }
                        ],
                        "valueName": "current"
                    },
                    {
                        "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,
                        "format": "none",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": false,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 4,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 3,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "count(increase(kube_pod_container_status_restarts{namespace=~\"kube-system\"}[1h]) > 5)",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "1, 3",
                        "title": "Crashlooping Control Plane Pods",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "0",
                                "value": "null"
                            }
                        ],
                        "valueName": "current"
                    }
                ],
                "showTitle": true,
                "title": "Control Plane Status",
                "titleSize": "h6"
            },
            {
                "collapse": false,
                "height": "158px",
                "panels": [
                    {
                        "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,
                        "format": "percent",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": true,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 8,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 3,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "sum((avg by (instance) (rate(node_cpu{job=~\"node-exporter|kubernetes-service-endpoints\",mode=\"idle\"}[5m])) * 100)) / count(node_cpu{job=~\"node-exporter|kubernetes-service-endpoints\",mode=\"idle\"})",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "80, 90",
                        "title": "CPU Utilization",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "N/A",
                                "value": "null"
                            }
                        ],
                        "valueName": "avg"
                    },
                    {
                        "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,
                        "format": "percent",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": true,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 7,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 3,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "((sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers) - sum(node_memory_Cached)) / sum(node_memory_MemTotal)) * 100",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "80, 90",
                        "title": "Memory Utilization",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "N/A",
                                "value": "null"
                            }
                        ],
                        "valueName": "avg"
                    },
                    {
                        "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,
                        "format": "percent",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": true,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 9,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 3,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "(sum(node_filesystem_size{device!=\"rootfs\"}) - sum(node_filesystem_free{device!=\"rootfs\"})) / sum(node_filesystem_size{device!=\"rootfs\"})",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "80, 90",
                        "title": "Filesystem Utilization",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "N/A",
                                "value": "null"
                            }
                        ],
                        "valueName": "avg"
                    },
                    {
                        "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,
                        "format": "percent",
                        "gauge": {
                            "maxValue": 100,
                            "minValue": 0,
                            "show": true,
                            "thresholdLabels": false,
                            "thresholdMarkers": true
                        },
                        "id": 10,
                        "links": [],
                        "mappingType": 1,
                        "mappingTypes": [
                            {
                                "name": "value to text",
                                "value": 1
                            },
                            {
                                "name": "range to text",
                                "value": 2
                            }
                        ],
                        "maxDataPoints": 100,
                        "nullPointMode": "connected",
                        "postfixFontSize": "50%",
                        "prefix": "",
                        "prefixFontSize": "50%",
                        "rangeMaps": [
                            {
                                "from": "null",
                                "text": "N/A",
                                "to": "null"
                            }
                        ],
                        "span": 3,
                        "sparkline": {
                            "fillColor": "rgba(31, 118, 189, 0.18)",
                            "full": false,
                            "lineColor": "rgb(31, 120, 193)",
                            "show": false
                        },
                        "targets": [
                            {
                                "expr": "100 - (sum(kube_node_status_capacity_pods) - sum(kube_pod_info)) / sum(kube_node_status_capacity_pods) * 100",
                                "format": "time_series",
                                "intervalFactor": 2,
                                "refId": "A",
                                "step": 600
                            }
                        ],
                        "thresholds": "80, 90",
                        "title": "Pod Utilization",
                        "type": "singlestat",
                        "valueFontSize": "80%",
                        "valueMaps": [
                            {
                                "op": "=",
                                "text": "N/A",
                                "value": "null"
                            }
                        ],
                        "valueName": "avg"
                    }
                ],
                "showTitle": true,
                "title": "Capacity Planning",
                "titleSize": "h6"
            }
        ],
        "schemaVersion": 14,
        "sharedCrosshair": false,
        "style": "dark",
        "tags": [],
        "templating": {
            "list": []
        },
        "time": {
            "from": "now-6h",
            "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 Cluster Status",
        "version": 3
    },
    "inputs": [
        {
            "name": "DS_PROMETHEUS",
            "pluginId": "prometheus",
            "type": "datasource",
            "value": "prometheus"
        }
    ],
    "overwrite": true
}
