Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 1.8 KB

influxdb.md

File metadata and controls

34 lines (24 loc) · 1.8 KB

Run Heapster in a Kubernetes cluster with an InfluxDB backend and a Grafana UI

Setup a Kubernetes cluster

Bring up a Kubernetes cluster, if you haven't already. Ensure that kubecfg.sh is exported.

Start all of the pods and services

$ kubectl create -f deploy/kube-config/influxdb/

Grafana service by default requests for a LoadBalancer. If that is not available in your cluster, consider changing that to NodePort. Use the external IP assigned to the Grafana service, to access Grafana. The default user name and password is 'admin'. Once you login to Grafana, add a datasource that is InfluxDB. The URL for InfluxDB will be http://localhost:8086. Database name is 'k8s'. Default user name and password is 'root'. Grafana documentation for InfluxDB here.

Take a look at the storage schema to understand how metrics are stored in InfluxDB.

A sample Grafana dashboard for Kubernetes clusters [here](./Grafana Dashboard.json). You can import this dashboard in Grafana.

Troubleshooting guide

  1. If the Grafana service is not accessible, chances are it might not be running. Use kubectl.sh to verify that the heapster and influxdb & grafana pods are alive.

$ kubectl get pods ```

```shell

$ kubectl get services ```

  1. To access the InfluxDB UI, you will have to make the InfluxDB service externally visible, similar to how Grafana is made publicly accessible.

  2. If you find InfluxDB to be using up a lot of CPU or memory, consider placing resource restrictions on the InfluxDB & Grafana pod. You can add cpu: <millicores> and memory: <bytes> in the Controller Spec and relaunch the controllers: