Skip to content
This repository has been archived by the owner on May 16, 2023. It is now read-only.

[metricbeat] split values for daemonset and deployment #572

Merged
merged 15 commits into from
Apr 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 78 additions & 32 deletions metricbeat/README.md

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions metricbeat/examples/6.x/test/goss-metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ port:
- '127.0.0.1'

mount:
/usr/share/metricbeat/kube-state-metrics-metricbeat.yml:
/usr/share/metricbeat/metricbeat.yml:
exists: true
opts:
- ro
Expand All @@ -32,7 +32,6 @@ file:
/usr/share/metricbeat/metricbeat.yml:
exists: true
contains:
- 'add_kubernetes_metadata'
- 'output.elasticsearch'

command:
Expand Down
3 changes: 1 addition & 2 deletions metricbeat/examples/default/test/goss-metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ port:
- '127.0.0.1'

mount:
/usr/share/metricbeat/kube-state-metrics-metricbeat.yml:
/usr/share/metricbeat/metricbeat.yml:
exists: true
opts:
- ro
Expand Down Expand Up @@ -33,7 +33,6 @@ file:
/usr/share/metricbeat/metricbeat.yml:
exists: true
contains:
- 'add_kubernetes_metadata'
- 'output.elasticsearch'
- 'elasticsearch-master:9200'

Expand Down
3 changes: 1 addition & 2 deletions metricbeat/examples/oss/test/goss-metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ port:
- '127.0.0.1'

mount:
/usr/share/metricbeat/kube-state-metrics-metricbeat.yml:
/usr/share/metricbeat/metricbeat.yml:
exists: true
opts:
- ro
Expand All @@ -32,7 +32,6 @@ file:
/usr/share/metricbeat/metricbeat.yml:
exists: true
contains:
- 'add_kubernetes_metadata'
- 'output.elasticsearch'

command:
Expand Down
12 changes: 9 additions & 3 deletions metricbeat/examples/oss/values.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
image: docker.elastic.co/beats/metricbeat-oss

extraEnvs:
- name: ELASTICSEARCH_HOSTS
value: oss-master:9200
daemonset:
extraEnvs:
- name: ELASTICSEARCH_HOSTS
value: oss-master:9200

deployment:
extraEnvs:
- name: ELASTICSEARCH_HOSTS
value: oss-master:9200
3 changes: 1 addition & 2 deletions metricbeat/examples/security/test/goss-metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ port:
- '127.0.0.1'

mount:
/usr/share/metricbeat/kube-state-metrics-metricbeat.yml:
/usr/share/metricbeat/metricbeat.yml:
exists: true
opts:
- ro
Expand Down Expand Up @@ -38,7 +38,6 @@ file:
/usr/share/metricbeat/metricbeat.yml:
exists: true
contains:
- 'add_kubernetes_metadata'
- 'output.elasticsearch'

command:
Expand Down
193 changes: 106 additions & 87 deletions metricbeat/examples/security/values.yaml
Original file line number Diff line number Diff line change
@@ -1,91 +1,110 @@
metricbeatConfig:
metricbeat.yml: |
metricbeat.modules:
- module: kubernetes
metricsets:
- container
- node
- pod
- system
- volume
period: 10s
host: "${NODE_NAME}"
hosts: ["https://${NODE_NAME}:10250"]
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
ssl.verification_mode: "none"
# If using Red Hat OpenShift remove ssl.verification_mode entry and
# uncomment these settings:
#ssl.certificate_authorities:
#- /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
processors:
- add_kubernetes_metadata: ~
- module: kubernetes
enabled: true
metricsets:
- event
- module: system
period: 10s
metricsets:
- cpu
- load
- memory
- network
- process
- process_summary
processes: ['.*']
process.include_top_n:
by_cpu: 5
by_memory: 5
- module: system
period: 1m
metricsets:
- filesystem
- fsstat
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib)($|/)'

output.elasticsearch:
username: '${ELASTICSEARCH_USERNAME}'
password: '${ELASTICSEARCH_PASSWORD}'
protocol: https
hosts: ["security-master:9200"]
ssl.certificate_authorities:
- /usr/share/metricbeat/config/certs/elastic-certificate.pem

