stable/wavefront - update to use 1.0.x based wavefront collector (#18690)

* Update to use 1.0.x based collector

Signed-off-by: Pierre Tessier <pierre@pierretessier.com>

* Fixed lint failures

Signed-off-by: Pierre Tessier <pierre@pierretessier.com>
This commit is contained in:
Pierre Tessier
2019-11-08 09:54:52 -08:00
committed by Kubernetes Prow Robot
parent c5eed59e1f
commit aeb03af0e2
13 changed files with 536 additions and 133 deletions
+3 -5
View File
@@ -1,8 +1,8 @@
apiVersion: v1
name: wavefront
description: Wavefront Kubernetes collector
appVersion: 0.9.7
version: 1.0.0
appVersion: 1.0.3
version: 1.1.0
keywords:
- metric
- monitoring
@@ -10,12 +10,10 @@ keywords:
- alerting
home: https://www.wavefront.com
sources:
- https://github.com/wavefrontHQ/wavefront-kubernetes-collector
- https://github.com/wavefrontHQ/wavefront-collector-for-kubernetes
- https://github.com/wavefrontHQ/java/tree/master/proxy
maintainers:
- name: vikramraman
email: rvikram@vmware.com
- name: puckpuck
email: pierre@wavefront.com
- name: krisclarkdev
email: clarkk@vmware.com
-2
View File
@@ -1,8 +1,6 @@
approvers:
- vikramraman
- puckpuck
- krisclarkdev
reviewers:
- vikramraman
- puckpuck
- krisclarkdev
+10 -3
View File
@@ -1,13 +1,13 @@
# Wavefront Kubenetes collector
# Wavefront Collector for Kubernetes
[Wavefront](https://wavefront.com) is a cloud-native monitoring and analytics platform that provides
three dimensional microservices observability with metrics, histograms and OpenTracing-compatible distributed tracing.
## Introduction
This chart will deploy the Wavefront Kubernetes collector and Wavefront Proxy to your
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 Kubernetes collector per cluster should be used.
though only one Wavefront Collector for Kubernetes per cluster should be used.
You can learn more about the Wavefront and Kubernetes integration [here](https://docs.wavefront.com/wavefront_kubernetes.html)
@@ -18,3 +18,10 @@ 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.
## Upgrading
### Upgrading from 1.0
Openshift support has been removed from the helm chart. Use the Wavefront Openshift operator available [here](https://github.com/wavefrontHQ/wavefront-collector-for-kubernetes/tree/master/deploy/openshift) instead.
The `collector.kubernetesSource` parameter has been replaced with the `collector.useReadOnlyPort` option.
@@ -0,0 +1,194 @@
## Discovery configuration examples
## Use the sections below in your values file to enable auto-discovery
## Some of these will require you to sepcify some details specific to your environment such as user/passwords
## Ensure you include the following object structure (collector.discovery.config),
## then copy / paste the appropriate snippets you need below
collector:
discovery:
config:
# activemq
- name: activemq
type: telegraf/activemq
selectors:
images:
- "*activemq*"
conf: |
server = "${host}"
port = 8161
username = "admin"
password = "admin"
webadmin = "admin"
# apache httpd
- name: apache
type: telegraf/apache
selectors:
images:
- 'httpd*'
- '*httpd*'
port: 80
conf: |
urls = ["http://${host}:${port}/server-status?auto"]
# consul
- name: consul
type: telegraf/consul
selectors:
images:
- 'consul*'
port: 8500
conf: |
address = "${host}:${port}"
scheme = "http"
# couchbase
- name: couchbase
type: telegraf/couchbase
selectors:
images:
- 'couchbase/server:enterprise-6.0.1'
port: 8091
conf: |
servers = ["http://Administrator:password@${host}:${port}"]
# couchdb
- name: couchdb
type: telegraf/couchdb
selectors:
images:
- '*couchdb*'
port: 5984
conf: |
hosts = ["http://admin:password@${host}:${port}/_node/_local/_stats"]
# elasticsearch
- name: elasticsearch
type: telegraf/elasticsearch
selectors:
images:
- '*elastic*'
port: 9200
conf: |
servers = ["http://${host}:${port}"]
local = false
cluster_health = true
cluster_stats = true
# haProxy
- name: haproxy
type: telegraf/haproxy
selectors:
images:
- "*haproxy*"
port: 8181
conf: |
servers = ["http://username:password@${host}:${port}/haproxy?stats"]
# memcached
- name: memcached
type: telegraf/memcached
selectors:
images:
- 'memcached:*'
port: 11211
conf: |
servers = ["${host}:${port}"]
# mongodb
- name: mongodb
type: telegraf/mongodb
selectors:
images:
- 'mongo*'
port: 27017
conf: |
servers = ["mongodb://main_admin:abc123@${host}:${port}"]
# mysql
- name: mysql
type: telegraf/mysql
selectors:
images:
- "*sql*"
collection:
interval: "180s"
port: 3306
conf: |
servers = ["root:password@tcp(${host}:${port})/?tls=false"]
perf_events_statements_digest_text_limit = 120
perf_events_statements_limit = 250
perf_events_statements_time_limit = 86400
table_schema_databases = []
gather_process_list = true
gather_table_io_waits = true
gather_table_lock_waits = true
gather_index_io_waits = true
gather_event_waits = true
gather_file_events_stats = true
interval_slow = "30m"
# nginx
- name: nginx
type: telegraf/nginx
selectors:
images:
- 'nginx*'
port: 80
conf: |
urls = ["http://${host}:${port}/metrics"]
# nginx_plus
- name: nginx_plus
type: telegraf/nginx_plus
selectors:
images:
- 'nginxplus*'
conf: |
urls = ["http://${host}/api"]
# rabbitmq
- name: rabbitmq
type: telegraf/rabbitmq
selectors:
images:
- 'rabbitmq*'
conf: |
url = "http://${host}:15672"
username = "guest"
password = "guest"
# redis master and slaves
- name: redis
type: telegraf/redis
selectors:
images:
- 'redis:*'
- '*redis*'
port: 6379
scheme: "tcp"
conf: |
servers = ["${server}"]
# riak
- name: riak
type: telegraf/riak
selectors:
images:
- 'riak-kv:*'
- '*riak-kv:*'
port: 8098
conf: |
servers = ["http://${host}:${port}"]
# zookeeper
- name: zookeeper
type: telegraf/zookeeper
selectors:
images:
- '*zookeeper'
port: 2181
conf: |
servers = ["${host}:${port}"]
+3 -3
View File
@@ -1,6 +1,6 @@
dependencies:
- name: kube-state-metrics
repository: https://kubernetes-charts.storage.googleapis.com/
version: 0.13.0
digest: sha256:a009e6781117de69f26b9ac1e72267407f5f598642fd20043b88ad815915391c
generated: 2019-01-17T23:00:41.957053-05:00
version: 2.3.1
digest: sha256:6a42b6ed0c45affe9a5f5c88db2fa3223ea2cf1648bf59861308aac709471169
generated: 2019-08-25T19:41:26.435664-04:00
+1 -1
View File
@@ -1,5 +1,5 @@
dependencies:
- name: kube-state-metrics
version: ^0.8.0
version: ^2.2.1
repository: https://kubernetes-charts.storage.googleapis.com/
condition: kubeStateMetrics.enabled
-6
View File
@@ -58,10 +58,4 @@ Create the name of the service account to use
{{- end -}}
{{- end -}}
{{/*
Create template used as options for Wavefront sink in collector
*/}}
{{- define "wavefront.collector.sinkOptions" -}}
{{- printf "&clusterName=%s&includeLabels=%t&includeContainers=%t&prefix=%s" .Values.clusterName (default .Values.collector.includeLabels true) (default .Values.collector.includeContainers true) (default .Values.collector.prefix "kubernetes.") -}}
{{- end -}}
@@ -26,6 +26,14 @@ rules:
- get
- list
- watch
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- update
- create
- apiGroups:
- extensions
resources:
@@ -34,4 +42,7 @@ rules:
- get
- list
- watch
- nonResourceURLs: ["/metrics"]
verbs:
- get
{{- end }}
@@ -1,4 +1,4 @@
{{- if and .Values.collector.discovery.enabled .Values.collector.discovery.config }}
{{- if .Values.collector.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
@@ -10,5 +10,141 @@ metadata:
app.kubernetes.io/component: collector
name: {{ template "wavefront.collector.fullname" . }}-config
data:
{{ tpl (toYaml .Values.collector.discovery.config) . | indent 2 }}
config.yaml: |
clusterName: {{ .Values.clusterName }}
enableDiscovery: {{ .Values.collector.discovery.enabled }}
defaultCollectionInterval: {{ .Values.collector.interval | default "60s" }}
flushInterval: {{ .Values.collector.flushInterval | default "10s" }}
sinkExportDataTimeout: {{ .Values.collector.sinkDelay | default "20s" }}
sinks:
{{- if .Values.collector.useProxy }}
{{- if .Values.collector.proxyAddress }}
- proxyAddress: {{ .Values.collector.proxyAddress }}
{{- else }}
- proxyAddress: {{ template "wavefront.proxy.fullname" . }}:{{ .Values.proxy.port }}
{{- end }}
{{- else }}
- server: {{ .Values.wavefront.url }}
token: {{ .Values.wavefront.token }}
{{- end }}
{{- if .Values.collector.tags }}
tags:
{{ tpl (toYaml .Values.collector.tags) . | indent 8 }}
{{- end }}
filters:
# Filter out infrequently used kube-state-metrics.
metricBlacklist:
- 'kube.configmap.annotations.gauge'
- 'kube.configmap.metadata.resource.version.gauge'
- 'kube.endpoint.*'
- 'kube.job.owner.gauge'
- 'kube.job.labels.gauge'
- 'kube.job.spec.completions.gauge'
- 'kube.job.spec.parallelism.gauge'
- 'kube.job.status.start.time.gauge'
- 'kube.limitrange.*'
- 'kube.namespace.annotations.gauge'
- 'kube.persistentvolume.*'
- 'kube.persistentvolumeclaim.*'
- 'kube.pod.container.resource.limits.*'
- 'kube.pod.container.*.reason.gauge'
- 'kube.pod.owner.gauge'
- 'kube.pod.start.time.gauge'
- 'kube.pod.status.scheduled.gauge'
- 'kube.pod.status.scheduled.time.gauge'
- 'kube.replicationcontroller.created.gauge'
- 'kube.replicationcontroller.metadata.generation.gauge'
- 'kube.replicationcontroller.spec.replicas.gauge'
- 'kube.resourcequota.*'
- 'kube.secret.*'
- 'kube.statefulset.*'
- 'kube.storageclass.*'
# Filter out generated labels
tagExclude:
- 'label?controller?revision*'
- 'label?pod?template*'
sources:
kubernetes_source:
{{- if .Values.collector.useReadOnlyPort }}
url:
kubeletPort: 10255
kubeletHttps: false
{{- else }}
url: https://kubernetes.default.svc
kubeletPort: 10250
kubeletHttps: true
{{- end }}
{{- if .Values.serviceAccount.create }}
useServiceAccount: true
{{- else }}
useServiceAccount: false
{{- end }}
insecure: true
prefix: kubernetes.
filters:
metricBlacklist:
- 'kubernetes.sys_container.*'
- 'kubernetes.node.ephemeral_storage.*'
internal_stats_source:
prefix: kubernetes.
telegraf_sources:
- plugins: []
{{- if .Values.collector.apiServerMetrics }}
# Kubernetes API Server
prometheus_sources:
- url: https://kubernetes.default.svc.cluster.local:443/metrics
httpConfig:
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
prefix: kube.apiserver.
filters:
metricWhitelist:
- 'kube.apiserver.apiserver.*'
- 'kube.apiserver.etcd.*'
- 'kube.apiserver.process.*'
{{- end }}
{{- if .Values.collector.discovery.enabled }}
discovery:
{{- if .Values.collector.discovery.annotationPrefix }}
annotation_prefix: {{ .Values.collector.discovery.annotationPrefix | quote }}
{{- end }}
plugins:
# auto-discover kube DNS
- name: kube-dns-discovery
type: prometheus
selectors:
labels:
k8s-app:
- kube-dns
port: 10054
path: /metrics
scheme: http
prefix: kube.dns.
filters:
metricWhitelist:
- 'kube.dns.http.request.duration.microseconds'
- 'kube.dns.http.request.size.bytes'
- 'kube.dns.http.requests.total.counter'
- 'kube.dns.http.response.size.bytes'
- 'kube.dns.kubedns.dnsmasq.*'
- 'kube.dns.process.*'
{{- if .Values.collector.discovery.config }}
# user supplied discovery config
{{ tpl (toYaml .Values.collector.discovery.config) . | indent 6 }}
{{- end }}
{{- end }}
{{- end }}
@@ -0,0 +1,77 @@
{{- if and .Values.collector.enabled .Values.collector.useDaemonset }}
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app.kubernetes.io/name : {{ template "wavefront.fullname" . }}
helm.sh/chart: {{ template "wavefront.chart" . }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io.instance: {{ .Release.Name | quote }}
app.kubernetes.io/component: collector
name: {{ template "wavefront.collector.fullname" . }}
spec:
selector:
matchLabels:
app.kubernetes.io/name : {{ template "wavefront.fullname" .}}
app.kubernetes.io/component: collector
template:
metadata:
labels:
app.kubernetes.io/name : {{ template "wavefront.fullname" .}}
app.kubernetes.io/component: collector
spec:
tolerations:
- effect: NoSchedule
key: node.alpha.kubernetes.io/role
operator: Exists
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
serviceAccountName: {{ template "wavefront.collector.serviceAccountName" . }}
containers:
- name: wavefront-collector
image: {{ .Values.collector.image.repository }}:{{ .Values.collector.image.tag }}
imagePullPolicy: {{ .Values.collector.image.pullPolicy }}
command:
- /wavefront-collector
- --daemon=true
- --config-file=/etc/collector/config.yaml
{{- if .Values.collector.maxProcs }}
- --max-procs={{ .Values.collector.maxProcs }}
{{- end }}
{{- if .Values.collector.logLevel }}
- --log-level={{ .Values.collector.logLevel }}
{{- end }}
env:
- name: HOST_PROC
value: /host/proc
- name: POD_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: POD_NAMESPACE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
ports:
- containerPort: 8088
protocol: TCP
resources:
{{ toYaml .Values.collector.resources | indent 10 }}
volumeMounts:
- name: procfs
mountPath: /host/proc
readOnly: true
- name: config
mountPath: /etc/collector/
readOnly: true
volumes:
- name: procfs
hostPath:
path: /proc
- name: config
configMap:
name: {{ template "wavefront.collector.fullname" . }}-config
{{- end }}
@@ -1,4 +1,5 @@
{{- if .Values.collector.enabled }}
{{- if not .Values.collector.useDaemonset }}
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -28,57 +29,29 @@ spec:
imagePullPolicy: {{ .Values.collector.image.pullPolicy }}
command:
- /wavefront-collector
- --source={{ .Values.collector.kubernetesSource | default "kubernetes.summary_api:''" }}
{{- if and (.Values.kubeStateMetrics.enabled) (not .Values.collector.discovery.enabled) }}
- --source=prometheus:''?url=http://{{ .Release.Name }}-kube-state-metrics:{{ index .Values "kube-state-metrics" "service" "port" }}/metrics
{{- end }}
{{- if .Values.collector.useProxy }}
{{- if .Values.collector.proxyAddress }}
- --sink=wavefront:?proxyAddress={{ .Values.collector.proxyAddress }}{{ template "wavefront.collector.sinkOptions" . }}
{{- else }}
- --sink=wavefront:?proxyAddress={{ template "wavefront.proxy.fullname" . }}:{{ .Values.proxy.port }}{{ template "wavefront.collector.sinkOptions" . }}
{{- end }}
{{- else }}
- --sink=wavefront:?server={{ .Values.wavefront.url }}&token={{ .Values.wavefront.token }}{{ template "wavefront.collector.sinkOptions" . }}
{{- end }}
- --enable-discovery={{ .Values.collector.discovery.enabled }}
{{- if and .Values.collector.discovery.enabled .Values.collector.discovery.config }}
- --discovery-config=/etc/collector/config.yaml
{{- end }}
- --daemon=false
- --config-file=/etc/collector/config.yaml
{{- if .Values.collector.maxProcs }}
- --max-procs={{ .Values.collector.maxProcs }}
{{- end }}
{{- if .Values.collector.interval }}
- --metric-resolution={{ .Values.collector.interval }}
{{- end }}
{{- if .Values.collector.sinkDelay }}
- --sink-export-data-timeout={{ .Values.collector.sinkDelay }}
{{- end }}
{{- if .Values.collector.logVerbosity }}
- --v={{ .Values.collector.logVerbosity }}
{{- if .Values.collector.logLevel }}
- --log-level={{ .Values.collector.logLevel }}
{{- end }}
resources:
{{ toYaml .Values.collector.resources | indent 10 }}
volumeMounts:
{{- if and .Values.collector.discovery.enabled .Values.collector.discovery.config }}
- name: config
mountPath: /etc/collector/
readOnly: true
{{- end }}
{{- if not .Values.openshift.enabled }}
- name: ssl-certs
mountPath: /etc/ssl/certs
readOnly: true
{{- end }}
volumes:
{{- if and .Values.collector.discovery.enabled .Values.collector.discovery.config }}
- name: config
configMap:
name: {{ template "wavefront.collector.fullname" . }}-config
{{- end }}
{{- if not .Values.openshift.enabled }}
- name: ssl-certs
hostPath:
path: /etc/ssl/certs
{{- end }}
{{- end }}
{{- end }}
@@ -67,19 +67,10 @@ spec:
- name: preprocessor
mountPath: /etc/wavefront/wavefront-proxy/preprocessor
{{- end }}
{{- if .Values.openshift.enabled }}
- name: spool
mountPath: /var/spool/wavefront-proxy
{{- end }}
volumes:
{{- if .Values.proxy.preprocessor }}
- name: preprocessor
configMap:
name: {{ template "wavefront.proxy.fullname" . }}-preprocessor
{{- end }}
{{- if .Values.openshift.enabled }}
- name: spool
persistentVolumeClaim:
claimName: {{ .Values.openshift.pvcName | quote }}
{{- end }}
{{- end }}
+93 -69
View File
@@ -20,9 +20,33 @@ collector:
enabled: true
image:
repository: wavefronthq/wavefront-kubernetes-collector
tag: 0.9.7
tag: 1.0.3
pullPolicy: IfNotPresent
## If set to true, DaemonSet will be used for the collector.
## If set to false, Deployment will be used for the collector.
## Setting this to true is strongly recommended
useDaemonset: true
## max number of CPUs that can be used simultaneously. Less than 1 for default (number of cores)
# maxProcs: 0
## log level one of: info, debug, or trace. (default info)
# logLevel: info
## The resolution at which the collector will retain metrics. (default 60s)
# interval: 60s
## How often collected data is flushed (default 10s)
# flushInterval: 10s
## Timeout for exporting data (default 20s)
# sinkDelay: 20s
## If set to true, will use the unauthenticated real only port for the kubelet
## If set to false, will use the encrypted full access port for the kubelet (default false)
# useReadOnlyPort: false
## If set to true, metrics will be sent to Wavefront via a Wavefront Proxy.
## When true you must either specify a value for `collector.proxyAddress` or set `proxy.enabled` to true
## If set to false, metrics will be sent to Wavefront via the Direct Ingestion API
@@ -33,57 +57,64 @@ collector:
## Required if `collector.useProxy` is true and `proxy.enabled` is false
# proxyAddress: wavefront-proxy:2878
## This is the Kubelet summary api endpoint and options.
## Ref: https://github.com/wavefrontHQ/wavefront-kubernetes-collector/blob/master/docs/configuration.md#kubernetes-source
# kubernetesSource: kubernetes.summary_api:''
## If using Openshift (see below to enable) use the following for kubernetesSource
# kubernetesSource: kubernetes.summary_api:${MASTER_URL}?useServiceAccount=true&kubeletHttps=true&kubeletPort=10250
## If set to true Kubernetes API Server will also be scraped for metrics (default false)
# apiServerMetrics: false
## If set to true, any Kubernetes labels will be applied to metrics as tags. Defaults to false.
includeLabels: true
## Map of tags to apply to all metrics collected by the collector (default empty)
# tags:
## sample tags to include (env, region)
# env: production
# region: us-west-2
## If set to true, all container metrics will be sent to Wavefront.
## When set to false, container level metrics are skipped (pod level and above are still sent to Wavefront). Defaults to true.
# includeContainers: true
## The global prefix to be added for Kubernetes metrics. Defaults to `kubernetes.`.
## This does not apply to other sources. Use source level prefixes for sources other than the Kubernetes source.
# prefix: kubernetes.
## max number of CPUs that can be used simultaneously. Less than 1 for default (number of cores)
# maxProcs: 0
## The resolution at which the collector will retain metrics. (default 1m)
# interval: 1m
## Timeout for exporting data (default 20s)
# sinkDelay: 20s
## log level. Uses V logs (glog)
# logVerbosity: 0
## Discovery capabilities of Wavefront Collector
## Rules based discovery configuration
## Ref: https://github.com/wavefrontHQ/wavefront-kubernetes-collector/blob/master/docs/discovery.md
discovery:
enabled: true
## Rules based discovery collection configuration
## Ref: https://github.com/wavefrontHQ/wavefront-kubernetes-collector/blob/master/docs/discovery.md#rules-based-discovery
## When specified, this replaces `prometheus.io` as the prefix for annotations used to
## auto-discover Prometheus endpoints
# annotationPrefix: "wavefront.com"
## Can be used to add additional discovery rules
# config:
# config.yaml: |
# global:
# discovery_interval: 10m
# prom_configs:
# - name: kube-dns-discovery
# labels:
# k8s-app: kube-dns
# port: 10055
# path: /metrics
# scheme: http
# source: kube-dns
# prefix: kube.dns.
# tags:
# env: prod
# collector: wavefront-collector
## auto-discover a sample prometheus application
# - name: prom-example
# type: prometheus
# selectors:
# labels:
# k8s-app:
# - prom-example
# port: 8080
# path: /metrics
# prefix: kube.prom-example.
# tags:
# alt_name: sample-app
## auto-discover mongodb pods (replace USER:PASSWORD)
# - name: mongodb
# type: telegraf/mongodb
# selectors:
# images:
# - '*mongodb:*'
# port: 27017
# conf: |
# servers = ["mongodb://USER:PASSWORD${host}:${port}"]
# gather_perdb_stats = true
# filters:
# metricBlacklist:
# - 'mongodb.member.status'
# - 'mongodb.state'
# - 'mongodb.db.stats.type'
## auto-discover rabbitmq pods (replace USER and PASSWORD)
# - name: rabbitmq
# type: telegraf/rabbitmq
# selectors:
# images:
# - '*rabbitmq:*'
# port: 15672
# conf: |
# url = "http://${host}:${port}"
# username = "USER"
# password = "PASSWORD"
## Wavefront Collector resource requests and limits
## Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class
@@ -107,7 +138,7 @@ proxy:
enabled: true
image:
repository: wavefronthq/proxy
tag: 4.35
tag: 4.38
pullPolicy: IfNotPresent
## The port number the proxy will listen on for metrics in Wavefront data format.
@@ -149,16 +180,21 @@ proxy:
## through the proxy. You can configure the rules here. By default a rule to drop Kubernetes
## generated labels is applied to remove unecessary and often noisy tags.
## Ref: https://docs.wavefront.com/proxies_preprocessor_rules.html
preprocessor:
rules.yaml: |
'2878':
- rule : drop-generated-label-tags
action : dropTag
tag : label\.(controller-revision-hash|pod-template-.*|.*kubernetes\.io.*)
# - rule : add-cluster-tag
# action : addTag
# tag : cluster
# value : {{ .Values.clusterName | quote }}
# preprocessor:
# rules.yaml: |
# '2878':
# # fix %2F to be a / instead. May be required on EKS.
# - rule : fix-forward-slash
# action : replaceRegex
# scope : pointLine
# search : "%2F"
# replace : "/"
# # replace bad characters ("&", "$", "!", "@") with underscores in the entire point line string
# - rule : replace-badchars
# action : replaceRegex
# scope : pointLine
# search : "[&\\$!@]"
# replace : "_"
## Specifies whether RBAC resources should be created
@@ -180,15 +216,3 @@ serviceAccount:
## will be configured to capture metrics.
kubeStateMetrics:
enabled: true
## Openshift integration can be enabled here
## If enabled is true, you must specify `collector.kubernetesSource` to be a valid
## summary api endpoint within your Openshift environment.
openshift:
enabled: false
## Wavefront proxy requires a persistent volume claim for its metrics buffers in Openshift
## If `proxy.enabled` is true, this must be set to the name of a persistent volume claim
## that the proxy can use for its buffers.
# pvcName: wavefront-storage