Skip to content

chakri-nelluri/heapster

 
 

Repository files navigation

Heapster

Heapster enables monitoring of clusters using cAdvisor.

Heapster supports Kubernetes natively and collects resource usage of all the pods running in the cluster. It was built to showcase the power of core Kubernetes concepts like labels and pods and the awesomeness that is cAdvisor.

Running Heapster on Kubernetes

To run Heapster on a Kubernetes cluster targetting InfluxDB and Grafana use this guide. Alternatively you can also use Google Cloud Monitoring with this guide.

While running on Kubernetes, Heapster does the following:

  1. Discovers all minions in a Kubernetes cluster
  2. Collects container statistics from the kubelets running on the nodes
  3. Organizes stats into pods and adds Kubernetes-specific metadata
  4. Stores pod stats in a configurable backend

Along with each container stat entry, its pod ID, container name, pod IP, hostname and labels are also stored. Labels are stored as key:value pairs.

Heapster currently supports InfluxDB, Google Cloud Monitoring, and BigQuery backends. We welcome patches that add additional storage backends.

Running outside of Kubernetes

Heapster can be used to enable cluster-wide monitoring on other cluster management solutions by running a simple cluster-specific buddy container that will help Heapster with discovery of hosts. For example, take a look at this guide for setting up cluster monitoring in CoreOS without using Kubernetes.

It is also possible to run Heapster standalone on a host with cAdvisor using this guide.

Community

Contributions, questions, and comments are all welcomed and encouraged! Heapster and cAdvisor developers hang out in the #google-containers room on freenode.net. You can also reach us on the google-containers Google Groups mailing list.

About

Monitor container resource usage of a Kubernetes cluster

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 96.4%
  • Shell 3.5%
  • Makefile 0.1%