anchor.diff:  
   This will change after Heapster, InfluxDB and Grafana are installed.
   
  -== Heapster
  +== Heapster, InfluxDB and Grafana
   
   https://github.com/kubernetes/heapster[Heapster] is a metrics aggregator and processor. It is installed as a cluster-wide pod. It gathers monitoring and events data for all containers on each node by talking to the Kubelet. Kubelet itself fetches this data from https://github.com/google/cadvisor[cAdvisor]. This data is persisted in a time series database https://github.com/influxdata/influxdb[InfluxDB] for storage. The data is then visualized using a using http://grafana.org/[Grafana] dashboard or can be viewed in Kubernetes Dashboard.
   
  
positive.code: 
  image::monitoring-pods-after.png[]
  
  == Prometheus
  
  http://prometheus.io/[Prometheus] is an open-source systems monitoring and alerting toolkit. Prometheus collects metrics from monitored targets by scraping metrics from HTTP endpoints on these targets.
  
  Different targets to scrape are defined in the Prometheus configuration file. Targets may be statically configured via the `static_configs` parameter in the configuration fle or dynamically discovered using one of the supported service-discovery mechanisms (Consul, DNS, Etcd, etc.).
  
  First in the file templates/prometheus-configmap.yaml modify the etcd section by replacing the IP address with the IP of your etcd server:
  
      - job_name: 'etcd'
      target_groups:
      - targets:
      - 172.17.4.51:4001
  
  To determine the IP address that your etcd cluster is listening on (if deployed into Kubernetes cluster), execute this command:
  
       kubectl get pods --namespace=kube-system
  
  etcd clusters deployed with the most recent version of kops use port 4001, if you have a newer version of etcd it will be listening on port 2379
  
  === Installation
  
  Once you have saved the etcd information into the file you can deploy the config map:
  
      kubectl create -f templates/prometheus-configmap.yaml
  
  Next deploy Prometheus into your cluster:
  
      kubectl create -f templates/prometheus-deployment.yaml
  
  You should now be able to open a browser to the public IP address of your master node at port 30900 to display the Prometheus dashboard.
  
  Finally we will deploy the node exporter DaemonSet which will read system level metrics from each node and export them to Prometheus:
  
      kubectl create -f templates/node-exporter.yaml
  
  
negative.code: 
  image::monitoring-grafana-dashboards.png[]
  
  The "`Cluster`" dashboard shows all worker nodes, and their CPU and memory metrics. Type in a node name to see its collected metrics during a chosen period of time.
  
  The cluster dashboard looks like:
  
  image::monitoring-grafana-dashboards-cluster.png[]
  
  The "`Pods`"" dashboard allows you to see resource utilization of every pod in the cluster. As with nodes, you can select the pod by typing its name in the top filter box.
  
  image::monitoring-grafana-dashboards-pods.png[]
  
  