Note: We deprecated the Helm installed Wavefront Collector for Kubernetes and Wavefront proxy on Feb 28, 2023. Our new Kubernetes Operator replaces the Helm installed Wavefront Collector for Kubernetes and Wavefront proxy for all Kubernetes Distributions except for OpenShift Container Platform. For migration instructions and more information, see Obsolescence and Remediation.
Wavefront is a cloud-native monitoring and analytics platform that provides three dimensional microservices observability with metrics, histograms and OpenTracing-compatible distributed tracing.
This chart will deploy the Wavefront Collector for Kubernetes and Wavefront Proxy to your Kubernetes cluster. You can use this chart to install multiple Wavefront Proxy releases, though only one Wavefront Collector for Kubernetes per cluster should be used.
You can learn more about the Wavefront and Kubernetes integration here
Helm 3+
If not already done, create a namespace to install this chart
helm repo add wavefront https://wavefronthq.github.io/helm/
helm repo update
kubectl create namespace wavefront
helm install wavefront wavefront/wavefront --namespace wavefront \
--set clusterName=<K8s-CLUSTER-NAME> \
--set wavefront.url=https://<YOUR_CLUSTER>.wavefront.com \
--set wavefront.token=<YOUR_API_TOKEN>
Helm 2
helm install wavefront/wavefront --name wavefront --namespace wavefront \
--set clusterName=<K8s-CLUSTER-NAME> \
--set wavefront.url=https://<YOUR_CLUSTER>.wavefront.com \
--set wavefront.token=<YOUR_API_TOKEN>
The values.yaml file contains information about all configuration options for this chart.
The requried options are clusterName
, wavefront.url
and wavefront.token
.
You will need to provide values for those options for a successful installation of the chart.
The following tables lists the configurable parameters of the Wavefront chart and their default values.
Parameter | Description | Default |
---|---|---|
clusterName |
Unique name for the Kubernetes cluster | KUBERNETES_CLUSTER_NAME |
wavefront.url |
Wavefront URL for your cluster | https://YOUR_CLUSTER.wavefront.com |
wavefront.token |
Wavefront API Token | YOUR_API_TOKEN |
collector.enabled |
Setup and enable the Wavefront collector to gather metrics | true |
collector.image.repository |
Wavefront collector image registry and name | projects.registry.vmware.com/tanzu_observability/kubernetes-collector |
collector.image.tag |
Wavefront collector image tag | {TAG_NAME} |
collector.image.pullPolicy |
Wavefront collector image pull policy | IfNotPresent |
collector.image.updateStrategy |
Wavefront collector updateStrategy | nil |
collector.useDaemonset |
Use Wavefront collector in Daemonset mode | true |
collector.maxProx |
Max number of CPU cores that can be used (< 1 for default) | 0 |
collector.logLevel |
Min logging level (info, debug, trace) | info |
collector.interval |
Default metrics collection interval | 60s |
collector.flushInterval |
How often to force a metrics flush | 10s |
collector.sinkDelay |
Timout for exporting data | 10s |
collector.useReadOnlyPort |
Use un-authenticated port for kubelet | false |
collector.useProxy |
Use a Wavefront Proxy to send metrics through | true |
collector.proxyAddress |
Non-default Wavefront Proxy address to use, should only be set when proxy.enabled is false |
nil |
collector.apiServerMetrics |
Collect metrics about Kubernetes API server | false |
collector.controlplane.enabled |
Enable control plane metrics see more | true |
collector.controlplane.collection.interval |
The collection interval for the control plane metrics | 120s |
collector.kubernetesState |
Collect metrics about Kubernetes resource states see more | true |
collector.cadvisor.enabled |
Enable cAdvisor prometheus endpoint. See the cAdvisor docs for details on what metrics are available. | false |
collector.filters |
Filters to apply towards all collected metrics | See values.yaml |
collector.tags |
Map of tags (key/value) to add to all metrics collected | nil |
collector.discovery.enabled |
Rules based and Prometheus endpoints auto-discovery | true |
collector.discovery.annotationPrefix |
Replaces prometheus.io as prefix for annotations of auto-discovered Prometheus endpoints |
prometheus.io |
collector.discovery.enableRuntimeConfigs |
Enable runtime discovery rules see more | true |
collector.discovery.annotationExcludes |
Exclude resources from annotation based auto-discovery see more | nil |
collector.discovery.config |
Configuration for rules based auto-discovery see more | nil |
collector.resources |
CPU/Memory resource requests/limits | CPU: 200m /200m , Memory: 10Mi /256Mi |
imagePullSecrets |
Enable Wavefront proxy and collector to pull from private image repositories. Note: secret must exist in namespace that will be used for the installation. | nil |
proxy.enabled |
Setup and enable Wavefront proxy to send metrics through | true |
proxy.image.repository |
Wavefront proxy image registry and name | projects.registry.vmware.com/tanzu_observability/proxy |
proxy.image.tag |
Wavefront proxy image tag | {TAG_NAME} |
proxy.image.pullPolicy |
Wavefront proxy image pull policy | IfNotPresent |
proxy.replicas |
Replicas to deploy for Wavefront proxy (usually 1) | 1 |
proxy.port |
Primary port for Wavefront data format metrics | 2878 |
proxy.httpProxyHost |
HTTP proxy host to be used in configurations when direct HTTP connections to Wavefront servers are not possible. Must be used with httpProxyPort. | nil |
proxy.httpProxyPort |
HTTP proxy port to be used in configurations when direct HTTP connections to Wavefront servers are not possible. Must be used with httpProxyHost. | nil |
proxy.useHttpProxyCAcert |
Enable HTTP proxy with CA cert. Must be used with httpProxyHost and httpProxyPort if set to true see more. | false |
proxy.httpProxyUser |
When used with httpProxyPassword, sets credentials to use with the HTTP proxy if the proxy requires authentication. | nil |
proxy.httpProxyPassword |
When used with httpProxyUser, sets credentials to use with the HTTP proxy if the proxy requires authentication. | nil |
proxy.tracePort |
Port for distributed tracing data (usually 30000) | nil |
proxy.jaegerPort |
Port for Jaeger format distributed tracing data (usually 30001) | nil |
proxy.traceJaegerHttpListenerPort |
Port for Jaeger Thrift format data (usually 30080) | nil |
proxy.traceJaegerGrpcListenerPort |
Port for Jaeger GRPC format data (usually 14250) | nil |
proxy.zipkinPort |
Port for Zipkin format distribued tracing data (usually 9411) | nil |
proxy.traceSamplingRate |
Distributed tracing data sampling rate (0 to 1) | nil |
proxy.traceSamplingDuration |
When set to greater than 0, spans that exceed this duration will force trace to be sampled (ms) | nil |
proxy.traceJaegerApplicationName |
Custom application name for traces received on Jaeger's traceJaegerListenerPorts or traceJaegerHttpListenerPorts. | nil |
proxy.traceZipkinApplicationName |
Custom application name for traces received on Zipkin's traceZipkinListenerPorts. | nil |
proxy.histogramPort |
Port for histogram distribution format data (usually 40000) | nil |
proxy.histogramMinutePort |
Port to accumulate 1-minute based histograms on Wavefront data format (usually 40001) | nil |
proxy.histogramHourPort |
Port to accumulate 1-hour based histograms on Wavefront data format (usually 40002) | nil |
proxy.histogramDayPort |
Port to accumulate 1-day based histograms on Wavefront data format (usually 40003) | nil |
proxy.deltaCounterPort |
Port to accumulate 1-minute delta counters on Wavefront data format (usually 50000) | nil |
proxy.args |
Additional Wavefront proxy properties to be passed as command line arguments in the --<property_name> <value> format. Multiple properties can be specified. See more |
nil |
proxy.heap |
Wavefront proxy Java heap maximum usage (java -Xmx command line option) | nil |
proxy.preprocessor.rules.yaml |
YAML configuraiton for Wavefront proxy preprocessor rules. See more | nil |
rbac.create |
Create RBAC resources | true |
serviceAccount.create |
Create Wavefront service account | true |
serviceAccount.name |
Name of Wavefront service account | nil |
kubeStateMetrics.enabled |
Setup and enable Kube State Metrics for collection | false |
vspheretanzu.enabled |
Enable and create role binding for vSphere with Tanzu kubernetes cluster | false |
To enable the HTTP proxy with CA cert, you will need to create a Kubernetes secret with your CA cert file:
kubectl create secret generic http-proxy-secret -n wavefront --from-file=tls-root-ca-bundle=<YOUR_CA_CERT_FILE>
You would also need to configure proxy.httpProxyHost
and proxy.httpProxyPort
to use your HTTP proxy host and port,
and set proxy.useHttpProxyCAcert
to true
.