{"repo":"dotdc/grafana-dashboards-kubernetes","free":true,"listed":false,"github":"https://github.com/dotdc/grafana-dashboards-kubernetes","clone":"git clone https://github.com/dotdc/grafana-dashboards-kubernetes.git","description":"A set of modern Grafana dashboards for Kubernetes.","language":null,"stars":3642,"topics":["dashboard","dashboards","grafana","grafana-dashboard","grafana-dashboards","grafana-prometheus","hacktoberfest","kube-state-metrics","kubernetes","kubernetes-monitoring","monitoring","monitoring-dashboard","node-exporter","o11y","observability","prometheus","prometheus-metrics","prometheus-node-exporter"],"license":"Apache-2.0","category":"monitoring_dashboards","readme_excerpt":"<!-- markdownlint-configure-file { \"MD060\": { \"style\": \"consistent\" } } -->\n# grafana-dashboards-kubernetes <!-- omit in toc -->\n\n![logo](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/kubernetes-grafana-dashboards-logo.png)\n\n## Table of contents <!-- omit in toc -->\n\n- [Description](#description)\n- [Releases](#releases)\n- [Features](#features)\n- [Dashboards](#dashboards)\n- [Installation](#installation)\n  - [Install manually](#install-manually)\n  - [Install via grafana.com](#install-via-grafanacom)\n  - [Install with ArgoCD](#install-with-argocd)\n  - [Install with Helm values](#install-with-helm-values)\n  - [Install as ConfigMaps](#install-as-configmaps)\n  - [Install as ConfigMaps with Terraform](#install-as-configmaps-with-terraform)\n  - [Install as GrafanaDashboard with Grafana Operator](#install-as-grafanadashboard-with-grafana-operator)\n- [Known issue(s)](#known-issues)\n  - [Broken panels due to a too-high resolution](#broken-panels-due-to-a-too-high-resolution)\n  - [Broken panels on k8s-views-nodes when a node changes its IP address](#broken-panels-on-k8s-views-nodes-when-a-node-changes-its-ip-address)\n  - [Broken panels on k8s-views-nodes due to the nodename label](#broken-panels-on-k8s-views-nodes-due-to-the-nodename-label)\n  - [Windows support](#windows-support)\n- [Contributing](#contributing)\n\n## Description\n\nThis repository contains a modern set of [Grafana](https://github.com/grafana/grafana) dashboards for [Kubernetes](https://github.com/kubernetes/kubernetes).\\\nThey are inspired by many other dashboards from `kubernetes-mixin` and `grafana.com`.\n\nMore information about them in my article: [A set of modern Grafana dashboards for Kubernetes](https://0xdc.me/blog/a-set-of-modern-grafana-dashboards-for-kubernetes/)\n\nYou can also download them on [Grafana.com](https://grafana.com/grafana/dashboards/?plcmt=top-nav&cta=downloads&search=dotdc).\n\n## Releases\n\nThis repository follows [semantic versioning](https://semver.org) for releases.\\\nIt relies on [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) to automate releases using [semantic-release](https://github.com/semantic-release/semantic-release).\n\n## Features\n\nThese dashboards are made and tested for the [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) chart, but they should work well with others as soon as you have [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) and [prometheus-node-exporter](https://github.com/prometheus/node_exporter) installed on your Kubernetes cluster.\n\nThey are not backward compatible with older Grafana versions because they try to take advantage of Grafana's newest features like:\n\n- `gradient mode` introduced in Grafana 8.1 ([Grafana Blog post](https://grafana.com/blog/2021/09/10/new-in-grafana-8.1-gradient-mode-for-time-series-visualizations-and-dynamic-panel-configuration/))\n- `time series` visualization panel introduced in Grafana 7.4 ([Grafana Blog post](https://grafana.com/blog/2021/02/10/how-the-new-time-series-panel-brings-major-performance-improvements-and-new-visualization-features-to-grafana-7.4/))\n- `$__rate_interval` variable introduced in Grafana 7.2 ([Grafana Blog post](https://grafana.com/blog/2020/09/28/new-in-grafana-7.2-__rate_interval-for-prometheus-rate-queries-that-just-work/))\n\nThey also have a `Prometheus Datasource` variable so they will work on a federated Grafana instance.\n\nAs an example, here's how the `Kubernetes / Views / Global` dashboard looks like:\n\n![screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-views-global.png \"Kubernetes Global View Screenshot\")\n\n## Dashboards\n\n| File name                  | Description | Screenshot |\n|:---------------------------|:------------|:----------:|\n| k8s-addons-prometheus.json | Dashboard for Prometheus. | [Screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-addons-prometheus.png) |\n| k8s-addons-trivy-operator.json | Dashboard for the Trivy Operator from Aqua Security. | [Screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-addons-trivy-operator.png) |\n| k8s-system-api-server.json | Dashboard for the API Server Kubernetes component. | [Screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-system-api-server.png) |\n| k8s-system-coredns.json    | Dashboard for the CoreDNS Kubernetes component. | [Screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-system-coredns.png) |\n| k8s-views-global.json      | `Global` level view dashboard for Kubernetes. | [Screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-views-global.png) |\n| k8s-views-namespaces.json  | `Namespaces` level view dashboard for Kubernetes. | [Screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-views-namespaces.png) |\n| k8s-views-nodes.json       | `Nodes` level view dashboard for Kubernetes. | [Screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-views-nodes.png) |\n| k8s-views-pods.json        | `Pods` level view dashboard for Kubernetes. | [Screenshot](https://raw.githubusercontent.com/dotdc/media/main/grafana-dashboards-kubernetes/k8s-views-pods.png) |\n\n## Installation\n\nIn most cases, you will need to clone this repository (or your fork):\n\n```terminal\ngit clone https://github.com/dotdc/grafana-dashboards-kubernetes.git\ncd grafana-dashboards-kubernetes\n```\n\nIf you plan to deploy these dashboards using [ArgoCD](#install-with-argocd), [ConfigMaps](#install-as-configmaps) or [Terraform](#install-as-configmaps-with-terraform), you will also need to enable and configure the `dashboards sidecar` on the Grafana Helm chart to get the dashboards loaded in your Grafana instance:\n\n```yaml\n# kube-prometheus-stack values\ngrafana:\n  sidecar:\n    dashboards:\n      enabled: true\n      defaultFolderName: \"General\"\n      label: grafana_dashboard\n      labelValue: \"1\"\n      folderAnnotation: grafana_folder\n      searchNamespace: ALL\n      provider:\n        foldersFromFilesStructure: true\n```\n\n### Install manually\n\nIn your Grafana instance, put your mouse over the `+` sign on the left menu, then click on `Import`.\\\nOnce you are on the Import page, you can upload the JSON files one by one from your local copy using the `Upload JSON file` button.\n\n### Install via grafana.com\n\nIn your Grafana instance, put your mouse over the `+` sign on the left menu, then click on `Import`.\\\nOnce you are on the Import page, you can put the grafana.com dashboard ID (see table below) under `Import via grafana.com` then click on the `Load` button. Repeat for each dashboard.\n\nGrafana.com dashboard id list:\n\n| Dashboard                          | ID    |\n|:-----------------------------------|:------|\n| k8s-addons-prometheus.json         | 19105 |\n| k8s-addons-trivy-operator.json     | 16337 |\n| k8s-system-api-server.json         | 15761 |\n| k8s-system-coredns.json            | 15762 |\n| k8s-views-global.json              | 15757 |\n| k8s-views-namespaces.json          | 15758 |\n| k8s-views-nodes.json               | 15759 |\n| k8s-views-pods.json                | 15760 |\n\n### Install with ArgoCD\n\nIf you are using ArgoCD, this will deploy the dashboards in the default project of ArgoCD:\n\n```terminal\nkubectl apply -f argocd-app.yml\n```\n\nYou will also need to enable and configure the Grafana `dashboards sidecar` as described in [Installation](#installation).\n\n### Install with Helm values\n\nIf you use the official Grafana helm chart or kube-prometheus-stack, you can install the dashboards directly using the `dashboardProviders` & `dashboards` helm chart values.\n\nDepending on your setup, add or merge the following block example to your helm chart values.\\\nThe example is for [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack), for the official [Grafana helm chart](https://github.com/grafana/helm-charts/tree/main/charts/grafana), remove the first line (`grafana:`), and reduce the indentation level of the entire block.\n\n```yaml\ngrafana:\n  # Provision grafana-dashboards-kubernetes\n  dashboardProviders:\n    dashboardproviders.yaml:\n      apiVersion: 1\n      providers:\n      - name: 'grafana-dashboards-kubernetes'\n        orgId: 1\n        folder: 'Kubernetes'\n        type: file\n        disableDeletion: true\n        editable: true\n        options:\n          path: /var/lib/grafana/dashboards/grafana-dashboards-kubernetes\n  dashboards:\n    grafana-dashboards-kubernetes:\n      k8s-system-api-server:\n        url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-system-api-server.json\n        token: ''\n      k8s-system-coredns:\n        url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-system-coredns.json\n        token: ''\n      k8s-views-global:\n        url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-global.json\n        token: ''\n      k8s-views-namespaces:\n        url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-namespaces.json\n        token: ''\n      k8s-views-nodes:\n        url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-nodes.json\n        token: ''\n      k8s-views-pods:\n        url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-pods.json\n        token: ''\n```\n\n### Install as ConfigMaps\n\nGrafana dashboards can be provisioned as Kubernetes ConfigMaps if you configure the [dashboard sidecar](https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml#L667) available on the official [Grafana Helm ","default_branch":"master","files":23,"tree":[".github/CODEOWNERS",".github/ISSUE_TEMPLATE/bug_report.yml",".github/ISSUE_TEMPLATE/feature_request.yml",".github/PULL_REQUEST_TEMPLATE.md",".github/workflows/pre-commit-checks.yml",".github/workflows/release.yml",".pre-commit-config.yaml",".releaserc.json","CODE_OF_CONDUCT.md","CONTRIBUTING.md","LICENSE","README.md","argocd-app.yml","dashboards/.templateignore","dashboards/k8s-addons-prometheus.json","dashboards/k8s-addons-trivy-operator.json","dashboards/k8s-system-api-server.json","dashboards/k8s-system-coredns.json","dashboards/k8s-views-global.json","dashboards/k8s-views-namespaces.json","dashboards/k8s-views-nodes.json","dashboards/k8s-views-pods.json","kustomization.yaml"],"storefront":"/r/dotdc","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dotdc/grafana-dashboards-kubernetes/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}