Merge "Update Makefile configuration"
diff --git a/grafana/files/dashboards/keepalived/keepalived_prometheus.json b/grafana/files/dashboards/keepalived/keepalived_prometheus.json
index bcfaa99..ec7b868 100644
--- a/grafana/files/dashboards/keepalived/keepalived_prometheus.json
+++ b/grafana/files/dashboards/keepalived/keepalived_prometheus.json
@@ -17,7 +17,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1532348930591,
+ "iteration": 1541085414079,
"links": [],
"panels": [
{
@@ -104,7 +104,7 @@
"tableColumn": "",
"targets": [
{
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
+ "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"} and on(host) keepalived_up{environment=\"$environment\", host=~\"$host\"}",
"format": "time_series",
"intervalFactor": 2,
"refId": "A",
@@ -158,7 +158,7 @@
"x": 7,
"y": 1
},
- "id": 86,
+ "id": 114,
"interval": null,
"links": [],
"mappingType": 1,
@@ -189,7 +189,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 4,
"scopedVars": {
"host": {
@@ -207,7 +207,7 @@
"tableColumn": "",
"targets": [
{
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
+ "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"} and on(host) keepalived_up{environment=\"$environment\", host=~\"$host\"}",
"format": "time_series",
"intervalFactor": 2,
"refId": "A",
@@ -261,7 +261,7 @@
"x": 14,
"y": 1
},
- "id": 87,
+ "id": 115,
"interval": null,
"links": [],
"mappingType": 1,
@@ -292,7 +292,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 4,
"scopedVars": {
"host": {
@@ -310,7 +310,7 @@
"tableColumn": "",
"targets": [
{
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
+ "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"} and on(host) keepalived_up{environment=\"$environment\", host=~\"$host\"}",
"format": "time_series",
"intervalFactor": 2,
"refId": "A",
@@ -364,7 +364,7 @@
"x": 0,
"y": 4
},
- "id": 88,
+ "id": 116,
"interval": null,
"links": [],
"mappingType": 1,
@@ -395,7 +395,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 4,
"scopedVars": {
"host": {
@@ -413,7 +413,7 @@
"tableColumn": "",
"targets": [
{
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
+ "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"} and on(host) keepalived_up{environment=\"$environment\", host=~\"$host\"}",
"format": "time_series",
"intervalFactor": 2,
"refId": "A",
@@ -467,7 +467,7 @@
"x": 7,
"y": 4
},
- "id": 89,
+ "id": 117,
"interval": null,
"links": [],
"mappingType": 1,
@@ -498,7 +498,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 4,
"scopedVars": {
"host": {
@@ -516,7 +516,7 @@
"tableColumn": "",
"targets": [
{
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
+ "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"} and on(host) keepalived_up{environment=\"$environment\", host=~\"$host\"}",
"format": "time_series",
"intervalFactor": 2,
"refId": "A",
@@ -570,7 +570,7 @@
"x": 14,
"y": 4
},
- "id": 90,
+ "id": 118,
"interval": null,
"links": [],
"mappingType": 1,
@@ -601,7 +601,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 4,
"scopedVars": {
"host": {
@@ -619,316 +619,7 @@
"tableColumn": "",
"targets": [
{
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "refId": "A",
- "step": 4
- }
- ],
- "thresholds": "0,1",
- "title": "Keepalived@${host}",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- },
- {
- "op": "=",
- "text": "UP",
- "value": "1"
- },
- {
- "op": "=",
- "text": "DOWN",
- "value": "0"
- }
- ],
- "valueName": "avg"
- },
- {
- "cacheTimeout": null,
- "colorBackground": true,
- "colorValue": false,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
- ],
- "datasource": null,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 7,
- "x": 0,
- "y": 7
- },
- "id": 91,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 7,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "repeat": null,
- "repeatDirection": "h",
- "repeatIteration": 1532348930591,
- "repeatPanelId": 4,
- "scopedVars": {
- "host": {
- "selected": false,
- "text": "ntw01",
- "value": "ntw01"
- }
- },
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "refId": "A",
- "step": 4
- }
- ],
- "thresholds": "0,1",
- "title": "Keepalived@${host}",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- },
- {
- "op": "=",
- "text": "UP",
- "value": "1"
- },
- {
- "op": "=",
- "text": "DOWN",
- "value": "0"
- }
- ],
- "valueName": "avg"
- },
- {
- "cacheTimeout": null,
- "colorBackground": true,
- "colorValue": false,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
- ],
- "datasource": null,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 7,
- "x": 7,
- "y": 7
- },
- "id": 92,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 7,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "repeat": null,
- "repeatDirection": "h",
- "repeatIteration": 1532348930591,
- "repeatPanelId": 4,
- "scopedVars": {
- "host": {
- "selected": false,
- "text": "ntw02",
- "value": "ntw02"
- }
- },
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "refId": "A",
- "step": 4
- }
- ],
- "thresholds": "0,1",
- "title": "Keepalived@${host}",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- },
- {
- "op": "=",
- "text": "UP",
- "value": "1"
- },
- {
- "op": "=",
- "text": "DOWN",
- "value": "0"
- }
- ],
- "valueName": "avg"
- },
- {
- "cacheTimeout": null,
- "colorBackground": true,
- "colorValue": false,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
- ],
- "datasource": null,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 7,
- "x": 14,
- "y": 7
- },
- "id": 93,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 7,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "repeat": null,
- "repeatDirection": "h",
- "repeatIteration": 1532348930591,
- "repeatPanelId": 4,
- "scopedVars": {
- "host": {
- "selected": false,
- "text": "ntw03",
- "value": "ntw03"
- }
- },
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"}",
+ "expr": "procstat_running{environment=\"$environment\", process_name=\"keepalived\",host=~\"$host\"} and on(host) keepalived_up{environment=\"$environment\", host=~\"$host\"}",
"format": "time_series",
"intervalFactor": 2,
"refId": "A",
@@ -964,11 +655,11 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 10
+ "y": 7
},
"id": 59,
"panels": [],
- "title": "Status graph",
+ "title": "Status graphs",
"type": "row"
},
{
@@ -980,12 +671,12 @@
"decimals": 0,
"fill": 1,
"gridPos": {
- "h": 7,
- "w": 24,
+ "h": 6,
+ "w": 12,
"x": 0,
- "y": 11
+ "y": 8
},
- "id": 1,
+ "id": 113,
"legend": {
"alignAsTable": true,
"avg": false,
@@ -1062,12 +753,102 @@
}
},
{
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "decimals": 0,
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 1,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": true,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "keepalived_up{environment=\"$environment\", host=~\"$host\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ host }}",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Process responsiveness",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": "1",
+ "min": null,
+ "show": true
+ },
+ {
+ "decimals": null,
+ "format": "none",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
- "y": 18
+ "y": 14
},
"id": 7,
"panels": [],
@@ -1080,8 +861,8 @@
"colorValue": true,
"colors": [
"rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)"
],
"datasource": null,
"format": "none",
@@ -1096,7 +877,7 @@
"h": 3,
"w": 7,
"x": 0,
- "y": 19
+ "y": 15
},
"id": 3,
"interval": null,
@@ -1153,6 +934,8 @@
}
],
"thresholds": "0.5,1.5",
+ "timeFrom": null,
+ "timeShift": null,
"title": "VRRP@${host}",
"type": "singlestat",
"valueFontSize": "80%",
@@ -1170,12 +953,17 @@
{
"op": "=",
"text": "BACKUP",
- "value": "1"
+ "value": "2"
},
{
"op": "=",
"text": "MASTER",
- "value": "2"
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "UNKNOWN",
+ "value": "-1"
}
],
"valueName": "current"
@@ -1186,8 +974,8 @@
"colorValue": true,
"colors": [
"rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)"
],
"datasource": null,
"format": "none",
@@ -1202,9 +990,9 @@
"h": 3,
"w": 7,
"x": 7,
- "y": 19
+ "y": 15
},
- "id": 94,
+ "id": 119,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1235,7 +1023,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 3,
"scopedVars": {
"host": {
@@ -1261,6 +1049,8 @@
}
],
"thresholds": "0.5,1.5",
+ "timeFrom": null,
+ "timeShift": null,
"title": "VRRP@${host}",
"type": "singlestat",
"valueFontSize": "80%",
@@ -1278,12 +1068,17 @@
{
"op": "=",
"text": "BACKUP",
- "value": "1"
+ "value": "2"
},
{
"op": "=",
"text": "MASTER",
- "value": "2"
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "UNKNOWN",
+ "value": "-1"
}
],
"valueName": "current"
@@ -1294,8 +1089,8 @@
"colorValue": true,
"colors": [
"rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)"
],
"datasource": null,
"format": "none",
@@ -1310,9 +1105,9 @@
"h": 3,
"w": 7,
"x": 14,
- "y": 19
+ "y": 15
},
- "id": 95,
+ "id": 120,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1343,7 +1138,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 3,
"scopedVars": {
"host": {
@@ -1369,6 +1164,8 @@
}
],
"thresholds": "0.5,1.5",
+ "timeFrom": null,
+ "timeShift": null,
"title": "VRRP@${host}",
"type": "singlestat",
"valueFontSize": "80%",
@@ -1386,12 +1183,17 @@
{
"op": "=",
"text": "BACKUP",
- "value": "1"
+ "value": "2"
},
{
"op": "=",
"text": "MASTER",
- "value": "2"
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "UNKNOWN",
+ "value": "-1"
}
],
"valueName": "current"
@@ -1402,8 +1204,8 @@
"colorValue": true,
"colors": [
"rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)"
],
"datasource": null,
"format": "none",
@@ -1418,9 +1220,9 @@
"h": 3,
"w": 7,
"x": 0,
- "y": 22
+ "y": 18
},
- "id": 96,
+ "id": 121,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1451,7 +1253,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 3,
"scopedVars": {
"host": {
@@ -1477,6 +1279,8 @@
}
],
"thresholds": "0.5,1.5",
+ "timeFrom": null,
+ "timeShift": null,
"title": "VRRP@${host}",
"type": "singlestat",
"valueFontSize": "80%",
@@ -1494,12 +1298,17 @@
{
"op": "=",
"text": "BACKUP",
- "value": "1"
+ "value": "2"
},
{
"op": "=",
"text": "MASTER",
- "value": "2"
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "UNKNOWN",
+ "value": "-1"
}
],
"valueName": "current"
@@ -1510,8 +1319,8 @@
"colorValue": true,
"colors": [
"rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)"
],
"datasource": null,
"format": "none",
@@ -1526,9 +1335,9 @@
"h": 3,
"w": 7,
"x": 7,
- "y": 22
+ "y": 18
},
- "id": 97,
+ "id": 122,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1559,7 +1368,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 3,
"scopedVars": {
"host": {
@@ -1585,6 +1394,8 @@
}
],
"thresholds": "0.5,1.5",
+ "timeFrom": null,
+ "timeShift": null,
"title": "VRRP@${host}",
"type": "singlestat",
"valueFontSize": "80%",
@@ -1602,12 +1413,17 @@
{
"op": "=",
"text": "BACKUP",
- "value": "1"
+ "value": "2"
},
{
"op": "=",
"text": "MASTER",
- "value": "2"
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "UNKNOWN",
+ "value": "-1"
}
],
"valueName": "current"
@@ -1618,8 +1434,8 @@
"colorValue": true,
"colors": [
"rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)"
],
"datasource": null,
"format": "none",
@@ -1634,9 +1450,9 @@
"h": 3,
"w": 7,
"x": 14,
- "y": 22
+ "y": 18
},
- "id": 98,
+ "id": 123,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1667,7 +1483,7 @@
],
"repeat": null,
"repeatDirection": "h",
- "repeatIteration": 1532348930591,
+ "repeatIteration": 1541085414079,
"repeatPanelId": 3,
"scopedVars": {
"host": {
@@ -1693,6 +1509,8 @@
}
],
"thresholds": "0.5,1.5",
+ "timeFrom": null,
+ "timeShift": null,
"title": "VRRP@${host}",
"type": "singlestat",
"valueFontSize": "80%",
@@ -1710,336 +1528,17 @@
{
"op": "=",
"text": "BACKUP",
- "value": "1"
+ "value": "2"
},
{
"op": "=",
"text": "MASTER",
- "value": "2"
- }
- ],
- "valueName": "current"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": true,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
- ],
- "datasource": null,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 7,
- "x": 0,
- "y": 25
- },
- "id": 99,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
+ "value": "1"
},
{
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 7,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "repeat": null,
- "repeatDirection": "h",
- "repeatIteration": 1532348930591,
- "repeatPanelId": 3,
- "scopedVars": {
- "host": {
- "selected": false,
- "text": "ntw01",
- "value": "ntw01"
- }
- },
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "keepalived_state{environment=\"$environment\", host=\"$host\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "refId": "A",
- "step": 4
- }
- ],
- "thresholds": "0.5,1.5",
- "title": "VRRP@${host}",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
"op": "=",
"text": "UNKNOWN",
- "value": "null"
- },
- {
- "op": "=",
- "text": "FAILED",
- "value": "0"
- },
- {
- "op": "=",
- "text": "BACKUP",
- "value": "1"
- },
- {
- "op": "=",
- "text": "MASTER",
- "value": "2"
- }
- ],
- "valueName": "current"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": true,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
- ],
- "datasource": null,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 7,
- "x": 7,
- "y": 25
- },
- "id": 100,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 7,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "repeat": null,
- "repeatDirection": "h",
- "repeatIteration": 1532348930591,
- "repeatPanelId": 3,
- "scopedVars": {
- "host": {
- "selected": false,
- "text": "ntw02",
- "value": "ntw02"
- }
- },
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "keepalived_state{environment=\"$environment\", host=\"$host\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "refId": "A",
- "step": 4
- }
- ],
- "thresholds": "0.5,1.5",
- "title": "VRRP@${host}",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "UNKNOWN",
- "value": "null"
- },
- {
- "op": "=",
- "text": "FAILED",
- "value": "0"
- },
- {
- "op": "=",
- "text": "BACKUP",
- "value": "1"
- },
- {
- "op": "=",
- "text": "MASTER",
- "value": "2"
- }
- ],
- "valueName": "current"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": true,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "#299c46"
- ],
- "datasource": null,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 7,
- "x": 14,
- "y": 25
- },
- "id": 101,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 7,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "repeat": null,
- "repeatDirection": "h",
- "repeatIteration": 1532348930591,
- "repeatPanelId": 3,
- "scopedVars": {
- "host": {
- "selected": false,
- "text": "ntw03",
- "value": "ntw03"
- }
- },
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "keepalived_state{environment=\"$environment\", host=\"$host\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "refId": "A",
- "step": 4
- }
- ],
- "thresholds": "0.5,1.5",
- "title": "VRRP@${host}",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "UNKNOWN",
- "value": "null"
- },
- {
- "op": "=",
- "text": "FAILED",
- "value": "0"
- },
- {
- "op": "=",
- "text": "BACKUP",
- "value": "1"
- },
- {
- "op": "=",
- "text": "MASTER",
- "value": "2"
+ "value": "-1"
}
],
"valueName": "current"
@@ -2050,7 +1549,7 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 28
+ "y": 21
},
"id": 85,
"panels": [],
@@ -2064,12 +1563,13 @@
"dashes": false,
"datasource": null,
"decimals": 0,
+ "description": "Value-state mapping:\n2 - BACKUP\n1 - MASTER\n0 - FAILED\n-1 - UNKNOWN",
"fill": 1,
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
- "y": 29
+ "y": 22
},
"id": 2,
"legend": {
@@ -2193,7 +1693,7 @@
"multi": true,
"name": "host",
"options": [],
- "query": "label_values(procstat_running{environment=\"$environment\", process_name=\"keepalived\"}, host)",
+ "query": "label_values(procstat_running{environment=\"$environment\", process_name=\"keepalived\"},host)",
"refresh": 1,
"regex": "",
"sort": 1,
@@ -2236,6 +1736,6 @@
},
"timezone": "",
"title": "Keepalived",
- "version": 1
+ "version": 2
}
{% endraw %}
diff --git a/grafana/files/dashboards/kubernetes/kubernetes_opencontrail_cluster_prometheus.json b/grafana/files/dashboards/kubernetes/kubernetes_opencontrail_cluster_prometheus.json
new file mode 100644
index 0000000..064059c
--- /dev/null
+++ b/grafana/files/dashboards/kubernetes/kubernetes_opencontrail_cluster_prometheus.json
@@ -0,0 +1,2541 @@
+{% raw %}
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "prometheus",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Monitors Kubernetes cluster using Prometheus. Shows overall cluster CPU / Memory / Filesystem usage as well as individual pod, containers, systemd services statistics. Uses cAdvisor metrics only.",
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": null,
+ "iteration": 1542205342153,
+ "links": [],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 6,
+ "panels": [],
+ "title": "Cluster status",
+ "type": "row"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": true,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": null,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 1
+ },
+ "id": 46,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "% UP",
+ "postfixFontSize": "80%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "100*count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-controller-manager\"} == 1)/count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-controller-manager\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "metric": "elasticsearch_cluster_health_status",
+ "refId": "A",
+ "step": 40
+ }
+ ],
+ "thresholds": "35,70",
+ "title": "Cluster Manager status",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ },
+ {
+ "op": "=",
+ "text": "OK",
+ "value": "3"
+ },
+ {
+ "op": "=",
+ "text": "WARNING",
+ "value": "2"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "0"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 5,
+ "y": 1
+ },
+ "id": 58,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-apiserver\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "metric": "etcd_server_has_leader",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": "",
+ "title": "Master node count",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 10,
+ "y": 1
+ },
+ "id": 56,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-.*kubelet\"}) - count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-apiserver\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "metric": "etcd_server_has_leader",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": "",
+ "title": "Worker node count",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": true,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": null,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 6
+ },
+ "id": 48,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "% UP",
+ "postfixFontSize": "80%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "100*count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-apiserver\"} == 1)/count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-apiserver\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "metric": "elasticsearch_cluster_health_status",
+ "refId": "A",
+ "step": 40
+ }
+ ],
+ "thresholds": "35,70",
+ "title": "API Server status",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ },
+ {
+ "op": "=",
+ "text": "OK",
+ "value": "3"
+ },
+ {
+ "op": "=",
+ "text": "WARNING",
+ "value": "2"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "0"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": true,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": null,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 5,
+ "y": 6
+ },
+ "id": 50,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "% UP",
+ "postfixFontSize": "80%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "100*count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-scheduler\"} == 1)/count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-scheduler\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "metric": "elasticsearch_cluster_health_status",
+ "refId": "A",
+ "step": 40
+ }
+ ],
+ "thresholds": "35,70",
+ "title": "Scheduler status",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ },
+ {
+ "op": "=",
+ "text": "OK",
+ "value": "3"
+ },
+ {
+ "op": "=",
+ "text": "WARNING",
+ "value": "2"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "0"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": true,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": null,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 10,
+ "y": 6
+ },
+ "id": 54,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "% UP",
+ "postfixFontSize": "80%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "100*count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-kubelet\"} == 1)/count(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-kubelet\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "metric": "elasticsearch_cluster_health_status",
+ "refId": "A",
+ "step": 40
+ }
+ ],
+ "thresholds": "35,70",
+ "title": "Kubelet status",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ },
+ {
+ "op": "=",
+ "text": "OK",
+ "value": "3"
+ },
+ {
+ "op": "=",
+ "text": "WARNING",
+ "value": "2"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "1"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "0"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 66,
+ "panels": [],
+ "title": "Host status",
+ "type": "row"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": true,
+ "colorValue": false,
+ "colors": [
+ "#d44a3a",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": null,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4.8,
+ "x": 0,
+ "y": 12
+ },
+ "id": 60,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "minSpan": 3,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "repeat": "host",
+ "repeatDirection": "h",
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "procstat_running{environment=\"$environment\", process_name=~\"hyperkube-.*kubelet\",host=~\"$host\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0.5,1",
+ "title": "Kubernetes@${host}",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ },
+ {
+ "op": "=",
+ "text": "FAIL",
+ "value": "0"
+ },
+ {
+ "op": "=",
+ "text": "OK",
+ "value": "1"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 4,
+ "panels": [],
+ "title": "Resources",
+ "type": "row"
+ },
+ {
+ "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": null,
+ "editable": true,
+ "error": false,
+ "format": "percent",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 0,
+ "y": 16
+ },
+ "height": "180px",
+ "id": 72,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(kubernetes_pod_container_memory_working_set_bytes{environment=\"$environment\",host=~\"$host\"}) / (sum(kubernetes_node_memory_available_bytes{environment=\"$environment\",host=~\"$host\"}) + sum(kubernetes_node_memory_working_set_bytes{environment=\"$environment\",host=~\"$host\"})) * 100",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "65, 90",
+ "title": "Cluster memory usage by pods",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "percent",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 6,
+ "y": 16
+ },
+ "height": "180px",
+ "id": 79,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(rate(kubernetes_pod_container_cpu_usage_core_nanoseconds{environment=\"$environment\",host=~\"^$host$\"}[$rate_interval]) / 1000000000) / sum (system_n_cpus{environment=\"$environment\",host=~\"^$host$\"}) * 100",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "65, 90",
+ "title": "Cluster CPU usage by pods",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "percent",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 12,
+ "y": 16
+ },
+ "height": "180px",
+ "id": 85,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(kubernetes_pod_container_rootfs_used_bytes{environment=\"$environment\",host=~\"^$host$\",pod_name=~\"^$pod$\"}) / avg(kubernetes_pod_container_rootfs_capacity_bytes{environment=\"$environment\",host=~\"^$host$\",pod_name=~\"^$pod$\"}) * 100",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "65, 90",
+ "title": "Cluster filesystem pod usage@$pod",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": "prometheus",
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "percent",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 18,
+ "y": 16
+ },
+ "height": "180px",
+ "id": 91,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "avg(kubernetes_pod_volume_used_bytes{environment=\"$environment\",host=~\"^$host$\",volume_name=~\"^$volume$\"}) / avg(kubernetes_pod_volume_capacity_bytes{environment=\"$environment\",host=~\"^$host$\",volume_name=~\"^$volume$\"}) * 100",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "65, 90",
+ "title": "Cluster volume usage@$volume",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "bytes",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 21
+ },
+ "height": "1px",
+ "id": 75,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "20%",
+ "prefix": "",
+ "prefixFontSize": "20%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(kubernetes_pod_container_memory_working_set_bytes{environment=\"$environment\",host=~\"$host\"})",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "",
+ "title": "Total used",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "bytes",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 21
+ },
+ "height": "1px",
+ "id": 77,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(kubernetes_node_memory_available_bytes{environment=\"$environment\",host=~\"$host\"}) + sum(kubernetes_node_memory_working_set_bytes{environment=\"$environment\",host=~\"$host\"})",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "",
+ "title": "Capacity",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 21
+ },
+ "height": "1px",
+ "id": 81,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": " cores",
+ "postfixFontSize": "30%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(rate(kubernetes_pod_container_cpu_usage_core_nanoseconds{environment=\"$environment\",host=~\"^$host$\"}[$rate_interval]) / 1000000000) ",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "",
+ "title": "Total used",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 21
+ },
+ "height": "1px",
+ "id": 83,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": " cores",
+ "postfixFontSize": "30%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(system_n_cpus{environment=\"$environment\",host=~\"^$host$\"})",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "",
+ "title": "Capacity",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "bytes",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 21
+ },
+ "height": "1px",
+ "id": 87,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(kubernetes_pod_container_rootfs_used_bytes{environment=\"$environment\",host=~\"^$host$\",pod_name=~\"^$pod$\"})",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "",
+ "title": "Used",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "bytes",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 21
+ },
+ "height": "1px",
+ "id": 89,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "avg(kubernetes_pod_container_rootfs_capacity_bytes{environment=\"$environment\",host=~\"^$host$\",pod_name=~\"^$pod$\"})",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "",
+ "title": "Capacity",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "bytes",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 21
+ },
+ "height": "1px",
+ "id": 93,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(kubernetes_pod_volume_used_bytes{environment=\"$environment\",host=~\"^$host$\",volume_name=~\"^$volume$\"})",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "",
+ "title": "Used",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "format": "bytes",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 21
+ },
+ "height": "1px",
+ "id": 95,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(kubernetes_pod_volume_capacity_bytes{environment=\"$environment\",host=~\"^$host$\",volume_name=~\"$volume\"})",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": "",
+ "title": "Capacity",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "prometheus",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 97,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "kubernetes_pod_volume_used_bytes{environment=\"$environment\",host=~\"^$host$\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "Volume: {{ volume_name }} | Used by {{ pod_name }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Pods volume space used",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "prometheus",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 99,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "kubernetes_pod_volume_available_bytes{environment=\"$environment\",host=~\"^$host$\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "Volume: {{ volume_name }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Pods volume space available",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "prometheus",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 101,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "kubernetes_pod_container_rootfs_used_bytes{environment=\"$environment\",host=~\"^$host$\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "{{ pod_name }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Pods rootfs filesystem usage",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "decimals": 3,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {},
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 48
+ },
+ "height": "",
+ "id": 103,
+ "legend": {
+ "alignAsTable": true,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "sum(rate(kubernetes_pod_container_cpu_usage_core_nanoseconds{environment=\"$environment\",host=~\"^$host$\"}[$rate_interval])) by (pod_name) / 1000000000",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "{{ pod_name }}",
+ "metric": "container_cpu",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Pods CPU usage",
+ "tooltip": {
+ "msResolution": true,
+ "shared": true,
+ "sort": 2,
+ "value_type": "cumulative"
+ },
+ "transparent": false,
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "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": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {},
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 55
+ },
+ "id": 105,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sideWidth": null,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "sum(kubernetes_pod_container_memory_working_set_bytes{environment=\"$environment\",host=~\"$host\"}) by (pod_name)",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "{{ pod_name }}",
+ "metric": "container_memory_usage:sort_desc",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Pods memory usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 2,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 61
+ },
+ "id": 2,
+ "panels": [],
+ "title": "Network",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fill": 1,
+ "grid": {},
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 62
+ },
+ "height": "200px",
+ "id": 107,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sideWidth": null,
+ "sort": "current",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(kubernetes_pod_network_rx_bytes{environment=\"$environment\",host=~\"^$host$\"}[$rate_interval])) by (pod_name)",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "Received by {{ pod_name }}",
+ "metric": "network",
+ "refId": "A",
+ "step": 10
+ },
+ {
+ "expr": "sum(rate(kubernetes_pod_network_tx_bytes{environment=\"$environment\",host=~\"^$host$\"}[$rate_interval])) by (pod_name)",
+ "format": "time_series",
+ "instant": false,
+ "interval": "10s",
+ "intervalFactor": 2,
+ "legendFormat": "Sent by {{ pod_name }}",
+ "metric": "network",
+ "refId": "B",
+ "step": 10
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Pods network usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "cumulative"
+ },
+ "transparent": false,
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [
+ "kubernetes"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "current": {
+ "selected": true,
+ "text": null,
+ "value": null
+ },
+ "datasource": "prometheus",
+ "hide": 0,
+ "includeAll": false,
+ "label": null,
+ "multi": false,
+ "name": "environment",
+ "options": [],
+ "query": "label_values(environment)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": null,
+ "multi": true,
+ "name": "host",
+ "options": [],
+ "query": "label_values(procstat_running{environment=\"$environment\", process_name=~\"hyperkube-.*kubelet\"}, host)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "auto": false,
+ "auto_count": 30,
+ "auto_min": "10s",
+ "current": {
+ "selected": true,
+ "text": "3m",
+ "value": "3m"
+ },
+ "hide": 0,
+ "label": null,
+ "name": "rate_interval",
+ "options": [
+ {
+ "selected": false,
+ "text": "1m",
+ "value": "1m"
+ },
+ {
+ "selected": false,
+ "text": "2m",
+ "value": "2m"
+ },
+ {
+ "selected": true,
+ "text": "3m",
+ "value": "3m"
+ },
+ {
+ "selected": false,
+ "text": "5m",
+ "value": "5m"
+ },
+ {
+ "selected": false,
+ "text": "10m",
+ "value": "10m"
+ },
+ {
+ "selected": false,
+ "text": "15m",
+ "value": "15m"
+ }
+ ],
+ "query": "1m,2m,3m,5m,10m,15m",
+ "refresh": 2,
+ "type": "interval"
+ },
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "prometheus",
+ "hide": 0,
+ "includeAll": false,
+ "label": null,
+ "multi": false,
+ "name": "pod",
+ "options": [],
+ "query": "label_values(kubernetes_pod_container_rootfs_capacity_bytes{environment=\"$environment\",host=~\"$host\"},pod_name)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "prometheus",
+ "hide": 0,
+ "includeAll": false,
+ "label": null,
+ "multi": false,
+ "name": "volume",
+ "options": [],
+ "query": "label_values(kubernetes_pod_volume_capacity_bytes{environment=\"$environment\",host=~\"$host\"},volume_name)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "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 monitoring",
+ "uid": null,
+ "version": 1
+}
+{% endraw %}
diff --git a/metadata/service/client/dashboards/all.yml b/metadata/service/client/dashboards/all.yml
index 5a4acaf..ff2e9cc 100644
--- a/metadata/service/client/dashboards/all.yml
+++ b/metadata/service/client/dashboards/all.yml
@@ -16,6 +16,7 @@
- service.grafana.client.dashboards.kubernetes.calico
- service.grafana.client.dashboards.kubernetes.etcd
- service.grafana.client.dashboards.kubernetes.kubernetes_cluster
+- service.grafana.client.dashboards.kubernetes.kubernetes_opencontrail_cluster
- service.grafana.client.dashboards.opencontrail.cassandra
- service.grafana.client.dashboards.opencontrail.contrail_3_controller
- service.grafana.client.dashboards.opencontrail.contrail_4_controller
diff --git a/metadata/service/client/dashboards/kubernetes/kubernetes_opencontrail_cluster.yml b/metadata/service/client/dashboards/kubernetes/kubernetes_opencontrail_cluster.yml
new file mode 100644
index 0000000..7186c69
--- /dev/null
+++ b/metadata/service/client/dashboards/kubernetes/kubernetes_opencontrail_cluster.yml
@@ -0,0 +1,8 @@
+parameters:
+ grafana:
+ client:
+ dashboard:
+ kubernetes_opencontrail_cluster_prometheus:
+ datasource: prometheus
+ format: json
+ template: grafana/files/dashboards/kubernetes/kubernetes_opencontrail_cluster_prometheus.json