kube-state-metrics-metricbeat.yml: |
metricbeat.modules:
- module: kubernetes
enabled: true
metricsets:
- state_node
- state_deployment
- state_replicaset
- state_pod
- state_container
period: 10s
hosts: ["${KUBE_STATE_METRICS_HOSTS}"]
output.elasticsearch:
username: '${ELASTICSEARCH_USERNAME}'
password: '${ELASTICSEARCH_PASSWORD}'
protocol: https
hosts: ["security-master:9200"]
ssl.certificate_authorities:
- /usr/share/metricbeat/config/certs/elastic-certificate.pem

secretMounts:
daemonset:
extraEnvs:
- name: 'ELASTICSEARCH_USERNAME'
valueFrom:
secretKeyRef:
name: elastic-credentials
key: username
- name: 'ELASTICSEARCH_PASSWORD'
valueFrom:
secretKeyRef:
name: elastic-credentials
key: password
# Allows you to add any config files in /usr/share/metricbeat
# such as metricbeat.yml for daemonset
metricbeatConfig:
metricbeat.yml: |
metricbeat.modules:
- module: kubernetes
metricsets:
- container
- node
- pod
- system
- volume
period: 10s
host: "${NODE_NAME}"
hosts: ["https://${NODE_NAME}:10250"]
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
ssl.verification_mode: "none"
# If using Red Hat OpenShift remove ssl.verification_mode entry and
# uncomment these settings:
#ssl.certificate_authorities:
#- /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
processors:
- add_kubernetes_metadata: ~
- module: kubernetes
enabled: true
metricsets:
- event
- module: system
period: 10s
metricsets:
- cpu
- load
- memory
- network
- process
- process_summary
processes: ['.*']
process.include_top_n:
by_cpu: 5
by_memory: 5
- module: system
period: 1m
metricsets:
- filesystem
- fsstat
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib)($|/)'
output.elasticsearch:
username: '${ELASTICSEARCH_USERNAME}'
password: '${ELASTICSEARCH_PASSWORD}'
protocol: https
hosts: ["security-master:9200"]
ssl.certificate_authorities:
- /usr/share/metricbeat/config/certs/elastic-certificate.pem
secretMounts:
- name: elastic-certificate-pem
secretName: elastic-certificate-pem
path: /usr/share/metricbeat/config/certs

extraEnvs:
- name: 'ELASTICSEARCH_USERNAME'
valueFrom:
secretKeyRef:
name: elastic-credentials
key: username
- name: 'ELASTICSEARCH_PASSWORD'
valueFrom:
secretKeyRef:
name: elastic-credentials
key: password
deployment:
extraEnvs:
- name: 'ELASTICSEARCH_USERNAME'
valueFrom:
secretKeyRef:
name: elastic-credentials
key: username
- name: 'ELASTICSEARCH_PASSWORD'
valueFrom:
secretKeyRef:
name: elastic-credentials
key: password
# Allows you to add any config files in /usr/share/metricbeat
# such as metricbeat.yml for deployment
metricbeatConfig:
metricbeat.yml: |
metricbeat.modules:
- module: kubernetes
enabled: true
metricsets:
- state_node
- state_deployment
- state_replicaset
- state_pod
- state_container
period: 10s
hosts: ["${KUBE_STATE_METRICS_HOSTS}"]
output.elasticsearch:
username: '${ELASTICSEARCH_USERNAME}'
password: '${ELASTICSEARCH_PASSWORD}'
protocol: https
hosts: ["security-master:9200"]
ssl.certificate_authorities:
- /usr/share/metricbeat/config/certs/elastic-certificate.pem
secretMounts:
- name: elastic-certificate-pem
secretName: elastic-certificate-pem
path: /usr/share/metricbeat/config/certs
36 changes: 36 additions & 0 deletions metricbeat/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,39 @@ data:
{{ $config | indent 4 -}}
{{- end -}}
{{- end -}}

{{- if .Values.daemonset.metricbeatConfig }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "metricbeat.fullname" . }}-daemonset-config
labels:
app: "{{ template "metricbeat.fullname" . }}"
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
data:
{{- range $path, $config := .Values.daemonset.metricbeatConfig }}
{{ $path }}: |
{{ $config | indent 4 -}}
{{- end -}}
{{- end -}}

{{- if .Values.deployment.metricbeatConfig }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "metricbeat.fullname" . }}-deployment-config
labels:
app: "{{ template "metricbeat.fullname" . }}"
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
data:
{{- range $path, $config := .Values.deployment.metricbeatConfig }}
{{ $path }}: |
{{ $config | indent 4 -}}
{{- end -}}
{{- end -}}
Loading