Git Product home page Git Product logo

kubernetes-app's Introduction

Grafana App for Kubernetes

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

The Grafana Kubernetes App allows you to monitor your Kubernetes cluster's performance. It includes 4 dashboards, Cluster, Node, Pod/Container and Deployment. It allows for the automatic deployment of the required Prometheus exporters and a default scrape config to use with your in cluster Prometheus deployment. The metrics collected are high-level cluster and node stats as well as lower level pod and container stats. Use the high-level metrics to alert on and the low-level metrics to troubleshoot.

Container Dashboard

Container Dashboard

Node Dashboard

Requirements

  1. Currently only has support for Prometheus
  2. For automatic deployment of the exporters, then Kubernetes 1.6 or higher is required.
  3. Grafana 5.0.0+

Features

  • The app uses Kubernetes tags to allow you to filter pod metrics. Kubernetes clusters tend to have a lot of pods and a lot of pod metrics. The Pod/Container dashboard leverages the pod tags so you can easily find the relevant pod or pods.

  • Easy installation of exporters, either a one click deploy from Grafana or detailed instructions to deploy them manually them with kubectl (also quite easy!)

  • Cluster level metrics that are not available in Heapster, like CPU Capacity vs CPU Usage.

Cluster Metrics

  • Pod Capacity/Usage
  • Memory Capacity/Usage
  • CPU Capacity/Usage
  • Disk Capacity/Usage
  • Overview of Nodes, Pods and Containers

Node Metrics

  • CPU
  • Memory Available
  • Load per CPU
  • Read IOPS
  • Write IOPS
  • %Util
  • Network Traffic/second
  • Network Packets/second
  • Network Errors/second

Pod/Container Metrics

  • Memory Usage
  • Network Traffic
  • CPU Usage
  • Read IOPS
  • Write IOPS

Documentation

Installation

  1. Use the grafana-cli tool to install kubernetes from the commandline:
grafana-cli plugins install grafana-kubernetes-app
  1. Restart your Grafana server.

  2. Log into your Grafana instance. Navigate to the Plugins section, found in the Grafana main menu. Click the Apps tabs in the Plugins section and select the newly installed Kubernetes app. To enable the app, click the Config tab and click on the Enable button.

Connecting to your Cluster

  1. Go to the Cluster List page via the Kubernetes app menu.

    Cluster List in main menu

  2. Click the New Cluster button.

  3. Fill in the Auth details for your cluster.

    TLS certs/keys must be provided in plaintext, not base64 encoded form. For example:

    -----BEGIN CERTIFICATE-----
    MIQWQtAEFeqqfAFeAEGEQWIGNwEQNFGQ4AEFN35AKWadgAENGqiEGNIWm1QETDGF
    ...
    -----END CERTIFICATE-----
    

    All TLS certs/keys are from .kube/config, need base64 -d to decode:

    field comment
    CA Cert clusters.cluster.certificate-authority-data
    Client Cert users.user.client-certificate-data
    Client Key users.user.client-key-data
  4. Choose the Prometheus datasource that will be used for reading data in the dashboards.

  5. Click Deploy. This will deploy a Node Exporter DaemonSet, to collect health metrics for every node, and a Deployment that collects cluster metrics.

Feedback and Questions

Please submit any issues with the app on Github.

kubernetes-app's People

Contributors

daniellee avatar jtlisi avatar alexanderzobnin avatar mattttt avatar dancech avatar martin-helmich avatar daixiang0 avatar woodsaj avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.