# README
wavefront-kubernetes-collector

This collector enables monitoring Kubernetes clusters and sending metrics to Wavefront.
The collector scrapes the Kubelet summary API for Kubernetes metrics (similar to heapster). It additionally supports scraping Prometheus metrics format endpoints.
Prerequisites
- Kubernetes 1.9+
Configuration
The collector is plugin-driven and supports collecting metrics from multiple sources and writing metrics to Wavefront using a Wavefront proxy or via direct ingestion.
See configuration doc for detailed configuration information.
Sources
Following sources are currently supported and can be configured using the --source
flag:
- Kubernetes source to collect performance metrics from the kubelet
/stats/summary
metrics API:
--source=kubernetes.summary_api:''
- Prometheus source to scrape metrics from Prometheus metrics format endpoints such as kube state metrics:
--source=prometheus:''?url=http://kube-state-metrics.kube-system.svc.cluster.local:8080/metrics
Multiple prometheus sources can be added to scrape additional endpoints.
Auto Discovery
The collector can auto discover pods and services that export Prometheus format metrics. See the discovery documentation for details.
Sending metrics to Wavefront
Using Wavefront Proxy
--sink=wavefront:?proxyAddress=wavefront-proxy.default.svc.cluster.local:2878&clusterName=k8s-cluster&includeLabels=true
Using Direct Ingestion
--sink=wavefront:?server=https://<YOUR_INSTANCE>.wavefront.com&token=<YOUR_TOKEN>&clusterName=k8s-cluster&includeLabels=true
Installation
- Clone this repo.
- Edit the
wavefront
sink indeploy/kubernetes/4-collector-deployment.yaml
. - Edit or remove the
prometheus
sink in the above file. - Run
kubectl apply -f deploy/kubernetes
To verify the installation, find the pod name of the deployed wavefront-collector
and run:
kubectl logs -f COLLECTOR_POD_NAME -n wavefront-collector
OpenShift
This collector supports monitoring of Openshift Origin 3.9 clusters. See openshift.md for detailed installation instructions.