diff --git a/wavefront/README.md b/wavefront/README.md index c31107ff..8748a18e 100644 --- a/wavefront/README.md +++ b/wavefront/README.md @@ -96,6 +96,9 @@ The following tables lists the configurable parameters of the Wavefront chart an | `proxy.args` | Additional Wavefront proxy properties to be passed as command line arguments in the `-- ` format. Multiple properties can be specified. [See more](https://docs.wavefront.com/proxies_configuring.html) | `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](https://docs.wavefront.com/proxies_preprocessor_rules.html) | `nil` | +| `proxy.filebeatPort` | The port number the proxy will listen on for logs Ingestion for filebeat (usually 5044) | `nil` | +| `proxy.rawLogsPort` | The port number the proxy will listen on for logs Ingestion (usually 5045) | `nil` | +| `proxy.logsingestion.logsingetsion.yaml` | YAML configuraiton for Wavefront logs ingestion rules. [See more](https://docs.wavefront.com/integrations_log_data.html) | `nil` | | `rbac.create` | Create RBAC resources | `true` | | `serviceAccount.create` | Create Wavefront service account | `true` | | `serviceAccount.name` | Name of Wavefront service account | `nil` | diff --git a/wavefront/templates/proxy-deployment.yaml b/wavefront/templates/proxy-deployment.yaml index 1eec7142..f04cfef7 100644 --- a/wavefront/templates/proxy-deployment.yaml +++ b/wavefront/templates/proxy-deployment.yaml @@ -49,6 +49,9 @@ spec: {{- if .Values.proxy.histogramDayPort }} --histogramDayListenerPorts {{ .Values.proxy.histogramDayPort }}{{- end -}} {{- if .Values.proxy.deltaCounterPort }} --deltaCounterPorts {{ .Values.proxy.deltaCounterPort }}{{- end -}} {{- if .Values.proxy.preprocessor }} --preprocessorConfigFile /etc/wavefront/wavefront-proxy/preprocessor/rules.yaml{{- end -}} + {{- if .Values.proxy.filebeatPort }} --filebeatPort {{ .Values.proxy.filebeatPort }}{{- end -}} + {{- if .Values.proxy.rawLogsPort }} --rawLogsPort {{ .Values.proxy.rawLogsPort }}{{- end -}} + {{- if .Values.proxy.logsingestion }} --logsingestionFile /etc/wavefront/wavefront-proxy/logsingestion.yaml{{- end -}} {{- if .Values.proxy.heap }} - name: JAVA_HEAP_USAGE value: {{ .Values.proxy.heap | quote }} @@ -101,6 +104,11 @@ spec: - name: preprocessor mountPath: /etc/wavefront/wavefront-proxy/preprocessor {{- end }} + {{- if .Values.proxy.logsingestion }} + - name: logsingestion + mountPath: /etc/wavefront/wavefront-proxy/logsingestion.yaml + subPath: logsingestion.yaml + {{- end }} {{- if .Values.proxy.priorityClassName }} priorityClassName: {{ .Values.proxy.priorityClassName }} {{- end }} @@ -114,4 +122,9 @@ spec: configMap: name: {{ template "wavefront.proxy.fullname" . }}-preprocessor {{- end }} + {{- if .Values.proxy.logsingestion }} + - name: logsingestion + configMap: + name: {{ template "wavefront.proxy.fullname" . }}-logsingestion + {{- end }} {{- end }} diff --git a/wavefront/templates/proxy-logsIngestion-config.yaml b/wavefront/templates/proxy-logsIngestion-config.yaml new file mode 100644 index 00000000..772085e6 --- /dev/null +++ b/wavefront/templates/proxy-logsIngestion-config.yaml @@ -0,0 +1,14 @@ +{{- if .Values.proxy.logsingestion }} +apiVersion: v1 +kind: ConfigMap +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: proxy + name: {{ template "wavefront.proxy.fullname" . }}-logsingestion +data: +{{ tpl (toYaml .Values.proxy.logsingestion) . | indent 2 }} +{{- end }} diff --git a/wavefront/templates/proxy-service.yaml b/wavefront/templates/proxy-service.yaml index d4df8948..042b1c0d 100644 --- a/wavefront/templates/proxy-service.yaml +++ b/wavefront/templates/proxy-service.yaml @@ -59,6 +59,16 @@ spec: port: {{ .Values.proxy.deltaCounterPort }} protocol: TCP {{- end }} + {{- if .Values.proxy.filebeatPort }} + - name: file-beat + port: {{ .Values.proxy.filebeatPort }} + protocol: TCP + {{- end }} + {{- if .Values.proxy.rawLogsPort }} + - name: raw-log + port: {{ .Values.proxy.rawLogsPort }} + protocol: TCP + {{- end }} selector: app.kubernetes.io/name : {{ template "wavefront.fullname" .}} app.kubernetes.io/component: proxy diff --git a/wavefront/values.yaml b/wavefront/values.yaml index c8a9488e..2a2df70c 100644 --- a/wavefront/values.yaml +++ b/wavefront/values.yaml @@ -300,6 +300,33 @@ proxy: # search : "[&\\$!@]" # replace : "_" + ## The port number the proxy will listen on for logs Ingestion(filebeat). + ## This is usually 5044 + # filebeatPort: 5044 + + ## The port number the proxy will listen on for logs Ingestion. + ## This is usually 5045 + # rawLogsPort: 5045 + + ## logs ingestion is way to parse logs and convert to metrics + ## Ref: https://docs.wavefront.com/integrations_log_data.html + # logsingestion: + # logsingestion.yaml: | + # aggregationIntervalSeconds: 5 + # counters: + # - pattern: ‘cpu:%{NUMBER:cpu}\tmem:%{NUMBER:mem}\tdisk:${NUMBER:disk}’ + # metricName: ‘log.test.lines’ + # gauges: + # - pattern: ‘cpu:%{NUMBER:cpu}\tmem:%{NUMBER:mem}\tdisk:${NUMBER:disk}’ + # metricName: ‘log.test.cpu’ + # valueLabel: ‘cpu’ + # - pattern: ‘cpu:%{NUMBER:cpu}\tmem:%{NUMBER:mem}\tdisk:${NUMBER:disk}’ + # metricName: ‘log.test.mem’ + # valueLabel: ‘mem’ + # - pattern: ‘cpu:%{NUMBER:cpu}\tmem:%{NUMBER:mem}\tdisk:${NUMBER:disk}’ + # metricName: ‘log.test.disk’ + # valueLabel: ‘disk’ + ## Specifies whether RBAC resources should be created rbac: