Advertisement
Guest User

Untitled

a guest
Jan 8th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 172.67 KB | None | 0 0
  1. apiVersion: v1
  2. kind: Secret
  3. metadata:
  4. name: grafana-credentials
  5. namespace: {{ }}
  6. data:
  7. user: YWRtaW4=
  8. password: VUBWOG5lQGg=
  9. ---
  10. apiVersion: v1
  11. kind: Service
  12. metadata:
  13. name: grafana
  14. namespace: {{ }}
  15. labels:
  16. app: grafana
  17. spec:
  18. type: LoadBalancer
  19. ports:
  20. - port: 80
  21. protocol: TCP
  22. targetPort: web
  23. selector:
  24. app: grafana
  25. ---
  26. apiVersion: v1
  27. kind: ConfigMap
  28. metadata:
  29. name: grafana-dashboards-0
  30. namespace: {{ }}
  31. data:
  32. deployment-dashboard.json: |+
  33. {
  34. "dashboard":
  35. {
  36. "__inputs": [
  37. {
  38. "description": "",
  39. "label": "prometheus",
  40. "name": "DS_PROMETHEUS",
  41. "pluginId": "prometheus",
  42. "pluginName": "Prometheus",
  43. "type": "datasource"
  44. }
  45. ],
  46. "annotations": {
  47. "list": []
  48. },
  49. "editable": true,
  50. "graphTooltip": 1,
  51. "hideControls": false,
  52. "links": [],
  53. "rows": [
  54. {
  55. "collapse": false,
  56. "height": "200px",
  57. "panels": [
  58. {
  59. "colorBackground": false,
  60. "colorValue": false,
  61. "colors": [
  62. "rgba(245, 54, 54, 0.9)",
  63. "rgba(237, 129, 40, 0.89)",
  64. "rgba(50, 172, 45, 0.97)"
  65. ],
  66. "datasource": "${DS_PROMETHEUS}",
  67. "editable": true,
  68. "format": "none",
  69. "gauge": {
  70. "maxValue": 100,
  71. "minValue": 0,
  72. "show": false,
  73. "thresholdLabels": false,
  74. "thresholdMarkers": true
  75. },
  76. "id": 8,
  77. "links": [],
  78. "mappingType": 1,
  79. "mappingTypes": [
  80. {
  81. "name": "value to text",
  82. "value": 1
  83. },
  84. {
  85. "name": "range to text",
  86. "value": 2
  87. }
  88. ],
  89. "maxDataPoints": 100,
  90. "nullPointMode": "connected",
  91. "postfix": "cores",
  92. "postfixFontSize": "50%",
  93. "prefix": "",
  94. "prefixFontSize": "50%",
  95. "rangeMaps": [
  96. {
  97. "from": "null",
  98. "text": "N/A",
  99. "to": "null"
  100. }
  101. ],
  102. "span": 4,
  103. "sparkline": {
  104. "fillColor": "rgba(31, 118, 189, 0.18)",
  105. "full": false,
  106. "lineColor": "rgb(31, 120, 193)",
  107. "show": true
  108. },
  109. "targets": [
  110. {
  111. "expr": "sum(rate(container_cpu_usage_seconds_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\"}[3m]))",
  112. "intervalFactor": 2,
  113. "refId": "A",
  114. "step": 600
  115. }
  116. ],
  117. "title": "CPU",
  118. "type": "singlestat",
  119. "valueFontSize": "110%",
  120. "valueMaps": [
  121. {
  122. "op": "=",
  123. "text": "N/A",
  124. "value": "null"
  125. }
  126. ],
  127. "valueName": "avg"
  128. },
  129. {
  130. "colorBackground": false,
  131. "colorValue": false,
  132. "colors": [
  133. "rgba(245, 54, 54, 0.9)",
  134. "rgba(237, 129, 40, 0.89)",
  135. "rgba(50, 172, 45, 0.97)"
  136. ],
  137. "datasource": "${DS_PROMETHEUS}",
  138. "editable": true,
  139. "format": "none",
  140. "gauge": {
  141. "maxValue": 100,
  142. "minValue": 0,
  143. "show": false,
  144. "thresholdLabels": false,
  145. "thresholdMarkers": true
  146. },
  147. "id": 9,
  148. "links": [],
  149. "mappingType": 1,
  150. "mappingTypes": [
  151. {
  152. "name": "value to text",
  153. "value": 1
  154. },
  155. {
  156. "name": "range to text",
  157. "value": 2
  158. }
  159. ],
  160. "maxDataPoints": 100,
  161. "nullPointMode": "connected",
  162. "postfix": "GB",
  163. "postfixFontSize": "50%",
  164. "prefix": "",
  165. "prefixFontSize": "80%",
  166. "rangeMaps": [
  167. {
  168. "from": "null",
  169. "text": "N/A",
  170. "to": "null"
  171. }
  172. ],
  173. "span": 4,
  174. "sparkline": {
  175. "fillColor": "rgba(31, 118, 189, 0.18)",
  176. "full": false,
  177. "lineColor": "rgb(31, 120, 193)",
  178. "show": true
  179. },
  180. "targets": [
  181. {
  182. "expr": "sum(container_memory_usage_bytes{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\"}) / 1024^3",
  183. "intervalFactor": 2,
  184. "refId": "A",
  185. "step": 600
  186. }
  187. ],
  188. "title": "Memory",
  189. "type": "singlestat",
  190. "valueFontSize": "110%",
  191. "valueMaps": [
  192. {
  193. "op": "=",
  194. "text": "N/A",
  195. "value": "null"
  196. }
  197. ],
  198. "valueName": "avg"
  199. },
  200. {
  201. "colorBackground": false,
  202. "colorValue": false,
  203. "colors": [
  204. "rgba(245, 54, 54, 0.9)",
  205. "rgba(237, 129, 40, 0.89)",
  206. "rgba(50, 172, 45, 0.97)"
  207. ],
  208. "datasource": "${DS_PROMETHEUS}",
  209. "editable": true,
  210. "format": "Bps",
  211. "gauge": {
  212. "maxValue": 100,
  213. "minValue": 0,
  214. "show": false,
  215. "thresholdLabels": false,
  216. "thresholdMarkers": false
  217. },
  218. "id": 7,
  219. "links": [],
  220. "mappingType": 1,
  221. "mappingTypes": [
  222. {
  223. "name": "value to text",
  224. "value": 1
  225. },
  226. {
  227. "name": "range to text",
  228. "value": 2
  229. }
  230. ],
  231. "maxDataPoints": 100,
  232. "nullPointMode": "connected",
  233. "postfix": "",
  234. "postfixFontSize": "50%",
  235. "prefix": "",
  236. "prefixFontSize": "50%",
  237. "rangeMaps": [
  238. {
  239. "from": "null",
  240. "text": "N/A",
  241. "to": "null"
  242. }
  243. ],
  244. "span": 4,
  245. "sparkline": {
  246. "fillColor": "rgba(31, 118, 189, 0.18)",
  247. "full": false,
  248. "lineColor": "rgb(31, 120, 193)",
  249. "show": true
  250. },
  251. "targets": [
  252. {
  253. "expr": "sum(rate(container_network_transmit_bytes_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\"}[3m])) + sum(rate(container_network_receive_bytes_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\"}[3m]))",
  254. "intervalFactor": 2,
  255. "refId": "A",
  256. "step": 600
  257. }
  258. ],
  259. "title": "Network",
  260. "type": "singlestat",
  261. "valueFontSize": "80%",
  262. "valueMaps": [
  263. {
  264. "op": "=",
  265. "text": "N/A",
  266. "value": "null"
  267. }
  268. ],
  269. "valueName": "avg"
  270. }
  271. ],
  272. "showTitle": false,
  273. "title": "Dashboard Row",
  274. "titleSize": "h6"
  275. },
  276. {
  277. "collapse": false,
  278. "height": "100px",
  279. "panels": [
  280. {
  281. "colorBackground": false,
  282. "colorValue": false,
  283. "colors": [
  284. "rgba(245, 54, 54, 0.9)",
  285. "rgba(237, 129, 40, 0.89)",
  286. "rgba(50, 172, 45, 0.97)"
  287. ],
  288. "datasource": "${DS_PROMETHEUS}",
  289. "editable": true,
  290. "format": "none",
  291. "gauge": {
  292. "maxValue": 100,
  293. "minValue": 0,
  294. "show": false,
  295. "thresholdLabels": false,
  296. "thresholdMarkers": false
  297. },
  298. "id": 5,
  299. "links": [],
  300. "mappingType": 1,
  301. "mappingTypes": [
  302. {
  303. "name": "value to text",
  304. "value": 1
  305. },
  306. {
  307. "name": "range to text",
  308. "value": 2
  309. }
  310. ],
  311. "maxDataPoints": 100,
  312. "nullPointMode": "connected",
  313. "postfixFontSize": "50%",
  314. "prefix": "",
  315. "prefixFontSize": "50%",
  316. "rangeMaps": [
  317. {
  318. "from": "null",
  319. "text": "N/A",
  320. "to": "null"
  321. }
  322. ],
  323. "span": 3,
  324. "sparkline": {
  325. "fillColor": "rgba(31, 118, 189, 0.18)",
  326. "full": false,
  327. "lineColor": "rgb(31, 120, 193)",
  328. "show": false
  329. },
  330. "targets": [
  331. {
  332. "expr": "max(kube_deployment_spec_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  333. "intervalFactor": 2,
  334. "metric": "kube_deployment_spec_replicas",
  335. "refId": "A",
  336. "step": 600
  337. }
  338. ],
  339. "title": "Desired Replicas",
  340. "type": "singlestat",
  341. "valueFontSize": "80%",
  342. "valueMaps": [
  343. {
  344. "op": "=",
  345. "text": "N/A",
  346. "value": "null"
  347. }
  348. ],
  349. "valueName": "avg"
  350. },
  351. {
  352. "colorBackground": false,
  353. "colorValue": false,
  354. "colors": [
  355. "rgba(245, 54, 54, 0.9)",
  356. "rgba(237, 129, 40, 0.89)",
  357. "rgba(50, 172, 45, 0.97)"
  358. ],
  359. "datasource": "${DS_PROMETHEUS}",
  360. "editable": true,
  361. "format": "none",
  362. "gauge": {
  363. "maxValue": 100,
  364. "minValue": 0,
  365. "show": false,
  366. "thresholdLabels": false,
  367. "thresholdMarkers": true
  368. },
  369. "id": 6,
  370. "links": [],
  371. "mappingType": 1,
  372. "mappingTypes": [
  373. {
  374. "name": "value to text",
  375. "value": 1
  376. },
  377. {
  378. "name": "range to text",
  379. "value": 2
  380. }
  381. ],
  382. "maxDataPoints": 100,
  383. "nullPointMode": "connected",
  384. "postfixFontSize": "50%",
  385. "prefix": "",
  386. "prefixFontSize": "50%",
  387. "rangeMaps": [
  388. {
  389. "from": "null",
  390. "text": "N/A",
  391. "to": "null"
  392. }
  393. ],
  394. "span": 3,
  395. "sparkline": {
  396. "fillColor": "rgba(31, 118, 189, 0.18)",
  397. "full": false,
  398. "lineColor": "rgb(31, 120, 193)",
  399. "show": false
  400. },
  401. "targets": [
  402. {
  403. "expr": "min(kube_deployment_status_replicas_available{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  404. "intervalFactor": 2,
  405. "refId": "A",
  406. "step": 600
  407. }
  408. ],
  409. "title": "Available Replicas",
  410. "type": "singlestat",
  411. "valueFontSize": "80%",
  412. "valueMaps": [
  413. {
  414. "op": "=",
  415. "text": "N/A",
  416. "value": "null"
  417. }
  418. ],
  419. "valueName": "avg"
  420. },
  421. {
  422. "colorBackground": false,
  423. "colorValue": false,
  424. "colors": [
  425. "rgba(245, 54, 54, 0.9)",
  426. "rgba(237, 129, 40, 0.89)",
  427. "rgba(50, 172, 45, 0.97)"
  428. ],
  429. "datasource": "${DS_PROMETHEUS}",
  430. "editable": true,
  431. "format": "none",
  432. "gauge": {
  433. "maxValue": 100,
  434. "minValue": 0,
  435. "show": false,
  436. "thresholdLabels": false,
  437. "thresholdMarkers": true
  438. },
  439. "id": 3,
  440. "links": [],
  441. "mappingType": 1,
  442. "mappingTypes": [
  443. {
  444. "name": "value to text",
  445. "value": 1
  446. },
  447. {
  448. "name": "range to text",
  449. "value": 2
  450. }
  451. ],
  452. "maxDataPoints": 100,
  453. "nullPointMode": "connected",
  454. "postfixFontSize": "50%",
  455. "prefix": "",
  456. "prefixFontSize": "50%",
  457. "rangeMaps": [
  458. {
  459. "from": "null",
  460. "text": "N/A",
  461. "to": "null"
  462. }
  463. ],
  464. "span": 3,
  465. "sparkline": {
  466. "fillColor": "rgba(31, 118, 189, 0.18)",
  467. "full": false,
  468. "lineColor": "rgb(31, 120, 193)",
  469. "show": false
  470. },
  471. "targets": [
  472. {
  473. "expr": "max(kube_deployment_status_observed_generation{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  474. "intervalFactor": 2,
  475. "refId": "A",
  476. "step": 600
  477. }
  478. ],
  479. "title": "Observed Generation",
  480. "type": "singlestat",
  481. "valueFontSize": "80%",
  482. "valueMaps": [
  483. {
  484. "op": "=",
  485. "text": "N/A",
  486. "value": "null"
  487. }
  488. ],
  489. "valueName": "avg"
  490. },
  491. {
  492. "colorBackground": false,
  493. "colorValue": false,
  494. "colors": [
  495. "rgba(245, 54, 54, 0.9)",
  496. "rgba(237, 129, 40, 0.89)",
  497. "rgba(50, 172, 45, 0.97)"
  498. ],
  499. "datasource": "${DS_PROMETHEUS}",
  500. "editable": true,
  501. "format": "none",
  502. "gauge": {
  503. "maxValue": 100,
  504. "minValue": 0,
  505. "show": false,
  506. "thresholdLabels": false,
  507. "thresholdMarkers": true
  508. },
  509. "id": 2,
  510. "links": [],
  511. "mappingType": 1,
  512. "mappingTypes": [
  513. {
  514. "name": "value to text",
  515. "value": 1
  516. },
  517. {
  518. "name": "range to text",
  519. "value": 2
  520. }
  521. ],
  522. "maxDataPoints": 100,
  523. "nullPointMode": "connected",
  524. "postfixFontSize": "50%",
  525. "prefix": "",
  526. "prefixFontSize": "50%",
  527. "rangeMaps": [
  528. {
  529. "from": "null",
  530. "text": "N/A",
  531. "to": "null"
  532. }
  533. ],
  534. "span": 3,
  535. "sparkline": {
  536. "fillColor": "rgba(31, 118, 189, 0.18)",
  537. "full": false,
  538. "lineColor": "rgb(31, 120, 193)",
  539. "show": false
  540. },
  541. "targets": [
  542. {
  543. "expr": "max(kube_deployment_metadata_generation{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  544. "intervalFactor": 2,
  545. "refId": "A",
  546. "step": 600
  547. }
  548. ],
  549. "title": "Metadata Generation",
  550. "type": "singlestat",
  551. "valueFontSize": "80%",
  552. "valueMaps": [
  553. {
  554. "op": "=",
  555. "text": "N/A",
  556. "value": "null"
  557. }
  558. ],
  559. "valueName": "avg"
  560. }
  561. ],
  562. "showTitle": false,
  563. "title": "Dashboard Row",
  564. "titleSize": "h6"
  565. },
  566. {
  567. "collapse": false,
  568. "height": "350px",
  569. "panels": [
  570. {
  571. "aliasColors": {},
  572. "bars": false,
  573. "dashLength": 10,
  574. "dashes": false,
  575. "datasource": "${DS_PROMETHEUS}",
  576. "editable": true,
  577. "error": false,
  578. "fill": 1,
  579. "grid": {
  580. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  581. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  582. },
  583. "id": 1,
  584. "isNew": true,
  585. "legend": {
  586. "alignAsTable": false,
  587. "avg": false,
  588. "current": false,
  589. "hideEmpty": false,
  590. "hideZero": false,
  591. "max": false,
  592. "min": false,
  593. "rightSide": false,
  594. "show": true,
  595. "total": false
  596. },
  597. "lines": true,
  598. "linewidth": 2,
  599. "links": [],
  600. "nullPointMode": "connected",
  601. "percentage": false,
  602. "pointradius": 5,
  603. "points": false,
  604. "renderer": "flot",
  605. "seriesOverrides": [],
  606. "spaceLength": 10,
  607. "span": 12,
  608. "stack": false,
  609. "steppedLine": false,
  610. "targets": [
  611. {
  612. "expr": "max(kube_deployment_status_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  613. "intervalFactor": 2,
  614. "legendFormat": "current replicas",
  615. "refId": "A",
  616. "step": 30
  617. },
  618. {
  619. "expr": "min(kube_deployment_status_replicas_available{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  620. "intervalFactor": 2,
  621. "legendFormat": "available",
  622. "refId": "B",
  623. "step": 30
  624. },
  625. {
  626. "expr": "max(kube_deployment_status_replicas_unavailable{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  627. "intervalFactor": 2,
  628. "legendFormat": "unavailable",
  629. "refId": "C",
  630. "step": 30
  631. },
  632. {
  633. "expr": "min(kube_deployment_status_replicas_updated{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  634. "intervalFactor": 2,
  635. "legendFormat": "updated",
  636. "refId": "D",
  637. "step": 30
  638. },
  639. {
  640. "expr": "max(kube_deployment_spec_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)",
  641. "intervalFactor": 2,
  642. "legendFormat": "desired",
  643. "refId": "E",
  644. "step": 30
  645. }
  646. ],
  647. "title": "Replicas",
  648. "tooltip": {
  649. "msResolution": true,
  650. "shared": true,
  651. "sort": 0,
  652. "value_type": "cumulative"
  653. },
  654. "type": "graph",
  655. "xaxis": {
  656. "mode": "time",
  657. "show": true,
  658. "values": []
  659. },
  660. "yaxes": [
  661. {
  662. "format": "none",
  663. "label": "",
  664. "logBase": 1,
  665. "show": true
  666. },
  667. {
  668. "format": "short",
  669. "label": "",
  670. "logBase": 1,
  671. "show": false
  672. }
  673. ]
  674. }
  675. ],
  676. "showTitle": false,
  677. "title": "Dashboard Row",
  678. "titleSize": "h6"
  679. }
  680. ],
  681. "schemaVersion": 14,
  682. "sharedCrosshair": false,
  683. "style": "dark",
  684. "tags": [],
  685. "templating": {
  686. "list": [
  687. {
  688. "allValue": ".*",
  689. "current": {},
  690. "datasource": "${DS_PROMETHEUS}",
  691. "hide": 0,
  692. "includeAll": false,
  693. "label": "Namespace",
  694. "multi": false,
  695. "name": "deployment_namespace",
  696. "options": [],
  697. "query": "label_values(kube_deployment_metadata_generation, namespace)",
  698. "refresh": 1,
  699. "regex": "",
  700. "sort": 0,
  701. "tagValuesQuery": null,
  702. "tags": [],
  703. "tagsQuery": "",
  704. "type": "query",
  705. "useTags": false
  706. },
  707. {
  708. "allValue": null,
  709. "current": {},
  710. "datasource": "${DS_PROMETHEUS}",
  711. "hide": 0,
  712. "includeAll": false,
  713. "label": "Deployment",
  714. "multi": false,
  715. "name": "deployment_name",
  716. "options": [],
  717. "query": "label_values(kube_deployment_metadata_generation{namespace=\"$deployment_namespace\"}, deployment)",
  718. "refresh": 1,
  719. "regex": "",
  720. "sort": 0,
  721. "tagValuesQuery": "",
  722. "tags": [],
  723. "tagsQuery": "deployment",
  724. "type": "query",
  725. "useTags": false
  726. }
  727. ]
  728. },
  729. "time": {
  730. "from": "now-6h",
  731. "to": "now"
  732. },
  733. "timepicker": {
  734. "refresh_intervals": [
  735. "5s",
  736. "10s",
  737. "30s",
  738. "1m",
  739. "5m",
  740. "15m",
  741. "30m",
  742. "1h",
  743. "2h",
  744. "1d"
  745. ],
  746. "time_options": [
  747. "5m",
  748. "15m",
  749. "1h",
  750. "6h",
  751. "12h",
  752. "24h",
  753. "2d",
  754. "7d",
  755. "30d"
  756. ]
  757. },
  758. "timezone": "browser",
  759. "title": "Deployment",
  760. "version": 1
  761. }
  762. ,
  763. "inputs": [
  764. {
  765. "name": "DS_PROMETHEUS",
  766. "pluginId": "prometheus",
  767. "type": "datasource",
  768. "value": "prometheus"
  769. }
  770. ],
  771. "overwrite": true
  772. }
  773. kubernetes-capacity-planning-dashboard.json: |+
  774. {
  775. "dashboard":
  776. {
  777. "__inputs": [
  778. {
  779. "description": "",
  780. "label": "prometheus",
  781. "name": "DS_PROMETHEUS",
  782. "pluginId": "prometheus",
  783. "pluginName": "Prometheus",
  784. "type": "datasource"
  785. }
  786. ],
  787. "annotations": {
  788. "list": []
  789. },
  790. "editable": true,
  791. "gnetId": 22,
  792. "graphTooltip": 0,
  793. "hideControls": false,
  794. "links": [],
  795. "refresh": false,
  796. "rows": [
  797. {
  798. "collapse": false,
  799. "editable": true,
  800. "height": "250px",
  801. "panels": [
  802. {
  803. "aliasColors": {},
  804. "bars": false,
  805. "dashLength": 10,
  806. "dashes": false,
  807. "datasource": "${DS_PROMETHEUS}",
  808. "editable": true,
  809. "error": false,
  810. "fill": 1,
  811. "grid": {
  812. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  813. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  814. },
  815. "id": 3,
  816. "isNew": false,
  817. "legend": {
  818. "alignAsTable": false,
  819. "avg": false,
  820. "current": false,
  821. "hideEmpty": false,
  822. "hideZero": false,
  823. "max": false,
  824. "min": false,
  825. "rightSide": false,
  826. "show": true,
  827. "total": false
  828. },
  829. "lines": true,
  830. "linewidth": 2,
  831. "links": [],
  832. "nullPointMode": "connected",
  833. "percentage": false,
  834. "pointradius": 5,
  835. "points": false,
  836. "renderer": "flot",
  837. "seriesOverrides": [],
  838. "spaceLength": 10,
  839. "span": 6,
  840. "stack": false,
  841. "steppedLine": false,
  842. "targets": [
  843. {
  844. "expr": "sum(rate(node_cpu{mode=\"idle\"}[2m])) * 100",
  845. "hide": false,
  846. "intervalFactor": 10,
  847. "legendFormat": "",
  848. "refId": "A",
  849. "step": 50
  850. }
  851. ],
  852. "title": "Idle CPU",
  853. "tooltip": {
  854. "msResolution": false,
  855. "shared": true,
  856. "sort": 0,
  857. "value_type": "cumulative"
  858. },
  859. "type": "graph",
  860. "xaxis": {
  861. "mode": "time",
  862. "show": true,
  863. "values": []
  864. },
  865. "yaxes": [
  866. {
  867. "format": "percent",
  868. "label": "cpu usage",
  869. "logBase": 1,
  870. "min": 0,
  871. "show": true
  872. },
  873. {
  874. "format": "short",
  875. "logBase": 1,
  876. "show": true
  877. }
  878. ]
  879. },
  880. {
  881. "aliasColors": {},
  882. "bars": false,
  883. "dashLength": 10,
  884. "dashes": false,
  885. "datasource": "${DS_PROMETHEUS}",
  886. "editable": true,
  887. "error": false,
  888. "fill": 1,
  889. "grid": {
  890. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  891. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  892. },
  893. "id": 9,
  894. "isNew": false,
  895. "legend": {
  896. "alignAsTable": false,
  897. "avg": false,
  898. "current": false,
  899. "hideEmpty": false,
  900. "hideZero": false,
  901. "max": false,
  902. "min": false,
  903. "rightSide": false,
  904. "show": true,
  905. "total": false
  906. },
  907. "lines": true,
  908. "linewidth": 2,
  909. "links": [],
  910. "nullPointMode": "connected",
  911. "percentage": false,
  912. "pointradius": 5,
  913. "points": false,
  914. "renderer": "flot",
  915. "seriesOverrides": [],
  916. "spaceLength": 10,
  917. "span": 6,
  918. "stack": false,
  919. "steppedLine": false,
  920. "targets": [
  921. {
  922. "expr": "sum(node_load1)",
  923. "intervalFactor": 4,
  924. "legendFormat": "load 1m",
  925. "refId": "A",
  926. "step": 20,
  927. "target": ""
  928. },
  929. {
  930. "expr": "sum(node_load5)",
  931. "intervalFactor": 4,
  932. "legendFormat": "load 5m",
  933. "refId": "B",
  934. "step": 20,
  935. "target": ""
  936. },
  937. {
  938. "expr": "sum(node_load15)",
  939. "intervalFactor": 4,
  940. "legendFormat": "load 15m",
  941. "refId": "C",
  942. "step": 20,
  943. "target": ""
  944. }
  945. ],
  946. "title": "System Load",
  947. "tooltip": {
  948. "msResolution": false,
  949. "shared": true,
  950. "sort": 0,
  951. "value_type": "cumulative"
  952. },
  953. "type": "graph",
  954. "xaxis": {
  955. "mode": "time",
  956. "show": true,
  957. "values": []
  958. },
  959. "yaxes": [
  960. {
  961. "format": "percentunit",
  962. "logBase": 1,
  963. "show": true
  964. },
  965. {
  966. "format": "short",
  967. "logBase": 1,
  968. "show": true
  969. }
  970. ]
  971. }
  972. ],
  973. "showTitle": false,
  974. "title": "New Row",
  975. "titleSize": "h6"
  976. },
  977. {
  978. "collapse": false,
  979. "editable": true,
  980. "height": "250px",
  981. "panels": [
  982. {
  983. "aliasColors": {},
  984. "bars": false,
  985. "dashLength": 10,
  986. "dashes": false,
  987. "datasource": "${DS_PROMETHEUS}",
  988. "editable": true,
  989. "error": false,
  990. "fill": 1,
  991. "grid": {
  992. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  993. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  994. },
  995. "id": 4,
  996. "isNew": false,
  997. "legend": {
  998. "alignAsTable": false,
  999. "avg": false,
  1000. "current": false,
  1001. "hideEmpty": false,
  1002. "hideZero": false,
  1003. "max": false,
  1004. "min": false,
  1005. "rightSide": false,
  1006. "show": true,
  1007. "total": false
  1008. },
  1009. "lines": true,
  1010. "linewidth": 2,
  1011. "links": [],
  1012. "nullPointMode": "connected",
  1013. "percentage": false,
  1014. "pointradius": 5,
  1015. "points": false,
  1016. "renderer": "flot",
  1017. "seriesOverrides": [
  1018. {
  1019. "alias": "node_memory_SwapFree{instance=\"172.17.0.1:9100\",job=\"prometheus\"}",
  1020. "yaxis": 2
  1021. }
  1022. ],
  1023. "spaceLength": 10,
  1024. "span": 9,
  1025. "stack": true,
  1026. "steppedLine": false,
  1027. "targets": [
  1028. {
  1029. "expr": "sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers) - sum(node_memory_Cached)",
  1030. "intervalFactor": 2,
  1031. "legendFormat": "memory usage",
  1032. "metric": "memo",
  1033. "refId": "A",
  1034. "step": 10,
  1035. "target": ""
  1036. },
  1037. {
  1038. "expr": "sum(node_memory_Buffers)",
  1039. "interval": "",
  1040. "intervalFactor": 2,
  1041. "legendFormat": "memory buffers",
  1042. "metric": "memo",
  1043. "refId": "B",
  1044. "step": 10,
  1045. "target": ""
  1046. },
  1047. {
  1048. "expr": "sum(node_memory_Cached)",
  1049. "interval": "",
  1050. "intervalFactor": 2,
  1051. "legendFormat": "memory cached",
  1052. "metric": "memo",
  1053. "refId": "C",
  1054. "step": 10,
  1055. "target": ""
  1056. },
  1057. {
  1058. "expr": "sum(node_memory_MemFree)",
  1059. "interval": "",
  1060. "intervalFactor": 2,
  1061. "legendFormat": "memory free",
  1062. "metric": "memo",
  1063. "refId": "D",
  1064. "step": 10,
  1065. "target": ""
  1066. }
  1067. ],
  1068. "title": "Memory Usage",
  1069. "tooltip": {
  1070. "msResolution": false,
  1071. "shared": true,
  1072. "sort": 0,
  1073. "value_type": "individual"
  1074. },
  1075. "type": "graph",
  1076. "xaxis": {
  1077. "mode": "time",
  1078. "show": true,
  1079. "values": []
  1080. },
  1081. "yaxes": [
  1082. {
  1083. "format": "bytes",
  1084. "logBase": 1,
  1085. "min": "0",
  1086. "show": true
  1087. },
  1088. {
  1089. "format": "short",
  1090. "logBase": 1,
  1091. "show": true
  1092. }
  1093. ]
  1094. },
  1095. {
  1096. "colorBackground": false,
  1097. "colorValue": false,
  1098. "colors": [
  1099. "rgba(50, 172, 45, 0.97)",
  1100. "rgba(237, 129, 40, 0.89)",
  1101. "rgba(245, 54, 54, 0.9)"
  1102. ],
  1103. "datasource": "${DS_PROMETHEUS}",
  1104. "editable": true,
  1105. "format": "percent",
  1106. "gauge": {
  1107. "maxValue": 100,
  1108. "minValue": 0,
  1109. "show": true,
  1110. "thresholdLabels": false,
  1111. "thresholdMarkers": true
  1112. },
  1113. "hideTimeOverride": false,
  1114. "id": 5,
  1115. "links": [],
  1116. "mappingType": 1,
  1117. "mappingTypes": [
  1118. {
  1119. "name": "value to text",
  1120. "value": 1
  1121. },
  1122. {
  1123. "name": "range to text",
  1124. "value": 2
  1125. }
  1126. ],
  1127. "maxDataPoints": 100,
  1128. "nullPointMode": "connected",
  1129. "postfix": "",
  1130. "postfixFontSize": "50%",
  1131. "prefix": "",
  1132. "prefixFontSize": "50%",
  1133. "rangeMaps": [
  1134. {
  1135. "from": "null",
  1136. "text": "N/A",
  1137. "to": "null"
  1138. }
  1139. ],
  1140. "span": 3,
  1141. "sparkline": {
  1142. "fillColor": "rgba(31, 118, 189, 0.18)",
  1143. "full": false,
  1144. "lineColor": "rgb(31, 120, 193)",
  1145. "show": false
  1146. },
  1147. "targets": [
  1148. {
  1149. "expr": "((sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers) - sum(node_memory_Cached)) / sum(node_memory_MemTotal)) * 100",
  1150. "intervalFactor": 2,
  1151. "metric": "",
  1152. "refId": "A",
  1153. "step": 60,
  1154. "target": ""
  1155. }
  1156. ],
  1157. "thresholds": "80, 90",
  1158. "title": "Memory Usage",
  1159. "transparent": false,
  1160. "type": "singlestat",
  1161. "valueFontSize": "80%",
  1162. "valueMaps": [
  1163. {
  1164. "op": "=",
  1165. "text": "N/A",
  1166. "value": "null"
  1167. }
  1168. ],
  1169. "valueName": "avg"
  1170. }
  1171. ],
  1172. "showTitle": false,
  1173. "title": "New Row",
  1174. "titleSize": "h6"
  1175. },
  1176. {
  1177. "collapse": false,
  1178. "editable": true,
  1179. "height": "246px",
  1180. "panels": [
  1181. {
  1182. "aliasColors": {},
  1183. "bars": false,
  1184. "dashLength": 10,
  1185. "dashes": false,
  1186. "datasource": "${DS_PROMETHEUS}",
  1187. "editable": true,
  1188. "error": false,
  1189. "fill": 1,
  1190. "grid": {
  1191. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  1192. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  1193. },
  1194. "id": 6,
  1195. "isNew": false,
  1196. "legend": {
  1197. "alignAsTable": false,
  1198. "avg": false,
  1199. "current": false,
  1200. "hideEmpty": false,
  1201. "hideZero": false,
  1202. "max": false,
  1203. "min": false,
  1204. "rightSide": false,
  1205. "show": true,
  1206. "total": false
  1207. },
  1208. "lines": true,
  1209. "linewidth": 2,
  1210. "links": [],
  1211. "nullPointMode": "connected",
  1212. "percentage": false,
  1213. "pointradius": 5,
  1214. "points": false,
  1215. "renderer": "flot",
  1216. "seriesOverrides": [
  1217. {
  1218. "alias": "read",
  1219. "yaxis": 1
  1220. },
  1221. {
  1222. "alias": "{instance=\"172.17.0.1:9100\"}",
  1223. "yaxis": 2
  1224. },
  1225. {
  1226. "alias": "io time",
  1227. "yaxis": 2
  1228. }
  1229. ],
  1230. "spaceLength": 10,
  1231. "span": 9,
  1232. "stack": false,
  1233. "steppedLine": false,
  1234. "targets": [
  1235. {
  1236. "expr": "sum(rate(node_disk_bytes_read[5m]))",
  1237. "hide": false,
  1238. "intervalFactor": 4,
  1239. "legendFormat": "read",
  1240. "refId": "A",
  1241. "step": 20,
  1242. "target": ""
  1243. },
  1244. {
  1245. "expr": "sum(rate(node_disk_bytes_written[5m]))",
  1246. "intervalFactor": 4,
  1247. "legendFormat": "written",
  1248. "refId": "B",
  1249. "step": 20
  1250. },
  1251. {
  1252. "expr": "sum(rate(node_disk_io_time_ms[5m]))",
  1253. "intervalFactor": 4,
  1254. "legendFormat": "io time",
  1255. "refId": "C",
  1256. "step": 20
  1257. }
  1258. ],
  1259. "title": "Disk I/O",
  1260. "tooltip": {
  1261. "msResolution": false,
  1262. "shared": true,
  1263. "sort": 0,
  1264. "value_type": "cumulative"
  1265. },
  1266. "type": "graph",
  1267. "xaxis": {
  1268. "mode": "time",
  1269. "show": true,
  1270. "values": []
  1271. },
  1272. "yaxes": [
  1273. {
  1274. "format": "bytes",
  1275. "logBase": 1,
  1276. "show": true
  1277. },
  1278. {
  1279. "format": "ms",
  1280. "logBase": 1,
  1281. "show": true
  1282. }
  1283. ]
  1284. },
  1285. {
  1286. "colorBackground": false,
  1287. "colorValue": false,
  1288. "colors": [
  1289. "rgba(50, 172, 45, 0.97)",
  1290. "rgba(237, 129, 40, 0.89)",
  1291. "rgba(245, 54, 54, 0.9)"
  1292. ],
  1293. "datasource": "${DS_PROMETHEUS}",
  1294. "editable": true,
  1295. "format": "percentunit",
  1296. "gauge": {
  1297. "maxValue": 1,
  1298. "minValue": 0,
  1299. "show": true,
  1300. "thresholdLabels": false,
  1301. "thresholdMarkers": true
  1302. },
  1303. "hideTimeOverride": false,
  1304. "id": 12,
  1305. "links": [],
  1306. "mappingType": 1,
  1307. "mappingTypes": [
  1308. {
  1309. "name": "value to text",
  1310. "value": 1
  1311. },
  1312. {
  1313. "name": "range to text",
  1314. "value": 2
  1315. }
  1316. ],
  1317. "maxDataPoints": 100,
  1318. "nullPointMode": "connected",
  1319. "postfix": "",
  1320. "postfixFontSize": "50%",
  1321. "prefix": "",
  1322. "prefixFontSize": "50%",
  1323. "rangeMaps": [
  1324. {
  1325. "from": "null",
  1326. "text": "N/A",
  1327. "to": "null"
  1328. }
  1329. ],
  1330. "span": 3,
  1331. "sparkline": {
  1332. "fillColor": "rgba(31, 118, 189, 0.18)",
  1333. "full": false,
  1334. "lineColor": "rgb(31, 120, 193)",
  1335. "show": false
  1336. },
  1337. "targets": [
  1338. {
  1339. "expr": "(sum(node_filesystem_size{device!=\"rootfs\"}) - sum(node_filesystem_free{device!=\"rootfs\"})) / sum(node_filesystem_size{device!=\"rootfs\"})",
  1340. "intervalFactor": 2,
  1341. "refId": "A",
  1342. "step": 60,
  1343. "target": ""
  1344. }
  1345. ],
  1346. "thresholds": "0.75, 0.9",
  1347. "title": "Disk Space Usage",
  1348. "transparent": false,
  1349. "type": "singlestat",
  1350. "valueFontSize": "80%",
  1351. "valueMaps": [
  1352. {
  1353. "op": "=",
  1354. "text": "N/A",
  1355. "value": "null"
  1356. }
  1357. ],
  1358. "valueName": "current"
  1359. }
  1360. ],
  1361. "showTitle": false,
  1362. "title": "New Row",
  1363. "titleSize": "h6"
  1364. },
  1365. {
  1366. "collapse": false,
  1367. "editable": true,
  1368. "height": "250px",
  1369. "panels": [
  1370. {
  1371. "aliasColors": {},
  1372. "bars": false,
  1373. "dashLength": 10,
  1374. "dashes": false,
  1375. "datasource": "${DS_PROMETHEUS}",
  1376. "editable": true,
  1377. "error": false,
  1378. "fill": 1,
  1379. "grid": {
  1380. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  1381. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  1382. },
  1383. "id": 8,
  1384. "isNew": false,
  1385. "legend": {
  1386. "alignAsTable": false,
  1387. "avg": false,
  1388. "current": false,
  1389. "hideEmpty": false,
  1390. "hideZero": false,
  1391. "max": false,
  1392. "min": false,
  1393. "rightSide": false,
  1394. "show": true,
  1395. "total": false
  1396. },
  1397. "lines": true,
  1398. "linewidth": 2,
  1399. "links": [],
  1400. "nullPointMode": "connected",
  1401. "percentage": false,
  1402. "pointradius": 5,
  1403. "points": false,
  1404. "renderer": "flot",
  1405. "seriesOverrides": [
  1406. {
  1407. "alias": "transmitted",
  1408. "yaxis": 2
  1409. }
  1410. ],
  1411. "spaceLength": 10,
  1412. "span": 6,
  1413. "stack": false,
  1414. "steppedLine": false,
  1415. "targets": [
  1416. {
  1417. "expr": "sum(rate(node_network_receive_bytes{device!~\"lo\"}[5m]))",
  1418. "hide": false,
  1419. "intervalFactor": 2,
  1420. "legendFormat": "",
  1421. "refId": "A",
  1422. "step": 10,
  1423. "target": ""
  1424. }
  1425. ],
  1426. "title": "Network Received",
  1427. "tooltip": {
  1428. "msResolution": false,
  1429. "shared": true,
  1430. "sort": 0,
  1431. "value_type": "cumulative"
  1432. },
  1433. "type": "graph",
  1434. "xaxis": {
  1435. "mode": "time",
  1436. "show": true,
  1437. "values": []
  1438. },
  1439. "yaxes": [
  1440. {
  1441. "format": "bytes",
  1442. "logBase": 1,
  1443. "show": true
  1444. },
  1445. {
  1446. "format": "bytes",
  1447. "logBase": 1,
  1448. "show": true
  1449. }
  1450. ]
  1451. },
  1452. {
  1453. "aliasColors": {},
  1454. "bars": false,
  1455. "dashLength": 10,
  1456. "dashes": false,
  1457. "datasource": "${DS_PROMETHEUS}",
  1458. "editable": true,
  1459. "error": false,
  1460. "fill": 1,
  1461. "grid": {
  1462. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  1463. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  1464. },
  1465. "id": 10,
  1466. "isNew": false,
  1467. "legend": {
  1468. "alignAsTable": false,
  1469. "avg": false,
  1470. "current": false,
  1471. "hideEmpty": false,
  1472. "hideZero": false,
  1473. "max": false,
  1474. "min": false,
  1475. "rightSide": false,
  1476. "show": true,
  1477. "total": false
  1478. },
  1479. "lines": true,
  1480. "linewidth": 2,
  1481. "links": [],
  1482. "nullPointMode": "connected",
  1483. "percentage": false,
  1484. "pointradius": 5,
  1485. "points": false,
  1486. "renderer": "flot",
  1487. "seriesOverrides": [
  1488. {
  1489. "alias": "transmitted",
  1490. "yaxis": 2
  1491. }
  1492. ],
  1493. "spaceLength": 10,
  1494. "span": 6,
  1495. "stack": false,
  1496. "steppedLine": false,
  1497. "targets": [
  1498. {
  1499. "expr": "sum(rate(node_network_transmit_bytes{device!~\"lo\"}[5m]))",
  1500. "hide": false,
  1501. "intervalFactor": 2,
  1502. "legendFormat": "",
  1503. "refId": "B",
  1504. "step": 10,
  1505. "target": ""
  1506. }
  1507. ],
  1508. "title": "Network Transmitted",
  1509. "tooltip": {
  1510. "msResolution": false,
  1511. "shared": true,
  1512. "sort": 0,
  1513. "value_type": "cumulative"
  1514. },
  1515. "type": "graph",
  1516. "xaxis": {
  1517. "mode": "time",
  1518. "show": true,
  1519. "values": []
  1520. },
  1521. "yaxes": [
  1522. {
  1523. "format": "bytes",
  1524. "logBase": 1,
  1525. "show": true
  1526. },
  1527. {
  1528. "format": "bytes",
  1529. "logBase": 1,
  1530. "show": true
  1531. }
  1532. ]
  1533. }
  1534. ],
  1535. "showTitle": false,
  1536. "title": "New Row",
  1537. "titleSize": "h6"
  1538. },
  1539. {
  1540. "collapse": false,
  1541. "editable": true,
  1542. "height": "276px",
  1543. "panels": [
  1544. {
  1545. "aliasColors": {},
  1546. "bars": false,
  1547. "dashes": false,
  1548. "datasource": "${DS_PROMETHEUS}",
  1549. "editable": true,
  1550. "error": false,
  1551. "fill": 1,
  1552. "grid": {
  1553. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  1554. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  1555. },
  1556. "id": 11,
  1557. "isNew": true,
  1558. "legend": {
  1559. "alignAsTable": false,
  1560. "avg": false,
  1561. "current": false,
  1562. "hideEmpty": false,
  1563. "hideZero": false,
  1564. "max": false,
  1565. "min": false,
  1566. "rightSide": false,
  1567. "show": true,
  1568. "total": false
  1569. },
  1570. "lines": true,
  1571. "linewidth": 2,
  1572. "links": [],
  1573. "nullPointMode": "connected",
  1574. "percentage": false,
  1575. "pointradius": 5,
  1576. "points": false,
  1577. "renderer": "flot",
  1578. "seriesOverrides": [],
  1579. "spaceLength": 11,
  1580. "span": 9,
  1581. "stack": false,
  1582. "steppedLine": false,
  1583. "targets": [
  1584. {
  1585. "expr": "sum(kube_pod_info)",
  1586. "format": "time_series",
  1587. "intervalFactor": 2,
  1588. "legendFormat": "Current number of Pods",
  1589. "refId": "A",
  1590. "step": 10
  1591. },
  1592. {
  1593. "expr": "sum(kube_node_status_capacity_pods)",
  1594. "format": "time_series",
  1595. "intervalFactor": 2,
  1596. "legendFormat": "Maximum capacity of pods",
  1597. "refId": "B",
  1598. "step": 10
  1599. }
  1600. ],
  1601. "title": "Cluster Pod Utilization",
  1602. "tooltip": {
  1603. "msResolution": false,
  1604. "shared": true,
  1605. "sort": 0,
  1606. "value_type": "individual"
  1607. },
  1608. "type": "graph",
  1609. "xaxis": {
  1610. "mode": "time",
  1611. "show": true,
  1612. "values": []
  1613. },
  1614. "yaxes": [
  1615. {
  1616. "format": "short",
  1617. "logBase": 1,
  1618. "show": true
  1619. },
  1620. {
  1621. "format": "short",
  1622. "logBase": 1,
  1623. "show": true
  1624. }
  1625. ]
  1626. },
  1627. {
  1628. "colorBackground": false,
  1629. "colorValue": false,
  1630. "colors": [
  1631. "rgba(50, 172, 45, 0.97)",
  1632. "rgba(237, 129, 40, 0.89)",
  1633. "rgba(245, 54, 54, 0.9)"
  1634. ],
  1635. "datasource": "${DS_PROMETHEUS}",
  1636. "editable": true,
  1637. "format": "percent",
  1638. "gauge": {
  1639. "maxValue": 100,
  1640. "minValue": 0,
  1641. "show": true,
  1642. "thresholdLabels": false,
  1643. "thresholdMarkers": true
  1644. },
  1645. "hideTimeOverride": false,
  1646. "id": 7,
  1647. "links": [],
  1648. "mappingType": 1,
  1649. "mappingTypes": [
  1650. {
  1651. "name": "value to text",
  1652. "value": 1
  1653. },
  1654. {
  1655. "name": "range to text",
  1656. "value": 2
  1657. }
  1658. ],
  1659. "maxDataPoints": 100,
  1660. "nullPointMode": "connected",
  1661. "postfix": "",
  1662. "postfixFontSize": "50%",
  1663. "prefix": "",
  1664. "prefixFontSize": "50%",
  1665. "rangeMaps": [
  1666. {
  1667. "from": "null",
  1668. "text": "N/A",
  1669. "to": "null"
  1670. }
  1671. ],
  1672. "span": 3,
  1673. "sparkline": {
  1674. "fillColor": "rgba(31, 118, 189, 0.18)",
  1675. "full": false,
  1676. "lineColor": "rgb(31, 120, 193)",
  1677. "show": false
  1678. },
  1679. "targets": [
  1680. {
  1681. "expr": "100 - (sum(kube_node_status_capacity_pods) - sum(kube_pod_info)) / sum(kube_node_status_capacity_pods) * 100",
  1682. "format": "time_series",
  1683. "intervalFactor": 2,
  1684. "legendFormat": "",
  1685. "refId": "A",
  1686. "step": 60,
  1687. "target": ""
  1688. }
  1689. ],
  1690. "thresholds": "80, 90",
  1691. "title": "Pod Utilization",
  1692. "transparent": false,
  1693. "type": "singlestat",
  1694. "valueFontSize": "80%",
  1695. "valueMaps": [
  1696. {
  1697. "op": "=",
  1698. "text": "N/A",
  1699. "value": "null"
  1700. }
  1701. ],
  1702. "valueName": "current"
  1703. }
  1704. ],
  1705. "showTitle": false,
  1706. "title": "New Row",
  1707. "titleSize": "h6"
  1708. }
  1709. ],
  1710. "schemaVersion": 14,
  1711. "sharedCrosshair": false,
  1712. "style": "dark",
  1713. "tags": [],
  1714. "templating": {
  1715. "list": []
  1716. },
  1717. "time": {
  1718. "from": "now-1h",
  1719. "to": "now"
  1720. },
  1721. "timepicker": {
  1722. "refresh_intervals": [
  1723. "5s",
  1724. "10s",
  1725. "30s",
  1726. "1m",
  1727. "5m",
  1728. "15m",
  1729. "30m",
  1730. "1h",
  1731. "2h",
  1732. "1d"
  1733. ],
  1734. "time_options": [
  1735. "5m",
  1736. "15m",
  1737. "1h",
  1738. "6h",
  1739. "12h",
  1740. "24h",
  1741. "2d",
  1742. "7d",
  1743. "30d"
  1744. ]
  1745. },
  1746. "timezone": "browser",
  1747. "title": "Kubernetes Capacity Planning",
  1748. "version": 4
  1749. }
  1750. ,
  1751. "inputs": [
  1752. {
  1753. "name": "DS_PROMETHEUS",
  1754. "pluginId": "prometheus",
  1755. "type": "datasource",
  1756. "value": "prometheus"
  1757. }
  1758. ],
  1759. "overwrite": true
  1760. }
  1761. kubernetes-cluster-health-dashboard.json: |+
  1762. {
  1763. "dashboard":
  1764. {
  1765. "__inputs": [
  1766. {
  1767. "description": "",
  1768. "label": "prometheus",
  1769. "name": "DS_PROMETHEUS",
  1770. "pluginId": "prometheus",
  1771. "pluginName": "Prometheus",
  1772. "type": "datasource"
  1773. }
  1774. ],
  1775. "annotations": {
  1776. "list": []
  1777. },
  1778. "editable": true,
  1779. "graphTooltip": 0,
  1780. "hideControls": false,
  1781. "links": [],
  1782. "refresh": "10s",
  1783. "rows": [
  1784. {
  1785. "collapse": false,
  1786. "editable": true,
  1787. "height": "254px",
  1788. "panels": [
  1789. {
  1790. "colorBackground": false,
  1791. "colorValue": true,
  1792. "colors": [
  1793. "rgba(50, 172, 45, 0.97)",
  1794. "rgba(237, 129, 40, 0.89)",
  1795. "rgba(245, 54, 54, 0.9)"
  1796. ],
  1797. "datasource": "${DS_PROMETHEUS}",
  1798. "editable": true,
  1799. "format": "none",
  1800. "gauge": {
  1801. "maxValue": 100,
  1802. "minValue": 0,
  1803. "show": false,
  1804. "thresholdLabels": false,
  1805. "thresholdMarkers": true
  1806. },
  1807. "hideTimeOverride": false,
  1808. "id": 1,
  1809. "links": [],
  1810. "mappingType": 1,
  1811. "mappingTypes": [
  1812. {
  1813. "name": "value to text",
  1814. "value": 1
  1815. },
  1816. {
  1817. "name": "range to text",
  1818. "value": 2
  1819. }
  1820. ],
  1821. "maxDataPoints": 100,
  1822. "nullPointMode": "connected",
  1823. "postfix": "",
  1824. "postfixFontSize": "50%",
  1825. "prefix": "",
  1826. "prefixFontSize": "50%",
  1827. "rangeMaps": [
  1828. {
  1829. "from": "null",
  1830. "text": "N/A",
  1831. "to": "null"
  1832. }
  1833. ],
  1834. "span": 3,
  1835. "sparkline": {
  1836. "fillColor": "rgba(31, 118, 189, 0.18)",
  1837. "full": false,
  1838. "lineColor": "rgb(31, 120, 193)",
  1839. "show": false
  1840. },
  1841. "targets": [
  1842. {
  1843. "expr": "sum(up{job=~\"apiserver|kube-scheduler|kube-controller-manager\"} == 0)",
  1844. "format": "time_series",
  1845. "intervalFactor": 2,
  1846. "legendFormat": "",
  1847. "refId": "A",
  1848. "step": 600
  1849. }
  1850. ],
  1851. "thresholds": "1, 3",
  1852. "title": "Control Plane Components Down",
  1853. "transparent": false,
  1854. "type": "singlestat",
  1855. "valueFontSize": "80%",
  1856. "valueMaps": [
  1857. {
  1858. "op": "=",
  1859. "text": "Everything UP and healthy",
  1860. "value": "null"
  1861. },
  1862. {
  1863. "op": "=",
  1864. "text": "",
  1865. "value": ""
  1866. }
  1867. ],
  1868. "valueName": "avg"
  1869. },
  1870. {
  1871. "colorBackground": false,
  1872. "colorValue": true,
  1873. "colors": [
  1874. "rgba(50, 172, 45, 0.97)",
  1875. "rgba(237, 129, 40, 0.89)",
  1876. "rgba(245, 54, 54, 0.9)"
  1877. ],
  1878. "datasource": "${DS_PROMETHEUS}",
  1879. "editable": true,
  1880. "format": "none",
  1881. "gauge": {
  1882. "maxValue": 100,
  1883. "minValue": 0,
  1884. "show": false,
  1885. "thresholdLabels": false,
  1886. "thresholdMarkers": true
  1887. },
  1888. "hideTimeOverride": false,
  1889. "id": 2,
  1890. "links": [],
  1891. "mappingType": 1,
  1892. "mappingTypes": [
  1893. {
  1894. "name": "value to text",
  1895. "value": 1
  1896. },
  1897. {
  1898. "name": "range to text",
  1899. "value": 2
  1900. }
  1901. ],
  1902. "maxDataPoints": 100,
  1903. "nullPointMode": "connected",
  1904. "postfix": "",
  1905. "postfixFontSize": "50%",
  1906. "prefix": "",
  1907. "prefixFontSize": "50%",
  1908. "rangeMaps": [
  1909. {
  1910. "from": "null",
  1911. "text": "N/A",
  1912. "to": "null"
  1913. }
  1914. ],
  1915. "span": 3,
  1916. "sparkline": {
  1917. "fillColor": "rgba(31, 118, 189, 0.18)",
  1918. "full": false,
  1919. "lineColor": "rgb(31, 120, 193)",
  1920. "show": false
  1921. },
  1922. "targets": [
  1923. {
  1924. "expr": "sum(ALERTS{alertstate=\"firing\",alertname!=\"DeadMansSwitch\"})",
  1925. "format": "time_series",
  1926. "intervalFactor": 2,
  1927. "legendFormat": "",
  1928. "refId": "A",
  1929. "step": 600
  1930. }
  1931. ],
  1932. "thresholds": "1, 3",
  1933. "title": "Alerts Firing",
  1934. "transparent": false,
  1935. "type": "singlestat",
  1936. "valueFontSize": "80%",
  1937. "valueMaps": [
  1938. {
  1939. "op": "=",
  1940. "text": "0",
  1941. "value": "null"
  1942. }
  1943. ],
  1944. "valueName": "current"
  1945. },
  1946. {
  1947. "colorBackground": false,
  1948. "colorValue": true,
  1949. "colors": [
  1950. "rgba(50, 172, 45, 0.97)",
  1951. "rgba(237, 129, 40, 0.89)",
  1952. "rgba(245, 54, 54, 0.9)"
  1953. ],
  1954. "datasource": "${DS_PROMETHEUS}",
  1955. "editable": true,
  1956. "format": "none",
  1957. "gauge": {
  1958. "maxValue": 100,
  1959. "minValue": 0,
  1960. "show": false,
  1961. "thresholdLabels": false,
  1962. "thresholdMarkers": true
  1963. },
  1964. "hideTimeOverride": false,
  1965. "id": 3,
  1966. "links": [],
  1967. "mappingType": 1,
  1968. "mappingTypes": [
  1969. {
  1970. "name": "value to text",
  1971. "value": 1
  1972. },
  1973. {
  1974. "name": "range to text",
  1975. "value": 2
  1976. }
  1977. ],
  1978. "maxDataPoints": 100,
  1979. "nullPointMode": "connected",
  1980. "postfix": "",
  1981. "postfixFontSize": "50%",
  1982. "prefix": "",
  1983. "prefixFontSize": "50%",
  1984. "rangeMaps": [
  1985. {
  1986. "from": "null",
  1987. "text": "N/A",
  1988. "to": "null"
  1989. }
  1990. ],
  1991. "span": 3,
  1992. "sparkline": {
  1993. "fillColor": "rgba(31, 118, 189, 0.18)",
  1994. "full": false,
  1995. "lineColor": "rgb(31, 120, 193)",
  1996. "show": false
  1997. },
  1998. "targets": [
  1999. {
  2000. "expr": "sum(ALERTS{alertstate=\"pending\",alertname!=\"DeadMansSwitch\"})",
  2001. "format": "time_series",
  2002. "intervalFactor": 2,
  2003. "legendFormat": "",
  2004. "refId": "A",
  2005. "step": 600
  2006. }
  2007. ],
  2008. "thresholds": "3, 5",
  2009. "title": "Alerts Pending",
  2010. "transparent": false,
  2011. "type": "singlestat",
  2012. "valueFontSize": "80%",
  2013. "valueMaps": [
  2014. {
  2015. "op": "=",
  2016. "text": "0",
  2017. "value": "null"
  2018. }
  2019. ],
  2020. "valueName": "current"
  2021. },
  2022. {
  2023. "colorBackground": false,
  2024. "colorValue": true,
  2025. "colors": [
  2026. "rgba(50, 172, 45, 0.97)",
  2027. "rgba(237, 129, 40, 0.89)",
  2028. "rgba(245, 54, 54, 0.9)"
  2029. ],
  2030. "datasource": "${DS_PROMETHEUS}",
  2031. "editable": true,
  2032. "format": "none",
  2033. "gauge": {
  2034. "maxValue": 100,
  2035. "minValue": 0,
  2036. "show": false,
  2037. "thresholdLabels": false,
  2038. "thresholdMarkers": true
  2039. },
  2040. "hideTimeOverride": false,
  2041. "id": 4,
  2042. "links": [],
  2043. "mappingType": 1,
  2044. "mappingTypes": [
  2045. {
  2046. "name": "value to text",
  2047. "value": 1
  2048. },
  2049. {
  2050. "name": "range to text",
  2051. "value": 2
  2052. }
  2053. ],
  2054. "maxDataPoints": 100,
  2055. "nullPointMode": "connected",
  2056. "postfix": "",
  2057. "postfixFontSize": "50%",
  2058. "prefix": "",
  2059. "prefixFontSize": "50%",
  2060. "rangeMaps": [
  2061. {
  2062. "from": "null",
  2063. "text": "N/A",
  2064. "to": "null"
  2065. }
  2066. ],
  2067. "span": 3,
  2068. "sparkline": {
  2069. "fillColor": "rgba(31, 118, 189, 0.18)",
  2070. "full": false,
  2071. "lineColor": "rgb(31, 120, 193)",
  2072. "show": false
  2073. },
  2074. "targets": [
  2075. {
  2076. "expr": "count(increase(kube_pod_container_status_restarts[1h]) > 5)",
  2077. "format": "time_series",
  2078. "intervalFactor": 2,
  2079. "legendFormat": "",
  2080. "refId": "A",
  2081. "step": 600
  2082. }
  2083. ],
  2084. "thresholds": "1, 3",
  2085. "title": "Crashlooping Pods",
  2086. "transparent": false,
  2087. "type": "singlestat",
  2088. "valueFontSize": "80%",
  2089. "valueMaps": [
  2090. {
  2091. "op": "=",
  2092. "text": "0",
  2093. "value": "null"
  2094. }
  2095. ],
  2096. "valueName": "current"
  2097. }
  2098. ],
  2099. "showTitle": false,
  2100. "title": "Row",
  2101. "titleSize": "h6"
  2102. },
  2103. {
  2104. "collapse": false,
  2105. "editable": true,
  2106. "height": "250px",
  2107. "panels": [
  2108. {
  2109. "colorBackground": false,
  2110. "colorValue": true,
  2111. "colors": [
  2112. "rgba(50, 172, 45, 0.97)",
  2113. "rgba(237, 129, 40, 0.89)",
  2114. "rgba(245, 54, 54, 0.9)"
  2115. ],
  2116. "datasource": "${DS_PROMETHEUS}",
  2117. "editable": true,
  2118. "format": "none",
  2119. "gauge": {
  2120. "maxValue": 100,
  2121. "minValue": 0,
  2122. "show": false,
  2123. "thresholdLabels": false,
  2124. "thresholdMarkers": true
  2125. },
  2126. "hideTimeOverride": false,
  2127. "id": 5,
  2128. "links": [],
  2129. "mappingType": 1,
  2130. "mappingTypes": [
  2131. {
  2132. "name": "value to text",
  2133. "value": 1
  2134. },
  2135. {
  2136. "name": "range to text",
  2137. "value": 2
  2138. }
  2139. ],
  2140. "maxDataPoints": 100,
  2141. "nullPointMode": "connected",
  2142. "postfix": "",
  2143. "postfixFontSize": "50%",
  2144. "prefix": "",
  2145. "prefixFontSize": "50%",
  2146. "rangeMaps": [
  2147. {
  2148. "from": "null",
  2149. "text": "N/A",
  2150. "to": "null"
  2151. }
  2152. ],
  2153. "span": 3,
  2154. "sparkline": {
  2155. "fillColor": "rgba(31, 118, 189, 0.18)",
  2156. "full": false,
  2157. "lineColor": "rgb(31, 120, 193)",
  2158. "show": false
  2159. },
  2160. "targets": [
  2161. {
  2162. "expr": "sum(kube_node_status_condition{condition=\"Ready\",status!=\"true\"})",
  2163. "format": "time_series",
  2164. "intervalFactor": 2,
  2165. "legendFormat": "",
  2166. "refId": "A",
  2167. "step": 600
  2168. }
  2169. ],
  2170. "thresholds": "1, 3",
  2171. "title": "Node Not Ready",
  2172. "transparent": false,
  2173. "type": "singlestat",
  2174. "valueFontSize": "80%",
  2175. "valueMaps": [
  2176. {
  2177. "op": "=",
  2178. "text": "N/A",
  2179. "value": "null"
  2180. }
  2181. ],
  2182. "valueName": "current"
  2183. },
  2184. {
  2185. "colorBackground": false,
  2186. "colorValue": true,
  2187. "colors": [
  2188. "rgba(50, 172, 45, 0.97)",
  2189. "rgba(237, 129, 40, 0.89)",
  2190. "rgba(245, 54, 54, 0.9)"
  2191. ],
  2192. "datasource": "${DS_PROMETHEUS}",
  2193. "editable": true,
  2194. "format": "none",
  2195. "gauge": {
  2196. "maxValue": 100,
  2197. "minValue": 0,
  2198. "show": false,
  2199. "thresholdLabels": false,
  2200. "thresholdMarkers": true
  2201. },
  2202. "hideTimeOverride": false,
  2203. "id": 6,
  2204. "links": [],
  2205. "mappingType": 1,
  2206. "mappingTypes": [
  2207. {
  2208. "name": "value to text",
  2209. "value": 1
  2210. },
  2211. {
  2212. "name": "range to text",
  2213. "value": 2
  2214. }
  2215. ],
  2216. "maxDataPoints": 100,
  2217. "nullPointMode": "connected",
  2218. "postfix": "",
  2219. "postfixFontSize": "50%",
  2220. "prefix": "",
  2221. "prefixFontSize": "50%",
  2222. "rangeMaps": [
  2223. {
  2224. "from": "null",
  2225. "text": "N/A",
  2226. "to": "null"
  2227. }
  2228. ],
  2229. "span": 3,
  2230. "sparkline": {
  2231. "fillColor": "rgba(31, 118, 189, 0.18)",
  2232. "full": false,
  2233. "lineColor": "rgb(31, 120, 193)",
  2234. "show": false
  2235. },
  2236. "targets": [
  2237. {
  2238. "expr": "sum(kube_node_status_condition{condition=\"DiskPressure\",status=\"true\"})",
  2239. "format": "time_series",
  2240. "intervalFactor": 2,
  2241. "legendFormat": "",
  2242. "refId": "A",
  2243. "step": 600
  2244. }
  2245. ],
  2246. "thresholds": "1, 3",
  2247. "title": "Node Disk Pressure",
  2248. "transparent": false,
  2249. "type": "singlestat",
  2250. "valueFontSize": "80%",
  2251. "valueMaps": [
  2252. {
  2253. "op": "=",
  2254. "text": "N/A",
  2255. "value": "null"
  2256. }
  2257. ],
  2258. "valueName": "current"
  2259. },
  2260. {
  2261. "colorBackground": false,
  2262. "colorValue": true,
  2263. "colors": [
  2264. "rgba(50, 172, 45, 0.97)",
  2265. "rgba(237, 129, 40, 0.89)",
  2266. "rgba(245, 54, 54, 0.9)"
  2267. ],
  2268. "datasource": "${DS_PROMETHEUS}",
  2269. "editable": true,
  2270. "format": "none",
  2271. "gauge": {
  2272. "maxValue": 100,
  2273. "minValue": 0,
  2274. "show": false,
  2275. "thresholdLabels": false,
  2276. "thresholdMarkers": true
  2277. },
  2278. "hideTimeOverride": false,
  2279. "id": 7,
  2280. "links": [],
  2281. "mappingType": 1,
  2282. "mappingTypes": [
  2283. {
  2284. "name": "value to text",
  2285. "value": 1
  2286. },
  2287. {
  2288. "name": "range to text",
  2289. "value": 2
  2290. }
  2291. ],
  2292. "maxDataPoints": 100,
  2293. "nullPointMode": "connected",
  2294. "postfix": "",
  2295. "postfixFontSize": "50%",
  2296. "prefix": "",
  2297. "prefixFontSize": "50%",
  2298. "rangeMaps": [
  2299. {
  2300. "from": "null",
  2301. "text": "N/A",
  2302. "to": "null"
  2303. }
  2304. ],
  2305. "span": 3,
  2306. "sparkline": {
  2307. "fillColor": "rgba(31, 118, 189, 0.18)",
  2308. "full": false,
  2309. "lineColor": "rgb(31, 120, 193)",
  2310. "show": false
  2311. },
  2312. "targets": [
  2313. {
  2314. "expr": "sum(kube_node_status_condition{condition=\"MemoryPressure\",status=\"true\"})",
  2315. "format": "time_series",
  2316. "intervalFactor": 2,
  2317. "legendFormat": "",
  2318. "refId": "A",
  2319. "step": 600
  2320. }
  2321. ],
  2322. "thresholds": "1, 3",
  2323. "title": "Node Memory Pressure",
  2324. "transparent": false,
  2325. "type": "singlestat",
  2326. "valueFontSize": "80%",
  2327. "valueMaps": [
  2328. {
  2329. "op": "=",
  2330. "text": "N/A",
  2331. "value": "null"
  2332. }
  2333. ],
  2334. "valueName": "current"
  2335. },
  2336. {
  2337. "colorBackground": false,
  2338. "colorValue": true,
  2339. "colors": [
  2340. "rgba(50, 172, 45, 0.97)",
  2341. "rgba(237, 129, 40, 0.89)",
  2342. "rgba(245, 54, 54, 0.9)"
  2343. ],
  2344. "datasource": "${DS_PROMETHEUS}",
  2345. "editable": true,
  2346. "format": "none",
  2347. "gauge": {
  2348. "maxValue": 100,
  2349. "minValue": 0,
  2350. "show": false,
  2351. "thresholdLabels": false,
  2352. "thresholdMarkers": true
  2353. },
  2354. "hideTimeOverride": false,
  2355. "id": 8,
  2356. "links": [],
  2357. "mappingType": 1,
  2358. "mappingTypes": [
  2359. {
  2360. "name": "value to text",
  2361. "value": 1
  2362. },
  2363. {
  2364. "name": "range to text",
  2365. "value": 2
  2366. }
  2367. ],
  2368. "maxDataPoints": 100,
  2369. "nullPointMode": "connected",
  2370. "postfix": "",
  2371. "postfixFontSize": "50%",
  2372. "prefix": "",
  2373. "prefixFontSize": "50%",
  2374. "rangeMaps": [
  2375. {
  2376. "from": "null",
  2377. "text": "N/A",
  2378. "to": "null"
  2379. }
  2380. ],
  2381. "span": 3,
  2382. "sparkline": {
  2383. "fillColor": "rgba(31, 118, 189, 0.18)",
  2384. "full": false,
  2385. "lineColor": "rgb(31, 120, 193)",
  2386. "show": false
  2387. },
  2388. "targets": [
  2389. {
  2390. "expr": "sum(kube_node_spec_unschedulable)",
  2391. "format": "time_series",
  2392. "intervalFactor": 2,
  2393. "legendFormat": "",
  2394. "refId": "A",
  2395. "step": 600
  2396. }
  2397. ],
  2398. "thresholds": "1, 3",
  2399. "title": "Nodes Unschedulable",
  2400. "transparent": false,
  2401. "type": "singlestat",
  2402. "valueFontSize": "80%",
  2403. "valueMaps": [
  2404. {
  2405. "op": "=",
  2406. "text": "N/A",
  2407. "value": "null"
  2408. }
  2409. ],
  2410. "valueName": "current"
  2411. }
  2412. ],
  2413. "showTitle": false,
  2414. "title": "Row",
  2415. "titleSize": "h6"
  2416. }
  2417. ],
  2418. "schemaVersion": 14,
  2419. "sharedCrosshair": false,
  2420. "style": "dark",
  2421. "tags": [],
  2422. "templating": {
  2423. "list": []
  2424. },
  2425. "time": {
  2426. "from": "now-6h",
  2427. "to": "now"
  2428. },
  2429. "timepicker": {
  2430. "refresh_intervals": [
  2431. "5s",
  2432. "10s",
  2433. "30s",
  2434. "1m",
  2435. "5m",
  2436. "15m",
  2437. "30m",
  2438. "1h",
  2439. "2h",
  2440. "1d"
  2441. ],
  2442. "time_options": [
  2443. "5m",
  2444. "15m",
  2445. "1h",
  2446. "6h",
  2447. "12h",
  2448. "24h",
  2449. "2d",
  2450. "7d",
  2451. "30d"
  2452. ]
  2453. },
  2454. "timezone": "browser",
  2455. "title": "Kubernetes Cluster Health",
  2456. "version": 9
  2457. }
  2458. ,
  2459. "inputs": [
  2460. {
  2461. "name": "DS_PROMETHEUS",
  2462. "pluginId": "prometheus",
  2463. "type": "datasource",
  2464. "value": "prometheus"
  2465. }
  2466. ],
  2467. "overwrite": true
  2468. }
  2469. kubernetes-cluster-status-dashboard.json: |+
  2470. {
  2471. "dashboard":
  2472. {
  2473. "__inputs": [
  2474. {
  2475. "description": "",
  2476. "label": "prometheus",
  2477. "name": "DS_PROMETHEUS",
  2478. "pluginId": "prometheus",
  2479. "pluginName": "Prometheus",
  2480. "type": "datasource"
  2481. }
  2482. ],
  2483. "annotations": {
  2484. "list": []
  2485. },
  2486. "editable": true,
  2487. "graphTooltip": 0,
  2488. "hideControls": false,
  2489. "links": [],
  2490. "rows": [
  2491. {
  2492. "collapse": false,
  2493. "height": "129px",
  2494. "panels": [
  2495. {
  2496. "colorBackground": false,
  2497. "colorValue": true,
  2498. "colors": [
  2499. "rgba(50, 172, 45, 0.97)",
  2500. "rgba(237, 129, 40, 0.89)",
  2501. "rgba(245, 54, 54, 0.9)"
  2502. ],
  2503. "datasource": "${DS_PROMETHEUS}",
  2504. "editable": true,
  2505. "format": "none",
  2506. "gauge": {
  2507. "maxValue": 100,
  2508. "minValue": 0,
  2509. "show": false,
  2510. "thresholdLabels": false,
  2511. "thresholdMarkers": true
  2512. },
  2513. "id": 5,
  2514. "links": [],
  2515. "mappingType": 1,
  2516. "mappingTypes": [
  2517. {
  2518. "name": "value to text",
  2519. "value": 1
  2520. },
  2521. {
  2522. "name": "range to text",
  2523. "value": 2
  2524. }
  2525. ],
  2526. "maxDataPoints": 100,
  2527. "nullPointMode": "connected",
  2528. "postfixFontSize": "50%",
  2529. "prefix": "",
  2530. "prefixFontSize": "50%",
  2531. "rangeMaps": [
  2532. {
  2533. "from": "null",
  2534. "text": "N/A",
  2535. "to": "null"
  2536. }
  2537. ],
  2538. "span": 6,
  2539. "sparkline": {
  2540. "fillColor": "rgba(31, 118, 189, 0.18)",
  2541. "full": false,
  2542. "lineColor": "rgb(31, 120, 193)",
  2543. "show": false
  2544. },
  2545. "targets": [
  2546. {
  2547. "expr": "sum(up{job=~\"apiserver|kube-scheduler|kube-controller-manager\"} == 0)",
  2548. "format": "time_series",
  2549. "intervalFactor": 2,
  2550. "refId": "A",
  2551. "step": 600
  2552. }
  2553. ],
  2554. "thresholds": "1, 3",
  2555. "title": "Control Plane UP",
  2556. "type": "singlestat",
  2557. "valueFontSize": "80%",
  2558. "valueMaps": [
  2559. {
  2560. "op": "=",
  2561. "text": "UP",
  2562. "value": "null"
  2563. }
  2564. ],
  2565. "valueName": "total"
  2566. },
  2567. {
  2568. "colorBackground": false,
  2569. "colorValue": true,
  2570. "colors": [
  2571. "rgba(50, 172, 45, 0.97)",
  2572. "rgba(237, 129, 40, 0.89)",
  2573. "rgba(245, 54, 54, 0.9)"
  2574. ],
  2575. "datasource": "${DS_PROMETHEUS}",
  2576. "editable": true,
  2577. "format": "none",
  2578. "gauge": {
  2579. "maxValue": 100,
  2580. "minValue": 0,
  2581. "show": false,
  2582. "thresholdLabels": false,
  2583. "thresholdMarkers": true
  2584. },
  2585. "id": 6,
  2586. "links": [],
  2587. "mappingType": 1,
  2588. "mappingTypes": [
  2589. {
  2590. "name": "value to text",
  2591. "value": 1
  2592. },
  2593. {
  2594. "name": "range to text",
  2595. "value": 2
  2596. }
  2597. ],
  2598. "maxDataPoints": 100,
  2599. "nullPointMode": "connected",
  2600. "postfixFontSize": "50%",
  2601. "prefix": "",
  2602. "prefixFontSize": "50%",
  2603. "rangeMaps": [
  2604. {
  2605. "from": "null",
  2606. "text": "N/A",
  2607. "to": "null"
  2608. }
  2609. ],
  2610. "span": 6,
  2611. "sparkline": {
  2612. "fillColor": "rgba(31, 118, 189, 0.18)",
  2613. "full": false,
  2614. "lineColor": "rgb(31, 120, 193)",
  2615. "show": false
  2616. },
  2617. "targets": [
  2618. {
  2619. "expr": "sum(ALERTS{alertstate=\"firing\",alertname!=\"DeadMansSwitch\"})",
  2620. "format": "time_series",
  2621. "intervalFactor": 2,
  2622. "refId": "A",
  2623. "step": 600
  2624. }
  2625. ],
  2626. "thresholds": "3, 5",
  2627. "title": "Alerts Firing",
  2628. "type": "singlestat",
  2629. "valueFontSize": "80%",
  2630. "valueMaps": [
  2631. {
  2632. "op": "=",
  2633. "text": "0",
  2634. "value": "null"
  2635. }
  2636. ],
  2637. "valueName": "current"
  2638. }
  2639. ],
  2640. "showTitle": true,
  2641. "title": "Cluster Health",
  2642. "titleSize": "h6"
  2643. },
  2644. {
  2645. "collapse": false,
  2646. "height": "168px",
  2647. "panels": [
  2648. {
  2649. "colorBackground": false,
  2650. "colorValue": false,
  2651. "colors": [
  2652. "rgba(245, 54, 54, 0.9)",
  2653. "rgba(237, 129, 40, 0.89)",
  2654. "rgba(50, 172, 45, 0.97)"
  2655. ],
  2656. "datasource": "${DS_PROMETHEUS}",
  2657. "editable": true,
  2658. "format": "percent",
  2659. "gauge": {
  2660. "maxValue": 100,
  2661. "minValue": 0,
  2662. "show": true,
  2663. "thresholdLabels": false,
  2664. "thresholdMarkers": true
  2665. },
  2666. "id": 1,
  2667. "links": [],
  2668. "mappingType": 1,
  2669. "mappingTypes": [
  2670. {
  2671. "name": "value to text",
  2672. "value": 1
  2673. },
  2674. {
  2675. "name": "range to text",
  2676. "value": 2
  2677. }
  2678. ],
  2679. "maxDataPoints": 100,
  2680. "nullPointMode": "connected",
  2681. "postfixFontSize": "50%",
  2682. "prefix": "",
  2683. "prefixFontSize": "50%",
  2684. "rangeMaps": [
  2685. {
  2686. "from": "null",
  2687. "text": "N/A",
  2688. "to": "null"
  2689. }
  2690. ],
  2691. "span": 3,
  2692. "sparkline": {
  2693. "fillColor": "rgba(31, 118, 189, 0.18)",
  2694. "full": false,
  2695. "lineColor": "rgb(31, 120, 193)",
  2696. "show": false
  2697. },
  2698. "targets": [
  2699. {
  2700. "expr": "(sum(up{job=\"apiserver\"} == 1) / count(up{job=\"apiserver\"})) * 100",
  2701. "format": "time_series",
  2702. "intervalFactor": 2,
  2703. "refId": "A",
  2704. "step": 600
  2705. }
  2706. ],
  2707. "thresholds": "50, 80",
  2708. "title": "API Servers UP",
  2709. "type": "singlestat",
  2710. "valueFontSize": "80%",
  2711. "valueMaps": [
  2712. {
  2713. "op": "=",
  2714. "text": "N/A",
  2715. "value": "null"
  2716. }
  2717. ],
  2718. "valueName": "current"
  2719. },
  2720. {
  2721. "colorBackground": false,
  2722. "colorValue": false,
  2723. "colors": [
  2724. "rgba(245, 54, 54, 0.9)",
  2725. "rgba(237, 129, 40, 0.89)",
  2726. "rgba(50, 172, 45, 0.97)"
  2727. ],
  2728. "datasource": "${DS_PROMETHEUS}",
  2729. "editable": true,
  2730. "format": "percent",
  2731. "gauge": {
  2732. "maxValue": 100,
  2733. "minValue": 0,
  2734. "show": true,
  2735. "thresholdLabels": false,
  2736. "thresholdMarkers": true
  2737. },
  2738. "id": 2,
  2739. "links": [],
  2740. "mappingType": 1,
  2741. "mappingTypes": [
  2742. {
  2743. "name": "value to text",
  2744. "value": 1
  2745. },
  2746. {
  2747. "name": "range to text",
  2748. "value": 2
  2749. }
  2750. ],
  2751. "maxDataPoints": 100,
  2752. "nullPointMode": "connected",
  2753. "postfixFontSize": "50%",
  2754. "prefix": "",
  2755. "prefixFontSize": "50%",
  2756. "rangeMaps": [
  2757. {
  2758. "from": "null",
  2759. "text": "N/A",
  2760. "to": "null"
  2761. }
  2762. ],
  2763. "span": 3,
  2764. "sparkline": {
  2765. "fillColor": "rgba(31, 118, 189, 0.18)",
  2766. "full": false,
  2767. "lineColor": "rgb(31, 120, 193)",
  2768. "show": false
  2769. },
  2770. "targets": [
  2771. {
  2772. "expr": "(sum(up{job=\"kube-controller-manager\"} == 1) / count(up{job=\"kube-controller-manager\"})) * 100",
  2773. "format": "time_series",
  2774. "intervalFactor": 2,
  2775. "refId": "A",
  2776. "step": 600
  2777. }
  2778. ],
  2779. "thresholds": "50, 80",
  2780. "title": "Controller Managers UP",
  2781. "type": "singlestat",
  2782. "valueFontSize": "80%",
  2783. "valueMaps": [
  2784. {
  2785. "op": "=",
  2786. "text": "N/A",
  2787. "value": "null"
  2788. }
  2789. ],
  2790. "valueName": "current"
  2791. },
  2792. {
  2793. "colorBackground": false,
  2794. "colorValue": false,
  2795. "colors": [
  2796. "rgba(245, 54, 54, 0.9)",
  2797. "rgba(237, 129, 40, 0.89)",
  2798. "rgba(50, 172, 45, 0.97)"
  2799. ],
  2800. "datasource": "${DS_PROMETHEUS}",
  2801. "editable": true,
  2802. "format": "percent",
  2803. "gauge": {
  2804. "maxValue": 100,
  2805. "minValue": 0,
  2806. "show": true,
  2807. "thresholdLabels": false,
  2808. "thresholdMarkers": true
  2809. },
  2810. "id": 3,
  2811. "links": [],
  2812. "mappingType": 1,
  2813. "mappingTypes": [
  2814. {
  2815. "name": "value to text",
  2816. "value": 1
  2817. },
  2818. {
  2819. "name": "range to text",
  2820. "value": 2
  2821. }
  2822. ],
  2823. "maxDataPoints": 100,
  2824. "nullPointMode": "connected",
  2825. "postfixFontSize": "50%",
  2826. "prefix": "",
  2827. "prefixFontSize": "50%",
  2828. "rangeMaps": [
  2829. {
  2830. "from": "null",
  2831. "text": "N/A",
  2832. "to": "null"
  2833. }
  2834. ],
  2835. "span": 3,
  2836. "sparkline": {
  2837. "fillColor": "rgba(31, 118, 189, 0.18)",
  2838. "full": false,
  2839. "lineColor": "rgb(31, 120, 193)",
  2840. "show": false
  2841. },
  2842. "targets": [
  2843. {
  2844. "expr": "(sum(up{job=\"kube-scheduler\"} == 1) / count(up{job=\"kube-scheduler\"})) * 100",
  2845. "format": "time_series",
  2846. "intervalFactor": 2,
  2847. "refId": "A",
  2848. "step": 600
  2849. }
  2850. ],
  2851. "thresholds": "50, 80",
  2852. "title": "Schedulers UP",
  2853. "type": "singlestat",
  2854. "valueFontSize": "80%",
  2855. "valueMaps": [
  2856. {
  2857. "op": "=",
  2858. "text": "N/A",
  2859. "value": "null"
  2860. }
  2861. ],
  2862. "valueName": "current"
  2863. },
  2864. {
  2865. "colorBackground": false,
  2866. "colorValue": true,
  2867. "colors": [
  2868. "rgba(50, 172, 45, 0.97)",
  2869. "rgba(237, 129, 40, 0.89)",
  2870. "rgba(245, 54, 54, 0.9)"
  2871. ],
  2872. "datasource": "${DS_PROMETHEUS}",
  2873. "editable": true,
  2874. "format": "none",
  2875. "gauge": {
  2876. "maxValue": 100,
  2877. "minValue": 0,
  2878. "show": false,
  2879. "thresholdLabels": false,
  2880. "thresholdMarkers": true
  2881. },
  2882. "id": 4,
  2883. "links": [],
  2884. "mappingType": 1,
  2885. "mappingTypes": [
  2886. {
  2887. "name": "value to text",
  2888. "value": 1
  2889. },
  2890. {
  2891. "name": "range to text",
  2892. "value": 2
  2893. }
  2894. ],
  2895. "maxDataPoints": 100,
  2896. "nullPointMode": "connected",
  2897. "postfixFontSize": "50%",
  2898. "prefix": "",
  2899. "prefixFontSize": "50%",
  2900. "rangeMaps": [
  2901. {
  2902. "from": "null",
  2903. "text": "N/A",
  2904. "to": "null"
  2905. }
  2906. ],
  2907. "span": 3,
  2908. "sparkline": {
  2909. "fillColor": "rgba(31, 118, 189, 0.18)",
  2910. "full": false,
  2911. "lineColor": "rgb(31, 120, 193)",
  2912. "show": false
  2913. },
  2914. "targets": [
  2915. {
  2916. "expr": "count(increase(kube_pod_container_status_restarts{namespace=~\"kube-system|tectonic-system\"}[1h]) > 5)",
  2917. "format": "time_series",
  2918. "intervalFactor": 2,
  2919. "refId": "A",
  2920. "step": 600
  2921. }
  2922. ],
  2923. "thresholds": "1, 3",
  2924. "title": "Crashlooping Control Plane Pods",
  2925. "type": "singlestat",
  2926. "valueFontSize": "80%",
  2927. "valueMaps": [
  2928. {
  2929. "op": "=",
  2930. "text": "0",
  2931. "value": "null"
  2932. }
  2933. ],
  2934. "valueName": "current"
  2935. }
  2936. ],
  2937. "showTitle": true,
  2938. "title": "Control Plane Status",
  2939. "titleSize": "h6"
  2940. },
  2941. {
  2942. "collapse": false,
  2943. "height": "158px",
  2944. "panels": [
  2945. {
  2946. "colorBackground": false,
  2947. "colorValue": false,
  2948. "colors": [
  2949. "rgba(50, 172, 45, 0.97)",
  2950. "rgba(237, 129, 40, 0.89)",
  2951. "rgba(245, 54, 54, 0.9)"
  2952. ],
  2953. "datasource": "${DS_PROMETHEUS}",
  2954. "editable": true,
  2955. "format": "percent",
  2956. "gauge": {
  2957. "maxValue": 100,
  2958. "minValue": 0,
  2959. "show": true,
  2960. "thresholdLabels": false,
  2961. "thresholdMarkers": true
  2962. },
  2963. "id": 8,
  2964. "links": [],
  2965. "mappingType": 1,
  2966. "mappingTypes": [
  2967. {
  2968. "name": "value to text",
  2969. "value": 1
  2970. },
  2971. {
  2972. "name": "range to text",
  2973. "value": 2
  2974. }
  2975. ],
  2976. "maxDataPoints": 100,
  2977. "nullPointMode": "connected",
  2978. "postfixFontSize": "50%",
  2979. "prefix": "",
  2980. "prefixFontSize": "50%",
  2981. "rangeMaps": [
  2982. {
  2983. "from": "null",
  2984. "text": "N/A",
  2985. "to": "null"
  2986. }
  2987. ],
  2988. "span": 3,
  2989. "sparkline": {
  2990. "fillColor": "rgba(31, 118, 189, 0.18)",
  2991. "full": false,
  2992. "lineColor": "rgb(31, 120, 193)",
  2993. "show": false
  2994. },
  2995. "targets": [
  2996. {
  2997. "expr": "sum(100 - (avg by (instance) (rate(node_cpu{job=\"node-exporter\",mode=\"idle\"}[5m])) * 100)) / count(node_cpu{job=\"node-exporter\",mode=\"idle\"})",
  2998. "format": "time_series",
  2999. "intervalFactor": 2,
  3000. "refId": "A",
  3001. "step": 600
  3002. }
  3003. ],
  3004. "thresholds": "80, 90",
  3005. "title": "CPU Utilization",
  3006. "type": "singlestat",
  3007. "valueFontSize": "80%",
  3008. "valueMaps": [
  3009. {
  3010. "op": "=",
  3011. "text": "N/A",
  3012. "value": "null"
  3013. }
  3014. ],
  3015. "valueName": "avg"
  3016. },
  3017. {
  3018. "colorBackground": false,
  3019. "colorValue": false,
  3020. "colors": [
  3021. "rgba(50, 172, 45, 0.97)",
  3022. "rgba(237, 129, 40, 0.89)",
  3023. "rgba(245, 54, 54, 0.9)"
  3024. ],
  3025. "datasource": "${DS_PROMETHEUS}",
  3026. "editable": true,
  3027. "format": "percent",
  3028. "gauge": {
  3029. "maxValue": 100,
  3030. "minValue": 0,
  3031. "show": true,
  3032. "thresholdLabels": false,
  3033. "thresholdMarkers": true
  3034. },
  3035. "id": 7,
  3036. "links": [],
  3037. "mappingType": 1,
  3038. "mappingTypes": [
  3039. {
  3040. "name": "value to text",
  3041. "value": 1
  3042. },
  3043. {
  3044. "name": "range to text",
  3045. "value": 2
  3046. }
  3047. ],
  3048. "maxDataPoints": 100,
  3049. "nullPointMode": "connected",
  3050. "postfixFontSize": "50%",
  3051. "prefix": "",
  3052. "prefixFontSize": "50%",
  3053. "rangeMaps": [
  3054. {
  3055. "from": "null",
  3056. "text": "N/A",
  3057. "to": "null"
  3058. }
  3059. ],
  3060. "span": 3,
  3061. "sparkline": {
  3062. "fillColor": "rgba(31, 118, 189, 0.18)",
  3063. "full": false,
  3064. "lineColor": "rgb(31, 120, 193)",
  3065. "show": false
  3066. },
  3067. "targets": [
  3068. {
  3069. "expr": "((sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers) - sum(node_memory_Cached)) / sum(node_memory_MemTotal)) * 100",
  3070. "format": "time_series",
  3071. "intervalFactor": 2,
  3072. "refId": "A",
  3073. "step": 600
  3074. }
  3075. ],
  3076. "thresholds": "80, 90",
  3077. "title": "Memory Utilization",
  3078. "type": "singlestat",
  3079. "valueFontSize": "80%",
  3080. "valueMaps": [
  3081. {
  3082. "op": "=",
  3083. "text": "N/A",
  3084. "value": "null"
  3085. }
  3086. ],
  3087. "valueName": "avg"
  3088. },
  3089. {
  3090. "colorBackground": false,
  3091. "colorValue": false,
  3092. "colors": [
  3093. "rgba(50, 172, 45, 0.97)",
  3094. "rgba(237, 129, 40, 0.89)",
  3095. "rgba(245, 54, 54, 0.9)"
  3096. ],
  3097. "datasource": "${DS_PROMETHEUS}",
  3098. "editable": true,
  3099. "format": "percent",
  3100. "gauge": {
  3101. "maxValue": 100,
  3102. "minValue": 0,
  3103. "show": true,
  3104. "thresholdLabels": false,
  3105. "thresholdMarkers": true
  3106. },
  3107. "id": 9,
  3108. "links": [],
  3109. "mappingType": 1,
  3110. "mappingTypes": [
  3111. {
  3112. "name": "value to text",
  3113. "value": 1
  3114. },
  3115. {
  3116. "name": "range to text",
  3117. "value": 2
  3118. }
  3119. ],
  3120. "maxDataPoints": 100,
  3121. "nullPointMode": "connected",
  3122. "postfixFontSize": "50%",
  3123. "prefix": "",
  3124. "prefixFontSize": "50%",
  3125. "rangeMaps": [
  3126. {
  3127. "from": "null",
  3128. "text": "N/A",
  3129. "to": "null"
  3130. }
  3131. ],
  3132. "span": 3,
  3133. "sparkline": {
  3134. "fillColor": "rgba(31, 118, 189, 0.18)",
  3135. "full": false,
  3136. "lineColor": "rgb(31, 120, 193)",
  3137. "show": false
  3138. },
  3139. "targets": [
  3140. {
  3141. "expr": "(sum(node_filesystem_size{device!=\"rootfs\"}) - sum(node_filesystem_free{device!=\"rootfs\"})) / sum(node_filesystem_size{device!=\"rootfs\"})",
  3142. "format": "time_series",
  3143. "intervalFactor": 2,
  3144. "refId": "A",
  3145. "step": 600
  3146. }
  3147. ],
  3148. "thresholds": "80, 90",
  3149. "title": "Filesystem Utilization",
  3150. "type": "singlestat",
  3151. "valueFontSize": "80%",
  3152. "valueMaps": [
  3153. {
  3154. "op": "=",
  3155. "text": "N/A",
  3156. "value": "null"
  3157. }
  3158. ],
  3159. "valueName": "avg"
  3160. },
  3161. {
  3162. "colorBackground": false,
  3163. "colorValue": false,
  3164. "colors": [
  3165. "rgba(50, 172, 45, 0.97)",
  3166. "rgba(237, 129, 40, 0.89)",
  3167. "rgba(245, 54, 54, 0.9)"
  3168. ],
  3169. "datasource": "${DS_PROMETHEUS}",
  3170. "editable": true,
  3171. "format": "percent",
  3172. "gauge": {
  3173. "maxValue": 100,
  3174. "minValue": 0,
  3175. "show": true,
  3176. "thresholdLabels": false,
  3177. "thresholdMarkers": true
  3178. },
  3179. "id": 10,
  3180. "links": [],
  3181. "mappingType": 1,
  3182. "mappingTypes": [
  3183. {
  3184. "name": "value to text",
  3185. "value": 1
  3186. },
  3187. {
  3188. "name": "range to text",
  3189. "value": 2
  3190. }
  3191. ],
  3192. "maxDataPoints": 100,
  3193. "nullPointMode": "connected",
  3194. "postfixFontSize": "50%",
  3195. "prefix": "",
  3196. "prefixFontSize": "50%",
  3197. "rangeMaps": [
  3198. {
  3199. "from": "null",
  3200. "text": "N/A",
  3201. "to": "null"
  3202. }
  3203. ],
  3204. "span": 3,
  3205. "sparkline": {
  3206. "fillColor": "rgba(31, 118, 189, 0.18)",
  3207. "full": false,
  3208. "lineColor": "rgb(31, 120, 193)",
  3209. "show": false
  3210. },
  3211. "targets": [
  3212. {
  3213. "expr": "100 - (sum(kube_node_status_capacity_pods) - sum(kube_pod_info)) / sum(kube_node_status_capacity_pods) * 100",
  3214. "format": "time_series",
  3215. "intervalFactor": 2,
  3216. "refId": "A",
  3217. "step": 600
  3218. }
  3219. ],
  3220. "thresholds": "80, 90",
  3221. "title": "Pod Utilization",
  3222. "type": "singlestat",
  3223. "valueFontSize": "80%",
  3224. "valueMaps": [
  3225. {
  3226. "op": "=",
  3227. "text": "N/A",
  3228. "value": "null"
  3229. }
  3230. ],
  3231. "valueName": "avg"
  3232. }
  3233. ],
  3234. "showTitle": true,
  3235. "title": "Capacity Planning",
  3236. "titleSize": "h6"
  3237. }
  3238. ],
  3239. "schemaVersion": 14,
  3240. "sharedCrosshair": false,
  3241. "style": "dark",
  3242. "tags": [],
  3243. "templating": {
  3244. "list": []
  3245. },
  3246. "time": {
  3247. "from": "now-6h",
  3248. "to": "now"
  3249. },
  3250. "timepicker": {
  3251. "refresh_intervals": [
  3252. "5s",
  3253. "10s",
  3254. "30s",
  3255. "1m",
  3256. "5m",
  3257. "15m",
  3258. "30m",
  3259. "1h",
  3260. "2h",
  3261. "1d"
  3262. ],
  3263. "time_options": [
  3264. "5m",
  3265. "15m",
  3266. "1h",
  3267. "6h",
  3268. "12h",
  3269. "24h",
  3270. "2d",
  3271. "7d",
  3272. "30d"
  3273. ]
  3274. },
  3275. "timezone": "browser",
  3276. "title": "Kubernetes Cluster Status",
  3277. "version": 3
  3278. }
  3279. ,
  3280. "inputs": [
  3281. {
  3282. "name": "DS_PROMETHEUS",
  3283. "pluginId": "prometheus",
  3284. "type": "datasource",
  3285. "value": "prometheus"
  3286. }
  3287. ],
  3288. "overwrite": true
  3289. }
  3290. kubernetes-control-plane-status-dashboard.json: |+
  3291. {
  3292. "dashboard":
  3293. {
  3294. "__inputs": [
  3295. {
  3296. "description": "",
  3297. "label": "prometheus",
  3298. "name": "DS_PROMETHEUS",
  3299. "pluginId": "prometheus",
  3300. "pluginName": "Prometheus",
  3301. "type": "datasource"
  3302. }
  3303. ],
  3304. "annotations": {
  3305. "list": []
  3306. },
  3307. "editable": true,
  3308. "graphTooltip": 0,
  3309. "hideControls": false,
  3310. "links": [],
  3311. "rows": [
  3312. {
  3313. "collapse": false,
  3314. "editable": true,
  3315. "height": "250px",
  3316. "panels": [
  3317. {
  3318. "colorBackground": false,
  3319. "colorValue": false,
  3320. "colors": [
  3321. "rgba(245, 54, 54, 0.9)",
  3322. "rgba(237, 129, 40, 0.89)",
  3323. "rgba(50, 172, 45, 0.97)"
  3324. ],
  3325. "datasource": "${DS_PROMETHEUS}",
  3326. "editable": true,
  3327. "format": "percent",
  3328. "gauge": {
  3329. "maxValue": 100,
  3330. "minValue": 0,
  3331. "show": true,
  3332. "thresholdLabels": false,
  3333. "thresholdMarkers": true
  3334. },
  3335. "hideTimeOverride": false,
  3336. "id": 1,
  3337. "links": [],
  3338. "mappingType": 1,
  3339. "mappingTypes": [
  3340. {
  3341. "name": "value to text",
  3342. "value": 1
  3343. },
  3344. {
  3345. "name": "range to text",
  3346. "value": 2
  3347. }
  3348. ],
  3349. "maxDataPoints": 100,
  3350. "nullPointMode": "connected",
  3351. "postfix": "",
  3352. "postfixFontSize": "50%",
  3353. "prefix": "",
  3354. "prefixFontSize": "50%",
  3355. "rangeMaps": [
  3356. {
  3357. "from": "null",
  3358. "text": "N/A",
  3359. "to": "null"
  3360. }
  3361. ],
  3362. "span": 3,
  3363. "sparkline": {
  3364. "fillColor": "rgba(31, 118, 189, 0.18)",
  3365. "full": false,
  3366. "lineColor": "rgb(31, 120, 193)",
  3367. "show": false
  3368. },
  3369. "targets": [
  3370. {
  3371. "expr": "(sum(up{job=\"apiserver\"} == 1) / sum(up{job=\"apiserver\"})) * 100",
  3372. "format": "time_series",
  3373. "intervalFactor": 2,
  3374. "refId": "A",
  3375. "step": 600
  3376. }
  3377. ],
  3378. "thresholds": "50, 80",
  3379. "title": "API Servers UP",
  3380. "transparent": false,
  3381. "type": "singlestat",
  3382. "valueFontSize": "80%",
  3383. "valueMaps": [
  3384. {
  3385. "op": "=",
  3386. "text": "N/A",
  3387. "value": "null"
  3388. }
  3389. ],
  3390. "valueName": "avg"
  3391. },
  3392. {
  3393. "colorBackground": false,
  3394. "colorValue": false,
  3395. "colors": [
  3396. "rgba(245, 54, 54, 0.9)",
  3397. "rgba(237, 129, 40, 0.89)",
  3398. "rgba(50, 172, 45, 0.97)"
  3399. ],
  3400. "datasource": "${DS_PROMETHEUS}",
  3401. "editable": true,
  3402. "format": "percent",
  3403. "gauge": {
  3404. "maxValue": 100,
  3405. "minValue": 0,
  3406. "show": true,
  3407. "thresholdLabels": false,
  3408. "thresholdMarkers": true
  3409. },
  3410. "hideTimeOverride": false,
  3411. "id": 2,
  3412. "links": [],
  3413. "mappingType": 1,
  3414. "mappingTypes": [
  3415. {
  3416. "name": "value to text",
  3417. "value": 1
  3418. },
  3419. {
  3420. "name": "range to text",
  3421. "value": 2
  3422. }
  3423. ],
  3424. "maxDataPoints": 100,
  3425. "nullPointMode": "connected",
  3426. "postfix": "",
  3427. "postfixFontSize": "50%",
  3428. "prefix": "",
  3429. "prefixFontSize": "50%",
  3430. "rangeMaps": [
  3431. {
  3432. "from": "null",
  3433. "text": "N/A",
  3434. "to": "null"
  3435. }
  3436. ],
  3437. "span": 3,
  3438. "sparkline": {
  3439. "fillColor": "rgba(31, 118, 189, 0.18)",
  3440. "full": false,
  3441. "lineColor": "rgb(31, 120, 193)",
  3442. "show": false
  3443. },
  3444. "targets": [
  3445. {
  3446. "expr": "(sum(up{job=\"kube-controller-manager\"} == 1) / sum(up{job=\"kube-controller-manager\"})) * 100",
  3447. "format": "time_series",
  3448. "intervalFactor": 2,
  3449. "refId": "A",
  3450. "step": 600
  3451. }
  3452. ],
  3453. "thresholds": "50, 80",
  3454. "title": "Controller Managers UP",
  3455. "transparent": false,
  3456. "type": "singlestat",
  3457. "valueFontSize": "80%",
  3458. "valueMaps": [
  3459. {
  3460. "op": "=",
  3461. "text": "N/A",
  3462. "value": "null"
  3463. }
  3464. ],
  3465. "valueName": "avg"
  3466. },
  3467. {
  3468. "colorBackground": false,
  3469. "colorValue": false,
  3470. "colors": [
  3471. "rgba(245, 54, 54, 0.9)",
  3472. "rgba(237, 129, 40, 0.89)",
  3473. "rgba(50, 172, 45, 0.97)"
  3474. ],
  3475. "datasource": "${DS_PROMETHEUS}",
  3476. "editable": true,
  3477. "format": "percent",
  3478. "gauge": {
  3479. "maxValue": 100,
  3480. "minValue": 0,
  3481. "show": true,
  3482. "thresholdLabels": false,
  3483. "thresholdMarkers": true
  3484. },
  3485. "hideTimeOverride": false,
  3486. "id": 3,
  3487. "links": [],
  3488. "mappingType": 1,
  3489. "mappingTypes": [
  3490. {
  3491. "name": "value to text",
  3492. "value": 1
  3493. },
  3494. {
  3495. "name": "range to text",
  3496. "value": 2
  3497. }
  3498. ],
  3499. "maxDataPoints": 100,
  3500. "nullPointMode": "connected",
  3501. "postfix": "",
  3502. "postfixFontSize": "50%",
  3503. "prefix": "",
  3504. "prefixFontSize": "50%",
  3505. "rangeMaps": [
  3506. {
  3507. "from": "null",
  3508. "text": "N/A",
  3509. "to": "null"
  3510. }
  3511. ],
  3512. "span": 3,
  3513. "sparkline": {
  3514. "fillColor": "rgba(31, 118, 189, 0.18)",
  3515. "full": false,
  3516. "lineColor": "rgb(31, 120, 193)",
  3517. "show": false
  3518. },
  3519. "targets": [
  3520. {
  3521. "expr": "(sum(up{job=\"kube-scheduler\"} == 1) / sum(up{job=\"kube-scheduler\"})) * 100",
  3522. "format": "time_series",
  3523. "intervalFactor": 2,
  3524. "refId": "A",
  3525. "step": 600
  3526. }
  3527. ],
  3528. "thresholds": "50, 80",
  3529. "title": "Schedulers UP",
  3530. "transparent": false,
  3531. "type": "singlestat",
  3532. "valueFontSize": "80%",
  3533. "valueMaps": [
  3534. {
  3535. "op": "=",
  3536. "text": "N/A",
  3537. "value": "null"
  3538. }
  3539. ],
  3540. "valueName": "avg"
  3541. },
  3542. {
  3543. "colorBackground": false,
  3544. "colorValue": false,
  3545. "colors": [
  3546. "rgba(50, 172, 45, 0.97)",
  3547. "rgba(237, 129, 40, 0.89)",
  3548. "rgba(245, 54, 54, 0.9)"
  3549. ],
  3550. "datasource": "${DS_PROMETHEUS}",
  3551. "editable": true,
  3552. "format": "percent",
  3553. "gauge": {
  3554. "maxValue": 100,
  3555. "minValue": 0,
  3556. "show": true,
  3557. "thresholdLabels": false,
  3558. "thresholdMarkers": true
  3559. },
  3560. "hideTimeOverride": false,
  3561. "id": 4,
  3562. "links": [],
  3563. "mappingType": 1,
  3564. "mappingTypes": [
  3565. {
  3566. "name": "value to text",
  3567. "value": 1
  3568. },
  3569. {
  3570. "name": "range to text",
  3571. "value": 2
  3572. }
  3573. ],
  3574. "maxDataPoints": 100,
  3575. "nullPointMode": "connected",
  3576. "postfix": "",
  3577. "postfixFontSize": "50%",
  3578. "prefix": "",
  3579. "prefixFontSize": "50%",
  3580. "rangeMaps": [
  3581. {
  3582. "from": "null",
  3583. "text": "N/A",
  3584. "to": "null"
  3585. }
  3586. ],
  3587. "span": 3,
  3588. "sparkline": {
  3589. "fillColor": "rgba(31, 118, 189, 0.18)",
  3590. "full": false,
  3591. "lineColor": "rgb(31, 120, 193)",
  3592. "show": false
  3593. },
  3594. "targets": [
  3595. {
  3596. "expr": "max(sum by(instance) (rate(apiserver_request_count{code=~\"5..\"}[5m])) / sum by(instance) (rate(apiserver_request_count[5m]))) * 100",
  3597. "format": "time_series",
  3598. "intervalFactor": 2,
  3599. "legendFormat": "",
  3600. "refId": "A",
  3601. "step": 600
  3602. }
  3603. ],
  3604. "thresholds": "5, 10",
  3605. "title": "API Server Request Error Rate",
  3606. "transparent": false,
  3607. "type": "singlestat",
  3608. "valueFontSize": "80%",
  3609. "valueMaps": [
  3610. {
  3611. "op": "=",
  3612. "text": "0",
  3613. "value": "null"
  3614. }
  3615. ],
  3616. "valueName": "avg"
  3617. }
  3618. ],
  3619. "showTitle": false,
  3620. "title": "Dashboard Row",
  3621. "titleSize": "h6"
  3622. },
  3623. {
  3624. "collapse": false,
  3625. "editable": true,
  3626. "height": "250px",
  3627. "panels": [
  3628. {
  3629. "aliasColors": {},
  3630. "bars": false,
  3631. "dashLength": 10,
  3632. "dashes": false,
  3633. "datasource": "${DS_PROMETHEUS}",
  3634. "editable": true,
  3635. "error": false,
  3636. "fill": 1,
  3637. "grid": {
  3638. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  3639. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  3640. },
  3641. "id": 7,
  3642. "isNew": false,
  3643. "legend": {
  3644. "alignAsTable": false,
  3645. "avg": false,
  3646. "current": false,
  3647. "hideEmpty": false,
  3648. "hideZero": false,
  3649. "max": false,
  3650. "min": false,
  3651. "rightSide": false,
  3652. "show": true,
  3653. "total": false
  3654. },
  3655. "lines": true,
  3656. "linewidth": 1,
  3657. "links": [],
  3658. "nullPointMode": "null",
  3659. "percentage": false,
  3660. "pointradius": 5,
  3661. "points": false,
  3662. "renderer": "flot",
  3663. "seriesOverrides": [],
  3664. "spaceLength": 10,
  3665. "span": 12,
  3666. "stack": false,
  3667. "steppedLine": false,
  3668. "targets": [
  3669. {
  3670. "expr": "sum by(verb) (rate(apiserver_latency_seconds:quantile[5m]) >= 0)",
  3671. "format": "time_series",
  3672. "intervalFactor": 2,
  3673. "legendFormat": "",
  3674. "refId": "A",
  3675. "step": 30
  3676. }
  3677. ],
  3678. "title": "API Server Request Latency",
  3679. "tooltip": {
  3680. "msResolution": false,
  3681. "shared": true,
  3682. "sort": 0,
  3683. "value_type": "individual"
  3684. },
  3685. "type": "graph",
  3686. "xaxis": {
  3687. "mode": "time",
  3688. "show": true,
  3689. "values": []
  3690. },
  3691. "yaxes": [
  3692. {
  3693. "format": "short",
  3694. "logBase": 1,
  3695. "show": true
  3696. },
  3697. {
  3698. "format": "short",
  3699. "logBase": 1,
  3700. "show": true
  3701. }
  3702. ]
  3703. }
  3704. ],
  3705. "showTitle": false,
  3706. "title": "Dashboard Row",
  3707. "titleSize": "h6"
  3708. },
  3709. {
  3710. "collapse": false,
  3711. "editable": true,
  3712. "height": "250px",
  3713. "panels": [
  3714. {
  3715. "aliasColors": {},
  3716. "bars": false,
  3717. "dashLength": 10,
  3718. "dashes": false,
  3719. "datasource": "${DS_PROMETHEUS}",
  3720. "editable": true,
  3721. "error": false,
  3722. "fill": 1,
  3723. "grid": {
  3724. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  3725. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  3726. },
  3727. "id": 5,
  3728. "isNew": false,
  3729. "legend": {
  3730. "alignAsTable": false,
  3731. "avg": false,
  3732. "current": false,
  3733. "hideEmpty": false,
  3734. "hideZero": false,
  3735. "max": false,
  3736. "min": false,
  3737. "rightSide": false,
  3738. "show": true,
  3739. "total": false
  3740. },
  3741. "lines": true,
  3742. "linewidth": 1,
  3743. "links": [],
  3744. "nullPointMode": "null",
  3745. "percentage": false,
  3746. "pointradius": 5,
  3747. "points": false,
  3748. "renderer": "flot",
  3749. "seriesOverrides": [],
  3750. "spaceLength": 10,
  3751. "span": 6,
  3752. "stack": false,
  3753. "steppedLine": false,
  3754. "targets": [
  3755. {
  3756. "expr": "cluster:scheduler_e2e_scheduling_latency_seconds:quantile",
  3757. "format": "time_series",
  3758. "intervalFactor": 2,
  3759. "refId": "A",
  3760. "step": 60
  3761. }
  3762. ],
  3763. "title": "End to End Scheduling Latency",
  3764. "tooltip": {
  3765. "msResolution": false,
  3766. "shared": true,
  3767. "sort": 0,
  3768. "value_type": "individual"
  3769. },
  3770. "type": "graph",
  3771. "xaxis": {
  3772. "mode": "time",
  3773. "show": true,
  3774. "values": []
  3775. },
  3776. "yaxes": [
  3777. {
  3778. "format": "short",
  3779. "logBase": 1,
  3780. "show": true
  3781. },
  3782. {
  3783. "format": "dtdurations",
  3784. "logBase": 1,
  3785. "show": true
  3786. }
  3787. ]
  3788. },
  3789. {
  3790. "aliasColors": {},
  3791. "bars": false,
  3792. "dashLength": 10,
  3793. "dashes": false,
  3794. "datasource": "${DS_PROMETHEUS}",
  3795. "editable": true,
  3796. "error": false,
  3797. "fill": 1,
  3798. "grid": {
  3799. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  3800. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  3801. },
  3802. "id": 6,
  3803. "isNew": false,
  3804. "legend": {
  3805. "alignAsTable": false,
  3806. "avg": false,
  3807. "current": false,
  3808. "hideEmpty": false,
  3809. "hideZero": false,
  3810. "max": false,
  3811. "min": false,
  3812. "rightSide": false,
  3813. "show": true,
  3814. "total": false
  3815. },
  3816. "lines": true,
  3817. "linewidth": 1,
  3818. "links": [],
  3819. "nullPointMode": "null",
  3820. "percentage": false,
  3821. "pointradius": 5,
  3822. "points": false,
  3823. "renderer": "flot",
  3824. "seriesOverrides": [],
  3825. "spaceLength": 10,
  3826. "span": 6,
  3827. "stack": false,
  3828. "steppedLine": false,
  3829. "targets": [
  3830. {
  3831. "expr": "sum by(instance) (rate(apiserver_request_count{code!~\"2..\"}[5m]))",
  3832. "format": "time_series",
  3833. "intervalFactor": 2,
  3834. "legendFormat": "Error Rate",
  3835. "refId": "A",
  3836. "step": 60
  3837. },
  3838. {
  3839. "expr": "sum by(instance) (rate(apiserver_request_count[5m]))",
  3840. "format": "time_series",
  3841. "intervalFactor": 2,
  3842. "legendFormat": "Request Rate",
  3843. "refId": "B",
  3844. "step": 60
  3845. }
  3846. ],
  3847. "title": "API Server Request Rates",
  3848. "tooltip": {
  3849. "msResolution": false,
  3850. "shared": true,
  3851. "sort": 0,
  3852. "value_type": "individual"
  3853. },
  3854. "type": "graph",
  3855. "xaxis": {
  3856. "mode": "time",
  3857. "show": true,
  3858. "values": []
  3859. },
  3860. "yaxes": [
  3861. {
  3862. "format": "short",
  3863. "logBase": 1,
  3864. "show": true
  3865. },
  3866. {
  3867. "format": "short",
  3868. "logBase": 1,
  3869. "show": true
  3870. }
  3871. ]
  3872. }
  3873. ],
  3874. "showTitle": false,
  3875. "title": "Dashboard Row",
  3876. "titleSize": "h6"
  3877. }
  3878. ],
  3879. "schemaVersion": 14,
  3880. "sharedCrosshair": false,
  3881. "style": "dark",
  3882. "tags": [],
  3883. "templating": {
  3884. "list": []
  3885. },
  3886. "time": {
  3887. "from": "now-6h",
  3888. "to": "now"
  3889. },
  3890. "timepicker": {
  3891. "refresh_intervals": [
  3892. "5s",
  3893. "10s",
  3894. "30s",
  3895. "1m",
  3896. "5m",
  3897. "15m",
  3898. "30m",
  3899. "1h",
  3900. "2h",
  3901. "1d"
  3902. ],
  3903. "time_options": [
  3904. "5m",
  3905. "15m",
  3906. "1h",
  3907. "6h",
  3908. "12h",
  3909. "24h",
  3910. "2d",
  3911. "7d",
  3912. "30d"
  3913. ]
  3914. },
  3915. "timezone": "browser",
  3916. "title": "Kubernetes Control Plane Status",
  3917. "version": 3
  3918. }
  3919. ,
  3920. "inputs": [
  3921. {
  3922. "name": "DS_PROMETHEUS",
  3923. "pluginId": "prometheus",
  3924. "type": "datasource",
  3925. "value": "prometheus"
  3926. }
  3927. ],
  3928. "overwrite": true
  3929. }
  3930. kubernetes-resource-requests-dashboard.json: |+
  3931. {
  3932. "dashboard":
  3933. {
  3934. "__inputs": [
  3935. {
  3936. "description": "",
  3937. "label": "prometheus",
  3938. "name": "DS_PROMETHEUS",
  3939. "pluginId": "prometheus",
  3940. "pluginName": "Prometheus",
  3941. "type": "datasource"
  3942. }
  3943. ],
  3944. "annotations": {
  3945. "list": []
  3946. },
  3947. "editable": true,
  3948. "graphTooltip": 0,
  3949. "hideControls": false,
  3950. "links": [],
  3951. "refresh": false,
  3952. "rows": [
  3953. {
  3954. "collapse": false,
  3955. "editable": true,
  3956. "height": "300px",
  3957. "panels": [
  3958. {
  3959. "aliasColors": {},
  3960. "bars": false,
  3961. "dashLength": 10,
  3962. "dashes": false,
  3963. "datasource": "${DS_PROMETHEUS}",
  3964. "description": "This represents the total [CPU resource requests](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-cpu) in the cluster.\nFor comparison the total [allocatable CPU cores](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node-allocatable.md) is also shown.",
  3965. "editable": true,
  3966. "error": false,
  3967. "fill": 1,
  3968. "grid": {
  3969. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  3970. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  3971. },
  3972. "id": 1,
  3973. "isNew": false,
  3974. "legend": {
  3975. "alignAsTable": false,
  3976. "avg": false,
  3977. "current": false,
  3978. "hideEmpty": false,
  3979. "hideZero": false,
  3980. "max": false,
  3981. "min": false,
  3982. "rightSide": false,
  3983. "show": true,
  3984. "total": false
  3985. },
  3986. "lines": true,
  3987. "linewidth": 1,
  3988. "links": [],
  3989. "nullPointMode": "null",
  3990. "percentage": false,
  3991. "pointradius": 5,
  3992. "points": false,
  3993. "renderer": "flot",
  3994. "seriesOverrides": [],
  3995. "spaceLength": 10,
  3996. "span": 9,
  3997. "stack": false,
  3998. "steppedLine": false,
  3999. "targets": [
  4000. {
  4001. "expr": "min(sum(kube_node_status_allocatable_cpu_cores) by (instance))",
  4002. "hide": false,
  4003. "intervalFactor": 2,
  4004. "legendFormat": "Allocatable CPU Cores",
  4005. "refId": "A",
  4006. "step": 20
  4007. },
  4008. {
  4009. "expr": "max(sum(kube_pod_container_resource_requests_cpu_cores) by (instance))",
  4010. "hide": false,
  4011. "intervalFactor": 2,
  4012. "legendFormat": "Requested CPU Cores",
  4013. "refId": "B",
  4014. "step": 20
  4015. }
  4016. ],
  4017. "title": "CPU Cores",
  4018. "tooltip": {
  4019. "msResolution": false,
  4020. "shared": true,
  4021. "sort": 0,
  4022. "value_type": "individual"
  4023. },
  4024. "type": "graph",
  4025. "xaxis": {
  4026. "mode": "time",
  4027. "show": true,
  4028. "values": []
  4029. },
  4030. "yaxes": [
  4031. {
  4032. "format": "short",
  4033. "label": "CPU Cores",
  4034. "logBase": 1,
  4035. "show": true
  4036. },
  4037. {
  4038. "format": "short",
  4039. "logBase": 1,
  4040. "show": true
  4041. }
  4042. ]
  4043. },
  4044. {
  4045. "colorBackground": false,
  4046. "colorValue": false,
  4047. "colors": [
  4048. "rgba(50, 172, 45, 0.97)",
  4049. "rgba(237, 129, 40, 0.89)",
  4050. "rgba(245, 54, 54, 0.9)"
  4051. ],
  4052. "datasource": "${DS_PROMETHEUS}",
  4053. "editable": true,
  4054. "format": "percent",
  4055. "gauge": {
  4056. "maxValue": 100,
  4057. "minValue": 0,
  4058. "show": true,
  4059. "thresholdLabels": false,
  4060. "thresholdMarkers": true
  4061. },
  4062. "hideTimeOverride": false,
  4063. "id": 2,
  4064. "links": [],
  4065. "mappingType": 1,
  4066. "mappingTypes": [
  4067. {
  4068. "name": "value to text",
  4069. "value": 1
  4070. },
  4071. {
  4072. "name": "range to text",
  4073. "value": 2
  4074. }
  4075. ],
  4076. "maxDataPoints": 100,
  4077. "nullPointMode": "connected",
  4078. "postfix": "",
  4079. "postfixFontSize": "50%",
  4080. "prefix": "",
  4081. "prefixFontSize": "50%",
  4082. "rangeMaps": [
  4083. {
  4084. "from": "null",
  4085. "text": "N/A",
  4086. "to": "null"
  4087. }
  4088. ],
  4089. "span": 3,
  4090. "sparkline": {
  4091. "fillColor": "rgba(31, 118, 189, 0.18)",
  4092. "full": false,
  4093. "lineColor": "rgb(31, 120, 193)",
  4094. "show": true
  4095. },
  4096. "targets": [
  4097. {
  4098. "expr": "max(sum(kube_pod_container_resource_requests_cpu_cores) by (instance)) / min(sum(kube_node_status_allocatable_cpu_cores) by (instance)) * 100",
  4099. "intervalFactor": 2,
  4100. "legendFormat": "",
  4101. "refId": "A",
  4102. "step": 240
  4103. }
  4104. ],
  4105. "thresholds": "80, 90",
  4106. "title": "CPU Cores",
  4107. "transparent": false,
  4108. "type": "singlestat",
  4109. "valueFontSize": "110%",
  4110. "valueMaps": [
  4111. {
  4112. "op": "=",
  4113. "text": "N/A",
  4114. "value": "null"
  4115. }
  4116. ],
  4117. "valueName": "avg"
  4118. }
  4119. ],
  4120. "showTitle": false,
  4121. "title": "CPU Cores",
  4122. "titleSize": "h6"
  4123. },
  4124. {
  4125. "collapse": false,
  4126. "editable": true,
  4127. "height": "300px",
  4128. "panels": [
  4129. {
  4130. "aliasColors": {},
  4131. "bars": false,
  4132. "dashLength": 10,
  4133. "dashes": false,
  4134. "datasource": "${DS_PROMETHEUS}",
  4135. "description": "This represents the total [memory resource requests](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-memory) in the cluster.\nFor comparison the total [allocatable memory](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node-allocatable.md) is also shown.",
  4136. "editable": true,
  4137. "error": false,
  4138. "fill": 1,
  4139. "grid": {
  4140. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  4141. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  4142. },
  4143. "id": 3,
  4144. "isNew": false,
  4145. "legend": {
  4146. "alignAsTable": false,
  4147. "avg": false,
  4148. "current": false,
  4149. "hideEmpty": false,
  4150. "hideZero": false,
  4151. "max": false,
  4152. "min": false,
  4153. "rightSide": false,
  4154. "show": true,
  4155. "total": false
  4156. },
  4157. "lines": true,
  4158. "linewidth": 1,
  4159. "links": [],
  4160. "nullPointMode": "null",
  4161. "percentage": false,
  4162. "pointradius": 5,
  4163. "points": false,
  4164. "renderer": "flot",
  4165. "seriesOverrides": [],
  4166. "spaceLength": 10,
  4167. "span": 9,
  4168. "stack": false,
  4169. "steppedLine": false,
  4170. "targets": [
  4171. {
  4172. "expr": "min(sum(kube_node_status_allocatable_memory_bytes) by (instance))",
  4173. "hide": false,
  4174. "intervalFactor": 2,
  4175. "legendFormat": "Allocatable Memory",
  4176. "refId": "A",
  4177. "step": 20
  4178. },
  4179. {
  4180. "expr": "max(sum(kube_pod_container_resource_requests_memory_bytes) by (instance))",
  4181. "hide": false,
  4182. "intervalFactor": 2,
  4183. "legendFormat": "Requested Memory",
  4184. "refId": "B",
  4185. "step": 20
  4186. }
  4187. ],
  4188. "title": "Memory",
  4189. "tooltip": {
  4190. "msResolution": false,
  4191. "shared": true,
  4192. "sort": 0,
  4193. "value_type": "individual"
  4194. },
  4195. "type": "graph",
  4196. "xaxis": {
  4197. "mode": "time",
  4198. "show": true,
  4199. "values": []
  4200. },
  4201. "yaxes": [
  4202. {
  4203. "format": "bytes",
  4204. "label": "Memory",
  4205. "logBase": 1,
  4206. "show": true
  4207. },
  4208. {
  4209. "format": "short",
  4210. "logBase": 1,
  4211. "show": true
  4212. }
  4213. ]
  4214. },
  4215. {
  4216. "colorBackground": false,
  4217. "colorValue": false,
  4218. "colors": [
  4219. "rgba(50, 172, 45, 0.97)",
  4220. "rgba(237, 129, 40, 0.89)",
  4221. "rgba(245, 54, 54, 0.9)"
  4222. ],
  4223. "datasource": "${DS_PROMETHEUS}",
  4224. "editable": true,
  4225. "format": "percent",
  4226. "gauge": {
  4227. "maxValue": 100,
  4228. "minValue": 0,
  4229. "show": true,
  4230. "thresholdLabels": false,
  4231. "thresholdMarkers": true
  4232. },
  4233. "hideTimeOverride": false,
  4234. "id": 4,
  4235. "links": [],
  4236. "mappingType": 1,
  4237. "mappingTypes": [
  4238. {
  4239. "name": "value to text",
  4240. "value": 1
  4241. },
  4242. {
  4243. "name": "range to text",
  4244. "value": 2
  4245. }
  4246. ],
  4247. "maxDataPoints": 100,
  4248. "nullPointMode": "connected",
  4249. "postfix": "",
  4250. "postfixFontSize": "50%",
  4251. "prefix": "",
  4252. "prefixFontSize": "50%",
  4253. "rangeMaps": [
  4254. {
  4255. "from": "null",
  4256. "text": "N/A",
  4257. "to": "null"
  4258. }
  4259. ],
  4260. "span": 3,
  4261. "sparkline": {
  4262. "fillColor": "rgba(31, 118, 189, 0.18)",
  4263. "full": false,
  4264. "lineColor": "rgb(31, 120, 193)",
  4265. "show": true
  4266. },
  4267. "targets": [
  4268. {
  4269. "expr": "max(sum(kube_pod_container_resource_requests_memory_bytes) by (instance)) / min(sum(kube_node_status_allocatable_memory_bytes) by (instance)) * 100",
  4270. "intervalFactor": 2,
  4271. "legendFormat": "",
  4272. "refId": "A",
  4273. "step": 240
  4274. }
  4275. ],
  4276. "thresholds": "80, 90",
  4277. "title": "Memory",
  4278. "transparent": false,
  4279. "type": "singlestat",
  4280. "valueFontSize": "110%",
  4281. "valueMaps": [
  4282. {
  4283. "op": "=",
  4284. "text": "N/A",
  4285. "value": "null"
  4286. }
  4287. ],
  4288. "valueName": "avg"
  4289. }
  4290. ],
  4291. "showTitle": false,
  4292. "title": "Memory",
  4293. "titleSize": "h6"
  4294. }
  4295. ],
  4296. "schemaVersion": 14,
  4297. "sharedCrosshair": false,
  4298. "style": "dark",
  4299. "tags": [],
  4300. "templating": {
  4301. "list": []
  4302. },
  4303. "time": {
  4304. "from": "now-3h",
  4305. "to": "now"
  4306. },
  4307. "timepicker": {
  4308. "refresh_intervals": [
  4309. "5s",
  4310. "10s",
  4311. "30s",
  4312. "1m",
  4313. "5m",
  4314. "15m",
  4315. "30m",
  4316. "1h",
  4317. "2h",
  4318. "1d"
  4319. ],
  4320. "time_options": [
  4321. "5m",
  4322. "15m",
  4323. "1h",
  4324. "6h",
  4325. "12h",
  4326. "24h",
  4327. "2d",
  4328. "7d",
  4329. "30d"
  4330. ]
  4331. },
  4332. "timezone": "browser",
  4333. "title": "Kubernetes Resource Requests",
  4334. "version": 2
  4335. }
  4336. ,
  4337. "inputs": [
  4338. {
  4339. "name": "DS_PROMETHEUS",
  4340. "pluginId": "prometheus",
  4341. "type": "datasource",
  4342. "value": "prometheus"
  4343. }
  4344. ],
  4345. "overwrite": true
  4346. }
  4347. nodes-dashboard.json: |+
  4348. {
  4349. "dashboard":
  4350. {
  4351. "__inputs": [
  4352. {
  4353. "description": "",
  4354. "label": "prometheus",
  4355. "name": "DS_PROMETHEUS",
  4356. "pluginId": "prometheus",
  4357. "pluginName": "Prometheus",
  4358. "type": "datasource"
  4359. }
  4360. ],
  4361. "annotations": {
  4362. "list": []
  4363. },
  4364. "description": "Dashboard to get an overview of one server",
  4365. "editable": true,
  4366. "gnetId": 22,
  4367. "graphTooltip": 0,
  4368. "hideControls": false,
  4369. "links": [],
  4370. "refresh": false,
  4371. "rows": [
  4372. {
  4373. "collapse": false,
  4374. "editable": true,
  4375. "height": "250px",
  4376. "panels": [
  4377. {
  4378. "aliasColors": {},
  4379. "bars": false,
  4380. "dashLength": 10,
  4381. "dashes": false,
  4382. "datasource": "${DS_PROMETHEUS}",
  4383. "editable": true,
  4384. "error": false,
  4385. "fill": 1,
  4386. "grid": {
  4387. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  4388. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  4389. },
  4390. "id": 3,
  4391. "isNew": false,
  4392. "legend": {
  4393. "alignAsTable": false,
  4394. "avg": false,
  4395. "current": false,
  4396. "hideEmpty": false,
  4397. "hideZero": false,
  4398. "max": false,
  4399. "min": false,
  4400. "rightSide": false,
  4401. "show": true,
  4402. "total": false
  4403. },
  4404. "lines": true,
  4405. "linewidth": 2,
  4406. "links": [],
  4407. "nullPointMode": "connected",
  4408. "percentage": false,
  4409. "pointradius": 5,
  4410. "points": false,
  4411. "renderer": "flot",
  4412. "seriesOverrides": [],
  4413. "spaceLength": 10,
  4414. "span": 6,
  4415. "stack": false,
  4416. "steppedLine": false,
  4417. "targets": [
  4418. {
  4419. "expr": "100 - (avg by (cpu) (irate(node_cpu{mode=\"idle\", instance=\"$server\"}[5m])) * 100)",
  4420. "hide": false,
  4421. "intervalFactor": 10,
  4422. "legendFormat": "{{cpu}}",
  4423. "refId": "A",
  4424. "step": 50
  4425. }
  4426. ],
  4427. "title": "Idle CPU",
  4428. "tooltip": {
  4429. "msResolution": false,
  4430. "shared": true,
  4431. "sort": 0,
  4432. "value_type": "cumulative"
  4433. },
  4434. "type": "graph",
  4435. "xaxis": {
  4436. "mode": "time",
  4437. "show": true,
  4438. "values": []
  4439. },
  4440. "yaxes": [
  4441. {
  4442. "format": "percent",
  4443. "label": "cpu usage",
  4444. "logBase": 1,
  4445. "max": 100,
  4446. "min": 0,
  4447. "show": true
  4448. },
  4449. {
  4450. "format": "short",
  4451. "logBase": 1,
  4452. "show": true
  4453. }
  4454. ]
  4455. },
  4456. {
  4457. "aliasColors": {},
  4458. "bars": false,
  4459. "dashLength": 10,
  4460. "dashes": false,
  4461. "datasource": "${DS_PROMETHEUS}",
  4462. "editable": true,
  4463. "error": false,
  4464. "fill": 1,
  4465. "grid": {
  4466. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  4467. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  4468. },
  4469. "id": 9,
  4470. "isNew": false,
  4471. "legend": {
  4472. "alignAsTable": false,
  4473. "avg": false,
  4474. "current": false,
  4475. "hideEmpty": false,
  4476. "hideZero": false,
  4477. "max": false,
  4478. "min": false,
  4479. "rightSide": false,
  4480. "show": true,
  4481. "total": false
  4482. },
  4483. "lines": true,
  4484. "linewidth": 2,
  4485. "links": [],
  4486. "nullPointMode": "connected",
  4487. "percentage": false,
  4488. "pointradius": 5,
  4489. "points": false,
  4490. "renderer": "flot",
  4491. "seriesOverrides": [],
  4492. "spaceLength": 10,
  4493. "span": 6,
  4494. "stack": false,
  4495. "steppedLine": false,
  4496. "targets": [
  4497. {
  4498. "expr": "node_load1{instance=\"$server\"}",
  4499. "intervalFactor": 4,
  4500. "legendFormat": "load 1m",
  4501. "refId": "A",
  4502. "step": 20,
  4503. "target": ""
  4504. },
  4505. {
  4506. "expr": "node_load5{instance=\"$server\"}",
  4507. "intervalFactor": 4,
  4508. "legendFormat": "load 5m",
  4509. "refId": "B",
  4510. "step": 20,
  4511. "target": ""
  4512. },
  4513. {
  4514. "expr": "node_load15{instance=\"$server\"}",
  4515. "intervalFactor": 4,
  4516. "legendFormat": "load 15m",
  4517. "refId": "C",
  4518. "step": 20,
  4519. "target": ""
  4520. }
  4521. ],
  4522. "title": "System Load",
  4523. "tooltip": {
  4524. "msResolution": false,
  4525. "shared": true,
  4526. "sort": 0,
  4527. "value_type": "cumulative"
  4528. },
  4529. "type": "graph",
  4530. "xaxis": {
  4531. "mode": "time",
  4532. "show": true,
  4533. "values": []
  4534. },
  4535. "yaxes": [
  4536. {
  4537. "format": "percentunit",
  4538. "logBase": 1,
  4539. "show": true
  4540. },
  4541. {
  4542. "format": "short",
  4543. "logBase": 1,
  4544. "show": true
  4545. }
  4546. ]
  4547. }
  4548. ],
  4549. "showTitle": false,
  4550. "title": "New Row",
  4551. "titleSize": "h6"
  4552. },
  4553. {
  4554. "collapse": false,
  4555. "editable": true,
  4556. "height": "250px",
  4557. "panels": [
  4558. {
  4559. "aliasColors": {},
  4560. "bars": false,
  4561. "dashLength": 10,
  4562. "dashes": false,
  4563. "datasource": "${DS_PROMETHEUS}",
  4564. "editable": true,
  4565. "error": false,
  4566. "fill": 1,
  4567. "grid": {
  4568. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  4569. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  4570. },
  4571. "id": 4,
  4572. "isNew": false,
  4573. "legend": {
  4574. "alignAsTable": false,
  4575. "avg": false,
  4576. "current": false,
  4577. "hideEmpty": false,
  4578. "hideZero": false,
  4579. "max": false,
  4580. "min": false,
  4581. "rightSide": false,
  4582. "show": true,
  4583. "total": false
  4584. },
  4585. "lines": true,
  4586. "linewidth": 2,
  4587. "links": [],
  4588. "nullPointMode": "connected",
  4589. "percentage": false,
  4590. "pointradius": 5,
  4591. "points": false,
  4592. "renderer": "flot",
  4593. "seriesOverrides": [
  4594. {
  4595. "alias": "node_memory_SwapFree{instance=\"172.17.0.1:9100\",job=\"prometheus\"}",
  4596. "yaxis": 2
  4597. }
  4598. ],
  4599. "spaceLength": 10,
  4600. "span": 9,
  4601. "stack": true,
  4602. "steppedLine": false,
  4603. "targets": [
  4604. {
  4605. "expr": "node_memory_MemTotal{instance=\"$server\"} - node_memory_MemFree{instance=\"$server\"} - node_memory_Buffers{instance=\"$server\"} - node_memory_Cached{instance=\"$server\"}",
  4606. "hide": false,
  4607. "interval": "",
  4608. "intervalFactor": 2,
  4609. "legendFormat": "memory used",
  4610. "metric": "",
  4611. "refId": "C",
  4612. "step": 10
  4613. },
  4614. {
  4615. "expr": "node_memory_Buffers{instance=\"$server\"}",
  4616. "interval": "",
  4617. "intervalFactor": 2,
  4618. "legendFormat": "memory buffers",
  4619. "metric": "",
  4620. "refId": "E",
  4621. "step": 10
  4622. },
  4623. {
  4624. "expr": "node_memory_Cached{instance=\"$server\"}",
  4625. "intervalFactor": 2,
  4626. "legendFormat": "memory cached",
  4627. "metric": "",
  4628. "refId": "F",
  4629. "step": 10
  4630. },
  4631. {
  4632. "expr": "node_memory_MemFree{instance=\"$server\"}",
  4633. "intervalFactor": 2,
  4634. "legendFormat": "memory free",
  4635. "metric": "",
  4636. "refId": "D",
  4637. "step": 10
  4638. }
  4639. ],
  4640. "title": "Memory Usage",
  4641. "tooltip": {
  4642. "msResolution": false,
  4643. "shared": true,
  4644. "sort": 0,
  4645. "value_type": "individual"
  4646. },
  4647. "type": "graph",
  4648. "xaxis": {
  4649. "mode": "time",
  4650. "show": true,
  4651. "values": []
  4652. },
  4653. "yaxes": [
  4654. {
  4655. "format": "bytes",
  4656. "logBase": 1,
  4657. "min": "0",
  4658. "show": true
  4659. },
  4660. {
  4661. "format": "short",
  4662. "logBase": 1,
  4663. "show": true
  4664. }
  4665. ]
  4666. },
  4667. {
  4668. "colorBackground": false,
  4669. "colorValue": false,
  4670. "colors": [
  4671. "rgba(50, 172, 45, 0.97)",
  4672. "rgba(237, 129, 40, 0.89)",
  4673. "rgba(245, 54, 54, 0.9)"
  4674. ],
  4675. "datasource": "${DS_PROMETHEUS}",
  4676. "editable": true,
  4677. "format": "percent",
  4678. "gauge": {
  4679. "maxValue": 100,
  4680. "minValue": 0,
  4681. "show": true,
  4682. "thresholdLabels": false,
  4683. "thresholdMarkers": true
  4684. },
  4685. "hideTimeOverride": false,
  4686. "id": 5,
  4687. "links": [],
  4688. "mappingType": 1,
  4689. "mappingTypes": [
  4690. {
  4691. "name": "value to text",
  4692. "value": 1
  4693. },
  4694. {
  4695. "name": "range to text",
  4696. "value": 2
  4697. }
  4698. ],
  4699. "maxDataPoints": 100,
  4700. "nullPointMode": "connected",
  4701. "postfix": "",
  4702. "postfixFontSize": "50%",
  4703. "prefix": "",
  4704. "prefixFontSize": "50%",
  4705. "rangeMaps": [
  4706. {
  4707. "from": "null",
  4708. "text": "N/A",
  4709. "to": "null"
  4710. }
  4711. ],
  4712. "span": 3,
  4713. "sparkline": {
  4714. "fillColor": "rgba(31, 118, 189, 0.18)",
  4715. "full": false,
  4716. "lineColor": "rgb(31, 120, 193)",
  4717. "show": false
  4718. },
  4719. "targets": [
  4720. {
  4721. "expr": "((node_memory_MemTotal{instance=\"$server\"} - node_memory_MemFree{instance=\"$server\"} - node_memory_Buffers{instance=\"$server\"} - node_memory_Cached{instance=\"$server\"}) / node_memory_MemTotal{instance=\"$server\"}) * 100",
  4722. "intervalFactor": 2,
  4723. "refId": "A",
  4724. "step": 60,
  4725. "target": ""
  4726. }
  4727. ],
  4728. "thresholds": "80, 90",
  4729. "title": "Memory Usage",
  4730. "transparent": false,
  4731. "type": "singlestat",
  4732. "valueFontSize": "80%",
  4733. "valueMaps": [
  4734. {
  4735. "op": "=",
  4736. "text": "N/A",
  4737. "value": "null"
  4738. }
  4739. ],
  4740. "valueName": "avg"
  4741. }
  4742. ],
  4743. "showTitle": false,
  4744. "title": "New Row",
  4745. "titleSize": "h6"
  4746. },
  4747. {
  4748. "collapse": false,
  4749. "editable": true,
  4750. "height": "250px",
  4751. "panels": [
  4752. {
  4753. "aliasColors": {},
  4754. "bars": false,
  4755. "dashLength": 10,
  4756. "dashes": false,
  4757. "datasource": "${DS_PROMETHEUS}",
  4758. "editable": true,
  4759. "error": false,
  4760. "fill": 1,
  4761. "grid": {
  4762. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  4763. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  4764. },
  4765. "id": 6,
  4766. "isNew": true,
  4767. "legend": {
  4768. "alignAsTable": false,
  4769. "avg": false,
  4770. "current": false,
  4771. "hideEmpty": false,
  4772. "hideZero": false,
  4773. "max": false,
  4774. "min": false,
  4775. "rightSide": false,
  4776. "show": true,
  4777. "total": false
  4778. },
  4779. "lines": true,
  4780. "linewidth": 2,
  4781. "links": [],
  4782. "nullPointMode": "connected",
  4783. "percentage": false,
  4784. "pointradius": 5,
  4785. "points": false,
  4786. "renderer": "flot",
  4787. "seriesOverrides": [
  4788. {
  4789. "alias": "read",
  4790. "yaxis": 1
  4791. },
  4792. {
  4793. "alias": "{instance=\"172.17.0.1:9100\"}",
  4794. "yaxis": 2
  4795. },
  4796. {
  4797. "alias": "io time",
  4798. "yaxis": 2
  4799. }
  4800. ],
  4801. "spaceLength": 10,
  4802. "span": 9,
  4803. "stack": false,
  4804. "steppedLine": false,
  4805. "targets": [
  4806. {
  4807. "expr": "sum by (instance) (rate(node_disk_bytes_read{instance=\"$server\"}[2m]))",
  4808. "hide": false,
  4809. "intervalFactor": 4,
  4810. "legendFormat": "read",
  4811. "refId": "A",
  4812. "step": 20,
  4813. "target": ""
  4814. },
  4815. {
  4816. "expr": "sum by (instance) (rate(node_disk_bytes_written{instance=\"$server\"}[2m]))",
  4817. "intervalFactor": 4,
  4818. "legendFormat": "written",
  4819. "refId": "B",
  4820. "step": 20
  4821. },
  4822. {
  4823. "expr": "sum by (instance) (rate(node_disk_io_time_ms{instance=\"$server\"}[2m]))",
  4824. "intervalFactor": 4,
  4825. "legendFormat": "io time",
  4826. "refId": "C",
  4827. "step": 20
  4828. }
  4829. ],
  4830. "title": "Disk I/O",
  4831. "tooltip": {
  4832. "msResolution": false,
  4833. "shared": true,
  4834. "sort": 0,
  4835. "value_type": "cumulative"
  4836. },
  4837. "type": "graph",
  4838. "xaxis": {
  4839. "mode": "time",
  4840. "show": true,
  4841. "values": []
  4842. },
  4843. "yaxes": [
  4844. {
  4845. "format": "bytes",
  4846. "logBase": 1,
  4847. "show": true
  4848. },
  4849. {
  4850. "format": "ms",
  4851. "logBase": 1,
  4852. "show": true
  4853. }
  4854. ]
  4855. },
  4856. {
  4857. "colorBackground": false,
  4858. "colorValue": false,
  4859. "colors": [
  4860. "rgba(50, 172, 45, 0.97)",
  4861. "rgba(237, 129, 40, 0.89)",
  4862. "rgba(245, 54, 54, 0.9)"
  4863. ],
  4864. "datasource": "${DS_PROMETHEUS}",
  4865. "editable": true,
  4866. "format": "percentunit",
  4867. "gauge": {
  4868. "maxValue": 1,
  4869. "minValue": 0,
  4870. "show": true,
  4871. "thresholdLabels": false,
  4872. "thresholdMarkers": true
  4873. },
  4874. "hideTimeOverride": false,
  4875. "id": 7,
  4876. "links": [],
  4877. "mappingType": 1,
  4878. "mappingTypes": [
  4879. {
  4880. "name": "value to text",
  4881. "value": 1
  4882. },
  4883. {
  4884. "name": "range to text",
  4885. "value": 2
  4886. }
  4887. ],
  4888. "maxDataPoints": 100,
  4889. "nullPointMode": "connected",
  4890. "postfix": "",
  4891. "postfixFontSize": "50%",
  4892. "prefix": "",
  4893. "prefixFontSize": "50%",
  4894. "rangeMaps": [
  4895. {
  4896. "from": "null",
  4897. "text": "N/A",
  4898. "to": "null"
  4899. }
  4900. ],
  4901. "span": 3,
  4902. "sparkline": {
  4903. "fillColor": "rgba(31, 118, 189, 0.18)",
  4904. "full": false,
  4905. "lineColor": "rgb(31, 120, 193)",
  4906. "show": false
  4907. },
  4908. "targets": [
  4909. {
  4910. "expr": "(sum(node_filesystem_size{device!=\"rootfs\",instance=\"$server\"}) - sum(node_filesystem_free{device!=\"rootfs\",instance=\"$server\"})) / sum(node_filesystem_size{device!=\"rootfs\",instance=\"$server\"})",
  4911. "intervalFactor": 2,
  4912. "refId": "A",
  4913. "step": 60,
  4914. "target": ""
  4915. }
  4916. ],
  4917. "thresholds": "0.75, 0.9",
  4918. "title": "Disk Space Usage",
  4919. "transparent": false,
  4920. "type": "singlestat",
  4921. "valueFontSize": "80%",
  4922. "valueMaps": [
  4923. {
  4924. "op": "=",
  4925. "text": "N/A",
  4926. "value": "null"
  4927. }
  4928. ],
  4929. "valueName": "current"
  4930. }
  4931. ],
  4932. "showTitle": false,
  4933. "title": "New Row",
  4934. "titleSize": "h6"
  4935. },
  4936. {
  4937. "collapse": false,
  4938. "editable": true,
  4939. "height": "250px",
  4940. "panels": [
  4941. {
  4942. "aliasColors": {},
  4943. "bars": false,
  4944. "dashLength": 10,
  4945. "dashes": false,
  4946. "datasource": "${DS_PROMETHEUS}",
  4947. "editable": true,
  4948. "error": false,
  4949. "fill": 1,
  4950. "grid": {
  4951. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  4952. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  4953. },
  4954. "id": 8,
  4955. "isNew": false,
  4956. "legend": {
  4957. "alignAsTable": false,
  4958. "avg": false,
  4959. "current": false,
  4960. "hideEmpty": false,
  4961. "hideZero": false,
  4962. "max": false,
  4963. "min": false,
  4964. "rightSide": false,
  4965. "show": true,
  4966. "total": false
  4967. },
  4968. "lines": true,
  4969. "linewidth": 2,
  4970. "links": [],
  4971. "nullPointMode": "connected",
  4972. "percentage": false,
  4973. "pointradius": 5,
  4974. "points": false,
  4975. "renderer": "flot",
  4976. "seriesOverrides": [
  4977. {
  4978. "alias": "transmitted",
  4979. "yaxis": 2
  4980. }
  4981. ],
  4982. "spaceLength": 10,
  4983. "span": 6,
  4984. "stack": false,
  4985. "steppedLine": false,
  4986. "targets": [
  4987. {
  4988. "expr": "rate(node_network_receive_bytes{instance=\"$server\",device!~\"lo\"}[5m])",
  4989. "hide": false,
  4990. "intervalFactor": 2,
  4991. "legendFormat": "{{device}}",
  4992. "refId": "A",
  4993. "step": 10,
  4994. "target": ""
  4995. }
  4996. ],
  4997. "title": "Network Received",
  4998. "tooltip": {
  4999. "msResolution": false,
  5000. "shared": true,
  5001. "sort": 0,
  5002. "value_type": "cumulative"
  5003. },
  5004. "type": "graph",
  5005. "xaxis": {
  5006. "mode": "time",
  5007. "show": true,
  5008. "values": []
  5009. },
  5010. "yaxes": [
  5011. {
  5012. "format": "bytes",
  5013. "logBase": 1,
  5014. "show": true
  5015. },
  5016. {
  5017. "format": "bytes",
  5018. "logBase": 1,
  5019. "show": true
  5020. }
  5021. ]
  5022. },
  5023. {
  5024. "aliasColors": {},
  5025. "bars": false,
  5026. "dashLength": 10,
  5027. "dashes": false,
  5028. "datasource": "${DS_PROMETHEUS}",
  5029. "editable": true,
  5030. "error": false,
  5031. "fill": 1,
  5032. "grid": {
  5033. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  5034. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  5035. },
  5036. "id": 10,
  5037. "isNew": false,
  5038. "legend": {
  5039. "alignAsTable": false,
  5040. "avg": false,
  5041. "current": false,
  5042. "hideEmpty": false,
  5043. "hideZero": false,
  5044. "max": false,
  5045. "min": false,
  5046. "rightSide": false,
  5047. "show": true,
  5048. "total": false
  5049. },
  5050. "lines": true,
  5051. "linewidth": 2,
  5052. "links": [],
  5053. "nullPointMode": "connected",
  5054. "percentage": false,
  5055. "pointradius": 5,
  5056. "points": false,
  5057. "renderer": "flot",
  5058. "seriesOverrides": [
  5059. {
  5060. "alias": "transmitted",
  5061. "yaxis": 2
  5062. }
  5063. ],
  5064. "spaceLength": 10,
  5065. "span": 6,
  5066. "stack": false,
  5067. "steppedLine": false,
  5068. "targets": [
  5069. {
  5070. "expr": "rate(node_network_transmit_bytes{instance=\"$server\",device!~\"lo\"}[5m])",
  5071. "hide": false,
  5072. "intervalFactor": 2,
  5073. "legendFormat": "{{device}}",
  5074. "refId": "B",
  5075. "step": 10,
  5076. "target": ""
  5077. }
  5078. ],
  5079. "title": "Network Transmitted",
  5080. "tooltip": {
  5081. "msResolution": false,
  5082. "shared": true,
  5083. "sort": 0,
  5084. "value_type": "cumulative"
  5085. },
  5086. "type": "graph",
  5087. "xaxis": {
  5088. "mode": "time",
  5089. "show": true,
  5090. "values": []
  5091. },
  5092. "yaxes": [
  5093. {
  5094. "format": "bytes",
  5095. "logBase": 1,
  5096. "show": true
  5097. },
  5098. {
  5099. "format": "bytes",
  5100. "logBase": 1,
  5101. "show": true
  5102. }
  5103. ]
  5104. }
  5105. ],
  5106. "showTitle": false,
  5107. "title": "New Row",
  5108. "titleSize": "h6"
  5109. }
  5110. ],
  5111. "schemaVersion": 14,
  5112. "sharedCrosshair": false,
  5113. "style": "dark",
  5114. "tags": [],
  5115. "templating": {
  5116. "list": [
  5117. {
  5118. "allValue": null,
  5119. "current": {},
  5120. "datasource": "${DS_PROMETHEUS}",
  5121. "hide": 0,
  5122. "includeAll": false,
  5123. "label": null,
  5124. "multi": false,
  5125. "name": "server",
  5126. "options": [],
  5127. "query": "label_values(node_boot_time, instance)",
  5128. "refresh": 1,
  5129. "regex": "",
  5130. "sort": 0,
  5131. "tagValuesQuery": "",
  5132. "tags": [],
  5133. "tagsQuery": "",
  5134. "type": "query",
  5135. "useTags": false
  5136. }
  5137. ]
  5138. },
  5139. "time": {
  5140. "from": "now-1h",
  5141. "to": "now"
  5142. },
  5143. "timepicker": {
  5144. "refresh_intervals": [
  5145. "5s",
  5146. "10s",
  5147. "30s",
  5148. "1m",
  5149. "5m",
  5150. "15m",
  5151. "30m",
  5152. "1h",
  5153. "2h",
  5154. "1d"
  5155. ],
  5156. "time_options": [
  5157. "5m",
  5158. "15m",
  5159. "1h",
  5160. "6h",
  5161. "12h",
  5162. "24h",
  5163. "2d",
  5164. "7d",
  5165. "30d"
  5166. ]
  5167. },
  5168. "timezone": "browser",
  5169. "title": "Nodes",
  5170. "version": 2
  5171. }
  5172. ,
  5173. "inputs": [
  5174. {
  5175. "name": "DS_PROMETHEUS",
  5176. "pluginId": "prometheus",
  5177. "type": "datasource",
  5178. "value": "prometheus"
  5179. }
  5180. ],
  5181. "overwrite": true
  5182. }
  5183. pods-dashboard.json: |+
  5184. {
  5185. "dashboard":
  5186. {
  5187. "__inputs": [
  5188. {
  5189. "description": "",
  5190. "label": "prometheus",
  5191. "name": "DS_PROMETHEUS",
  5192. "pluginId": "prometheus",
  5193. "pluginName": "Prometheus",
  5194. "type": "datasource"
  5195. }
  5196. ],
  5197. "annotations": {
  5198. "list": []
  5199. },
  5200. "editable": true,
  5201. "graphTooltip": 1,
  5202. "hideControls": false,
  5203. "links": [],
  5204. "refresh": false,
  5205. "rows": [
  5206. {
  5207. "collapse": false,
  5208. "editable": true,
  5209. "height": "250px",
  5210. "panels": [
  5211. {
  5212. "aliasColors": {},
  5213. "bars": false,
  5214. "dashLength": 10,
  5215. "dashes": false,
  5216. "datasource": "${DS_PROMETHEUS}",
  5217. "editable": true,
  5218. "error": false,
  5219. "fill": 1,
  5220. "grid": {
  5221. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  5222. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  5223. },
  5224. "id": 1,
  5225. "isNew": false,
  5226. "legend": {
  5227. "alignAsTable": true,
  5228. "avg": true,
  5229. "current": true,
  5230. "hideEmpty": false,
  5231. "hideZero": false,
  5232. "max": false,
  5233. "min": false,
  5234. "rightSide": true,
  5235. "show": true,
  5236. "total": false,
  5237. "values": true
  5238. },
  5239. "lines": true,
  5240. "linewidth": 2,
  5241. "links": [],
  5242. "nullPointMode": "connected",
  5243. "percentage": false,
  5244. "pointradius": 5,
  5245. "points": false,
  5246. "renderer": "flot",
  5247. "seriesOverrides": [],
  5248. "spaceLength": 10,
  5249. "span": 12,
  5250. "stack": false,
  5251. "steppedLine": false,
  5252. "targets": [
  5253. {
  5254. "expr": "sum by(container_name) (container_memory_usage_bytes{pod_name=\"$pod\", container_name=~\"$container\", container_name!=\"POD\"})",
  5255. "interval": "10s",
  5256. "intervalFactor": 1,
  5257. "legendFormat": "Current: {{ container_name }}",
  5258. "metric": "container_memory_usage_bytes",
  5259. "refId": "A",
  5260. "step": 15
  5261. },
  5262. {
  5263. "expr": "kube_pod_container_resource_requests_memory_bytes{pod=\"$pod\", container=~\"$container\"}",
  5264. "interval": "10s",
  5265. "intervalFactor": 2,
  5266. "legendFormat": "Requested: {{ container }}",
  5267. "metric": "kube_pod_container_resource_requests_memory_bytes",
  5268. "refId": "B",
  5269. "step": 20
  5270. }
  5271. ],
  5272. "title": "Memory Usage",
  5273. "tooltip": {
  5274. "msResolution": true,
  5275. "shared": true,
  5276. "sort": 0,
  5277. "value_type": "cumulative"
  5278. },
  5279. "type": "graph",
  5280. "xaxis": {
  5281. "mode": "time",
  5282. "show": true,
  5283. "values": []
  5284. },
  5285. "yaxes": [
  5286. {
  5287. "format": "bytes",
  5288. "logBase": 1,
  5289. "show": true
  5290. },
  5291. {
  5292. "format": "short",
  5293. "logBase": 1,
  5294. "show": true
  5295. }
  5296. ]
  5297. }
  5298. ],
  5299. "showTitle": false,
  5300. "title": "Row",
  5301. "titleSize": "h6"
  5302. },
  5303. {
  5304. "collapse": false,
  5305. "editable": true,
  5306. "height": "250px",
  5307. "panels": [
  5308. {
  5309. "aliasColors": {},
  5310. "bars": false,
  5311. "dashLength": 10,
  5312. "dashes": false,
  5313. "datasource": "${DS_PROMETHEUS}",
  5314. "editable": true,
  5315. "error": false,
  5316. "fill": 1,
  5317. "grid": {
  5318. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  5319. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  5320. },
  5321. "id": 2,
  5322. "isNew": false,
  5323. "legend": {
  5324. "alignAsTable": true,
  5325. "avg": true,
  5326. "current": true,
  5327. "hideEmpty": false,
  5328. "hideZero": false,
  5329. "max": false,
  5330. "min": false,
  5331. "rightSide": true,
  5332. "show": true,
  5333. "total": false,
  5334. "values": true
  5335. },
  5336. "lines": true,
  5337. "linewidth": 2,
  5338. "links": [],
  5339. "nullPointMode": "connected",
  5340. "percentage": false,
  5341. "pointradius": 5,
  5342. "points": false,
  5343. "renderer": "flot",
  5344. "seriesOverrides": [],
  5345. "spaceLength": 10,
  5346. "span": 12,
  5347. "stack": false,
  5348. "steppedLine": false,
  5349. "targets": [
  5350. {
  5351. "expr": "sum by (container_name)(rate(container_cpu_usage_seconds_total{image!=\"\",container_name!=\"POD\",pod_name=\"$pod\"}[1m]))",
  5352. "intervalFactor": 2,
  5353. "legendFormat": "{{ container_name }}",
  5354. "refId": "A",
  5355. "step": 30
  5356. }
  5357. ],
  5358. "title": "CPU Usage",
  5359. "tooltip": {
  5360. "msResolution": true,
  5361. "shared": true,
  5362. "sort": 0,
  5363. "value_type": "cumulative"
  5364. },
  5365. "type": "graph",
  5366. "xaxis": {
  5367. "mode": "time",
  5368. "show": true,
  5369. "values": []
  5370. },
  5371. "yaxes": [
  5372. {
  5373. "format": "short",
  5374. "logBase": 1,
  5375. "show": true
  5376. },
  5377. {
  5378. "format": "short",
  5379. "logBase": 1,
  5380. "show": true
  5381. }
  5382. ]
  5383. }
  5384. ],
  5385. "showTitle": false,
  5386. "title": "Row",
  5387. "titleSize": "h6"
  5388. },
  5389. {
  5390. "collapse": false,
  5391. "editable": true,
  5392. "height": "250px",
  5393. "panels": [
  5394. {
  5395. "aliasColors": {},
  5396. "bars": false,
  5397. "dashLength": 10,
  5398. "dashes": false,
  5399. "datasource": "${DS_PROMETHEUS}",
  5400. "editable": true,
  5401. "error": false,
  5402. "fill": 1,
  5403. "grid": {
  5404. "threshold1Color": "rgba(216, 200, 27, 0.27)",
  5405. "threshold2Color": "rgba(234, 112, 112, 0.22)"
  5406. },
  5407. "id": 3,
  5408. "isNew": false,
  5409. "legend": {
  5410. "alignAsTable": true,
  5411. "avg": true,
  5412. "current": true,
  5413. "hideEmpty": false,
  5414. "hideZero": false,
  5415. "max": false,
  5416. "min": false,
  5417. "rightSide": true,
  5418. "show": true,
  5419. "total": false,
  5420. "values": true
  5421. },
  5422. "lines": true,
  5423. "linewidth": 2,
  5424. "links": [],
  5425. "nullPointMode": "connected",
  5426. "percentage": false,
  5427. "pointradius": 5,
  5428. "points": false,
  5429. "renderer": "flot",
  5430. "seriesOverrides": [],
  5431. "spaceLength": 10,
  5432. "span": 12,
  5433. "stack": false,
  5434. "steppedLine": false,
  5435. "targets": [
  5436. {
  5437. "expr": "sort_desc(sum by (pod_name) (rate(container_network_receive_bytes_total{pod_name=\"$pod\"}[1m])))",
  5438. "intervalFactor": 2,
  5439. "legendFormat": "{{ pod_name }}",
  5440. "refId": "A",
  5441. "step": 30
  5442. }
  5443. ],
  5444. "title": "Network I/O",
  5445. "tooltip": {
  5446. "msResolution": true,
  5447. "shared": true,
  5448. "sort": 0,
  5449. "value_type": "cumulative"
  5450. },
  5451. "type": "graph",
  5452. "xaxis": {
  5453. "mode": "time",
  5454. "show": true,
  5455. "values": []
  5456. },
  5457. "yaxes": [
  5458. {
  5459. "format": "bytes",
  5460. "logBase": 1,
  5461. "show": true
  5462. },
  5463. {
  5464. "format": "short",
  5465. "logBase": 1,
  5466. "show": true
  5467. }
  5468. ]
  5469. }
  5470. ],
  5471. "showTitle": false,
  5472. "title": "New Row",
  5473. "titleSize": "h6"
  5474. }
  5475. ],
  5476. "schemaVersion": 14,
  5477. "sharedCrosshair": false,
  5478. "style": "dark",
  5479. "tags": [],
  5480. "templating": {
  5481. "list": [
  5482. {
  5483. "allValue": ".*",
  5484. "current": {},
  5485. "datasource": "${DS_PROMETHEUS}",
  5486. "hide": 0,
  5487. "includeAll": true,
  5488. "label": "Namespace",
  5489. "multi": false,
  5490. "name": "namespace",
  5491. "options": [],
  5492. "query": "label_values(kube_pod_info, namespace)",
  5493. "refresh": 1,
  5494. "regex": "",
  5495. "sort": 0,
  5496. "tagValuesQuery": "",
  5497. "tags": [],
  5498. "tagsQuery": "",
  5499. "type": "query",
  5500. "useTags": false
  5501. },
  5502. {
  5503. "allValue": null,
  5504. "current": {},
  5505. "datasource": "${DS_PROMETHEUS}",
  5506. "hide": 0,
  5507. "includeAll": false,
  5508. "label": "Pod",
  5509. "multi": false,
  5510. "name": "pod",
  5511. "options": [],
  5512. "query": "label_values(kube_pod_info{namespace=~\"$namespace\"}, pod)",
  5513. "refresh": 1,
  5514. "regex": "",
  5515. "sort": 0,
  5516. "tagValuesQuery": "",
  5517. "tags": [],
  5518. "tagsQuery": "",
  5519. "type": "query",
  5520. "useTags": false
  5521. },
  5522. {
  5523. "allValue": ".*",
  5524. "current": {},
  5525. "datasource": "${DS_PROMETHEUS}",
  5526. "hide": 0,
  5527. "includeAll": true,
  5528. "label": "Container",
  5529. "multi": false,
  5530. "name": "container",
  5531. "options": [],
  5532. "query": "label_values(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\"}, container)",
  5533. "refresh": 1,
  5534. "regex": "",
  5535. "sort": 0,
  5536. "tagValuesQuery": "",
  5537. "tags": [],
  5538. "tagsQuery": "",
  5539. "type": "query",
  5540. "useTags": false
  5541. }
  5542. ]
  5543. },
  5544. "time": {
  5545. "from": "now-6h",
  5546. "to": "now"
  5547. },
  5548. "timepicker": {
  5549. "refresh_intervals": [
  5550. "5s",
  5551. "10s",
  5552. "30s",
  5553. "1m",
  5554. "5m",
  5555. "15m",
  5556. "30m",
  5557. "1h",
  5558. "2h",
  5559. "1d"
  5560. ],
  5561. "time_options": [
  5562. "5m",
  5563. "15m",
  5564. "1h",
  5565. "6h",
  5566. "12h",
  5567. "24h",
  5568. "2d",
  5569. "7d",
  5570. "30d"
  5571. ]
  5572. },
  5573. "timezone": "browser",
  5574. "title": "Pods",
  5575. "version": 1
  5576. }
  5577. ,
  5578. "inputs": [
  5579. {
  5580. "name": "DS_PROMETHEUS",
  5581. "pluginId": "prometheus",
  5582. "type": "datasource",
  5583. "value": "prometheus"
  5584. }
  5585. ],
  5586. "overwrite": true
  5587. }
  5588. prometheus-datasource.json: |+
  5589. {
  5590. "access": "proxy",
  5591. "basicAuth": false,
  5592. "name": "prometheus",
  5593. "type": "prometheus",
  5594. "url": "http://prometheus-operated.{{ WAVEMAKER_MONITORING_NAMESPACE }}.svc:9090"
  5595. }
  5596. ---
  5597. apiVersion: apps/v1
  5598. kind: Deployment
  5599. metadata:
  5600. name: grafana
  5601. namespace: {{ WAVEMAKER_MONITORING_NAMESPACE }}
  5602. spec:
  5603. replicas: 1
  5604. selector:
  5605. matchLabels:
  5606. app: grafana
  5607. template:
  5608. metadata:
  5609. labels:
  5610. app: grafana
  5611. spec:
  5612. containers:
  5613. - name: grafana
  5614. image: grafana/grafana:4.5.2
  5615. env:
  5616. - name: GF_AUTH_BASIC_ENABLED
  5617. value: "true"
  5618. - name: GF_AUTH_ANONYMOUS_ENABLED
  5619. value: "false"
  5620. - name: GF_SECURITY_ADMIN_USER
  5621. valueFrom:
  5622. secretKeyRef:
  5623. name: grafana-credentials
  5624. key: user
  5625. - name: GF_SECURITY_ADMIN_PASSWORD
  5626. valueFrom:
  5627. secretKeyRef:
  5628. name: grafana-credentials
  5629. key: password
  5630. - name: GRAFANA_PASSWD
  5631. valueFrom:
  5632. secretKeyRef:
  5633. name: grafana-credentials
  5634. key: password
  5635. volumeMounts:
  5636. - name: grafana-storage
  5637. mountPath: /var/grafana-storage
  5638. ports:
  5639. - name: web
  5640. containerPort: 3000
  5641. resources:
  5642. requests:
  5643. memory: 100Mi
  5644. cpu: 100m
  5645. limits:
  5646. memory: 200Mi
  5647. cpu: 200m
  5648. - name: grafana-watcher
  5649. image: quay.io/coreos/grafana-watcher:v0.0.8
  5650. args:
  5651. - '--watch-dir=/var/grafana-dashboards-0'
  5652. - '--grafana-url=http://localhost:3000'
  5653. env:
  5654. - name: GRAFANA_USER
  5655. valueFrom:
  5656. secretKeyRef:
  5657. name: grafana-credentials
  5658. key: user
  5659. - name: GRAFANA_PASSWORD
  5660. valueFrom:
  5661. secretKeyRef:
  5662. name: grafana-credentials
  5663. key: password
  5664. resources:
  5665. requests:
  5666. memory: "16Mi"
  5667. cpu: "50m"
  5668. limits:
  5669. memory: "32Mi"
  5670. cpu: "100m"
  5671. volumeMounts:
  5672. - name: grafana-dashboards-0
  5673. mountPath: /var/grafana-dashboards-0
  5674. volumes:
  5675. - name: grafana-storage
  5676. emptyDir: {}
  5677. - name: grafana-dashboards-0
  5678. configMap:
  5679. name: grafana-dashboards-0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement