Skip to content

Commit

Permalink
feat: change instrumentation related k8s objects (#2647)
Browse files Browse the repository at this point in the history
rename otelagent to otelcol-instrumentation switch from daemonset to statefulset
rename otelcol to traces-sampler
rename otel-gateway to traces-gateway
moves processors like resource, source, resourcedetection from traces-sampler to otelcol-instrumentation
moves metrics exporter from traces-sampler to otelcol-instrumentation
cleanup services (deprecated ....otelcol and ....otelagent point to otelcol-instrumentation statefulset)
cleanup old traces values used in fluentd
enable port 8888 for otelcol-logs and otelcol-metrics by default
updates otel-distro version to 0.57.2-sumo-1
  • Loading branch information
mat-rumian committed Nov 30, 2022
1 parent 02740d5 commit b6c1ae0
Show file tree
Hide file tree
Showing 71 changed files with 1,429 additions and 1,457 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- chore!: upgrade tailing-sidecar-operator to v0.5.5 [#2661]
- feat(logs)!: switch from Fluent Bit to Otelcol as default logs collector [#2639]
- feat(events)!: switch from Fluentd to Otelcol as default events collector [#2640]
- feat!: change instrumentation related k8s objects [#2647]
- move parameters from `otelagent.enabled` to `otelcolInstrumentation.enabled`
- move `otelagent.daemonset.nodeSelector` to `otelcolInstrumentation.statefulset.nodeSelector`
- move `otelagent.daemonset.priorityClassName` to `otelcolInstrumentation.statefulset.priorityClassName`
- move `otelcol.deployment.replicas` to `tracesGateway.deployment.replicas`
- move `otelcol.deployment.nodeSelector` to `tracesGateway.deployment.nodeSelector`
- move `otelcol.deployment.priorityClassName` to `tracesGateway.deployment.priorityClassName`
- move `otelgateway.deployment.nodeSelector` to `tracesGateway.deployment.nodeSelector`

### Changed

Expand Down Expand Up @@ -139,6 +147,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[#2661]: https://github.com/SumoLogic/sumologic-kubernetes-collection/pull/2661
[#2639]: https://github.com/SumoLogic/sumologic-kubernetes-collection/pull/2639
[#2640]: https://github.com/SumoLogic/sumologic-kubernetes-collection/pull/2640
[#2647]: https://github.com/SumoLogic/sumologic-kubernetes-collection/pull/2647
[Unreleased]: https://github.com/SumoLogic/sumologic-kubernetes-collection/compare/v2.17.0...main
[telegraf_operator_comapare_1.3.5_and_1.3.10]: https://github.com/influxdata/helm-charts/compare/telegraf-operator-1.3.5...telegraf-operator-1.3.10
[cert-manager-1.4]: https://github.com/cert-manager/cert-manager/releases/tag/v1.4.0
Expand Down
689 changes: 355 additions & 334 deletions deploy/helm/sumologic/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ tpl (toYaml .Values.otelcolInstrumentation.config | replace ": '{{" ": {{" | replace "}}'" "}}") . | nindent 2 }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ tpl (toYaml .Values.tracesGateway.config | replace ": '{{" ": {{" | replace "}}'" "}}") . | nindent 2 }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- tpl (toYaml .Values.tracesSampler.config | replace ": '{{" ": {{" | replace "}}'" "}}") . | nindent 2 }}
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,30 @@
</filter>
{{- end }}

{{ if .Values.otelcol.logLevelFilter }}
{{ printf "<filter **%s**>" (include "sumologic.metadata.name.otelcol" .) }}
{{ if .Values.tracesSampler.logLevelFilter }}
{{ printf "<filter **%s**>" (include "sumologic.metadata.name.tracessampler" .) }}
@type grep
<regexp>
key log
# Select only known error/warning/fatal/panic levels or logs coming from one of the source known to provide useful data
pattern /\"level\":\"(error|warning|fatal|panic|dpanic)\"|\"caller\":\"(builder|service|kube|static)/
</regexp>
</filter>
{{- end }}

{{ if .Values.tracesGateway.logLevelFilter }}
{{ printf "<filter **%s**>" (include "sumologic.metadata.name.tracesgateway" .) }}
@type grep
<regexp>
key log
# Select only known error/warning/fatal/panic levels or logs coming from one of the source known to provide useful data
pattern /\"level\":\"(error|warning|fatal|panic|dpanic)\"|\"caller\":\"(builder|service|kube|static)/
</regexp>
</filter>
{{- end }}

{{ if .Values.otelcolInstrumentation.logLevelFilter }}
{{ printf "<filter **%s**>" (include "sumologic.metadata.name.otelcolinstrumentation" .) }}
@type grep
<regexp>
key log
Expand Down

This file was deleted.

1 change: 0 additions & 1 deletion deploy/helm/sumologic/conf/traces/traces.otelcol.conf.yaml

This file was deleted.

This file was deleted.

32 changes: 10 additions & 22 deletions deploy/helm/sumologic/templates/NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,32 +23,20 @@ We recommend turning this property on for production environments by setting met
{{- end }}
{{- end }}

{{- if eq .Values.sumologic.traces.enabled true }}
{{- if .Values.sumologic.traces.enabled }}

Please see https://help.sumologic.com/docs/apm/traces/get-started-transaction-tracing to find out
how to instrument your application and send traces.
The list of endpoints in your Kubernetes cluster to which traces can be sent:
{{- if eq .Values.otelagent.enabled false }}
- OTLP/http: http://{{ template "sumologic.metadata.name.otelcol.service" . }}.{{ .Release.Namespace }}:4318
- OTLP/gRPC: http://{{ template "sumologic.metadata.name.otelcol.service" . }}.{{ .Release.Namespace }}:4317
- OTLP/http/deprecated: http://{{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:55681
- Zipkin: http://{{ template "sumologic.metadata.name.otelcol.service" . }}.{{ .Release.Namespace }}:9411/api/v2/spans
- Jaeger/gRPC: http://{{ template "sumologic.metadata.name.otelcol.service" . }}.{{ .Release.Namespace }}:14250
- Jaeger/Thrift/http: http://{{ template "sumologic.metadata.name.otelcol.service" . }}.{{ .Release.Namespace }}:14268
- Jaeger/Thrift/compact: {{ template "sumologic.metadata.name.otelcol.service" . }}.{{ .Release.Namespace }}:6831
- Jaeger/Thrift/binary: {{ template "sumologic.metadata.name.otelcol.service" . }}.{{ .Release.Namespace }}:6832
- OpenCensus: http://{{ template "sumologic.metadata.name.otelcol.service" . }}.{{ .Release.Namespace }}:55678
{{- else }}
- OTLP/http: http://{{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:4318
- OTLP/gRPC: http://{{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:4317
- OTLP/http/deprecated: http://{{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:55681
- Zipkin: http://{{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:9411/api/v2/spans
- Jaeger/gRPC: http://{{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:14250
- Jaeger/Thrift/http: http://{{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:14268
- Jaeger/Thrift/compact: {{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:6831
- Jaeger/Thrift/binary: {{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:6832
- OpenCensus: http://{{ template "sumologic.metadata.name.otelagent.service" . }}.{{ .Release.Namespace }}:55678
{{- end }}
- OTLP/http: http://{{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:4318
- OTLP/gRPC: http://{{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:4317
- OTLP/http/deprecated: http://{{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:55681
- Zipkin: http://{{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:9411/api/v2/spans
- Jaeger/gRPC: http://{{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:14250
- Jaeger/Thrift/http: http://{{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:14268
- Jaeger/Thrift/compact: {{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:6831
- Jaeger/Thrift/binary: {{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:6832
- OpenCensus: http://{{ template "sumologic.metadata.name.instrumentation.otelagent.service" . }}.{{ .Release.Namespace }}:55678
{{- end }}

We've tried to automatically create fields. In an unlikely scenario that this
Expand Down
175 changes: 87 additions & 88 deletions deploy/helm/sumologic/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -195,76 +195,80 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
{{- template "sumologic.fullname" . }}-otelcol
{{- end -}}

{{- define "sumologic.labels.app.otelcol.pod" -}}
{{- template "sumologic.labels.app.otelcol" . }}
{{- define "sumologic.labels.app.tracessampler" -}}
{{- template "sumologic.fullname" . }}-traces-sampler
{{- end -}}

{{- define "sumologic.labels.app.otelcol.service" -}}
{{- template "sumologic.labels.app.otelcol" . }}
{{- define "sumologic.labels.app.tracessampler.pod" -}}
{{- template "sumologic.labels.app.tracessampler" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelcol.service-headless" -}}
{{- template "sumologic.labels.app.otelcol.service" . }}-headless
{{- define "sumologic.labels.app.tracessampler.service" -}}
{{- template "sumologic.labels.app.tracessampler" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelcol.service-metrics" -}}
{{- template "sumologic.labels.app.otelcol.service" . }}-instr-metrics
{{- define "sumologic.labels.app.tracessampler.service-headless" -}}
{{- template "sumologic.labels.app.tracessampler.service" . }}-headless
{{- end -}}

{{- define "sumologic.labels.app.otelcol.configmap" -}}
{{- template "sumologic.labels.app.metrics" . }}
{{- define "sumologic.labels.app.tracessampler.service-metrics" -}}
{{- template "sumologic.labels.app.tracessampler.service" . }}-instr-metrics
{{- end -}}

{{- define "sumologic.labels.app.tracessampler.configmap" -}}
{{- template "sumologic.labels.app.tracessampler" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelcol.deployment" -}}
{{- template "sumologic.labels.app.otelcol" . }}
{{- define "sumologic.labels.app.tracessampler.deployment" -}}
{{- template "sumologic.labels.app.tracessampler" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelagent" -}}
{{- template "sumologic.fullname" . }}-otelagent
{{- define "sumologic.labels.app.otelcolinstrumentation" -}}
{{- template "sumologic.fullname" . }}-otelcol-instrumentation
{{- end -}}

{{- define "sumologic.labels.app.otelagent.pod" -}}
{{- template "sumologic.labels.app.otelagent" . }}
{{- define "sumologic.labels.app.otelcolinstrumentation.pod" -}}
{{- template "sumologic.labels.app.otelcolinstrumentation" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelagent.service" -}}
{{- template "sumologic.labels.app.otelagent" . }}
{{- define "sumologic.labels.app.otelcolinstrumentation.service" -}}
{{- template "sumologic.labels.app.otelcolinstrumentation" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelagent.configmap" -}}
{{- template "sumologic.labels.app.otelagent" . }}
{{- define "sumologic.labels.app.otelcolinstrumentation.configmap" -}}
{{- template "sumologic.labels.app.otelcolinstrumentation" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelagent.daemonset" -}}
{{- template "sumologic.labels.app.otelagent" . }}
{{- define "sumologic.labels.app.otelcolinstrumentation.statefulset" -}}
{{- template "sumologic.labels.app.otelcolinstrumentation" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelagent.component" -}}
{{- template "sumologic.labels.app.otelagent" . }}-component
{{- define "sumologic.labels.app.otelcolinstrumentation.component" -}}
{{- template "sumologic.labels.app.otelcolinstrumentation" . }}-component
{{- end -}}

{{- define "sumologic.labels.app.otelgateway" -}}
{{- template "sumologic.fullname" . }}-otelgateway
{{- define "sumologic.labels.app.tracesgateway" -}}
{{- template "sumologic.fullname" . }}-traces-gateway
{{- end -}}

{{- define "sumologic.labels.app.otelgateway.pod" -}}
{{- template "sumologic.labels.app.otelgateway" . }}
{{- define "sumologic.labels.app.tracesgateway.pod" -}}
{{- template "sumologic.labels.app.tracesgateway" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelgateway.service" -}}
{{- template "sumologic.labels.app.otelgateway" . }}
{{- define "sumologic.labels.app.tracesgateway.service" -}}
{{- template "sumologic.labels.app.tracesgateway" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelgateway.configmap" -}}
{{- template "sumologic.labels.app.otelgateway" . }}
{{- define "sumologic.labels.app.tracesgateway.configmap" -}}
{{- template "sumologic.labels.app.tracesgateway" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelgateway.deployment" -}}
{{- template "sumologic.labels.app.otelgateway" . }}
{{- define "sumologic.labels.app.tracesgateway.deployment" -}}
{{- template "sumologic.labels.app.tracesgateway" . }}
{{- end -}}

{{- define "sumologic.labels.app.otelgateway.component" -}}
{{- template "sumologic.labels.app.otelgateway" . }}-component
{{- define "sumologic.labels.app.tracesgateway.component" -}}
{{- template "sumologic.labels.app.tracesgateway" . }}-component
{{- end -}}

{{- define "sumologic.labels.app.remoteWriteProxy" -}}
Expand Down Expand Up @@ -527,56 +531,56 @@ helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
{{ template "sumologic.fullname" . }}-otelcol
{{- end -}}

{{- define "sumologic.metadata.name.otelcol.service" -}}
{{ template "sumologic.metadata.name.otelcol" . }}
{{- define "sumologic.metadata.name.tracessampler" -}}
{{ template "sumologic.fullname" . }}-traces-sampler
{{- end -}}

{{- define "sumologic.metadata.name.otelcol.service-headless" -}}
{{ template "sumologic.metadata.name.otelcol.service" . }}-headless
{{- define "sumologic.metadata.name.tracessampler.service" -}}
{{ template "sumologic.metadata.name.tracessampler" . }}
{{- end -}}

{{- define "sumologic.metadata.name.otelcol.service-metrics" -}}
{{ template "sumologic.metadata.name.otelcol" . }}-instr-metrics
{{- define "sumologic.metadata.name.tracessampler.service-headless" -}}
{{ template "sumologic.metadata.name.tracessampler.service" . }}-headless
{{- end -}}

{{- define "sumologic.metadata.name.otelcol.configmap" -}}
{{ template "sumologic.metadata.name.otelcol" . }}
{{- define "sumologic.metadata.name.tracessampler.configmap" -}}
{{ template "sumologic.metadata.name.tracessampler" . }}
{{- end -}}

{{- define "sumologic.metadata.name.otelcol.deployment" -}}
{{ template "sumologic.metadata.name.otelcol" . }}
{{- define "sumologic.metadata.name.tracessampler.deployment" -}}
{{ template "sumologic.metadata.name.tracessampler" . }}
{{- end -}}

{{- define "sumologic.metadata.name.otelagent" -}}
{{ template "sumologic.fullname" . }}-otelagent
{{- define "sumologic.metadata.name.otelcolinstrumentation" -}}
{{ template "sumologic.fullname" . }}-otelcol-instrumentation
{{- end -}}

{{- define "sumologic.metadata.name.otelagent.service" -}}
{{ template "sumologic.metadata.name.otelagent" . }}
{{- define "sumologic.metadata.name.otelcolinstrumentation.service" -}}
{{ template "sumologic.metadata.name.otelcolinstrumentation" . }}
{{- end -}}

{{- define "sumologic.metadata.name.otelagent.configmap" -}}
{{ template "sumologic.metadata.name.otelagent" . }}
{{- define "sumologic.metadata.name.otelcolinstrumentation.configmap" -}}
{{ template "sumologic.metadata.name.otelcolinstrumentation" . }}
{{- end -}}

{{- define "sumologic.metadata.name.otelagent.daemonset" -}}
{{ template "sumologic.metadata.name.otelagent" . }}
{{- define "sumologic.metadata.name.otelcolinstrumentation.statefulset" -}}
{{ template "sumologic.metadata.name.otelcolinstrumentation" . }}
{{- end -}}

{{- define "sumologic.metadata.name.otelgateway" -}}
{{ template "sumologic.fullname" . }}-otelgateway
{{- define "sumologic.metadata.name.tracesgateway" -}}
{{ template "sumologic.fullname" . }}-traces-gateway
{{- end -}}

{{- define "sumologic.metadata.name.otelgateway.service" -}}
{{ template "sumologic.metadata.name.otelgateway" . }}
{{- define "sumologic.metadata.name.tracesgateway.service" -}}
{{ template "sumologic.metadata.name.tracesgateway" . }}
{{- end -}}

{{- define "sumologic.metadata.name.otelgateway.configmap" -}}
{{ template "sumologic.metadata.name.otelgateway" . }}
{{- define "sumologic.metadata.name.tracesgateway.configmap" -}}
{{ template "sumologic.metadata.name.tracesgateway" . }}
{{- end -}}

{{- define "sumologic.metadata.name.otelgateway.deployment" -}}
{{ template "sumologic.metadata.name.otelgateway" . }}
{{- define "sumologic.metadata.name.tracesgateway.deployment" -}}
{{ template "sumologic.metadata.name.tracesgateway" . }}
{{- end -}}

{{- define "sumologic.metadata.name.remoteWriteProxy" -}}
Expand Down Expand Up @@ -703,7 +707,7 @@ sumologic.com/scrape: "true"
{{ template "sumologic.labels.events" . }}
{{- end -}}

{{- define "sumologic.labels.scrape.traces" -}}
{{- define "sumologic.labels.scrape.instrumentation" -}}
{{ template "sumologic.label.scrape" . }}
{{ template "sumologic.labels.traces.component" . }}
{{- end -}}
Expand All @@ -717,15 +721,19 @@ sumologic.com/scrape: "true"
{{ template "sumologic.fullname" . }}-priorityclass
{{- end -}}

{{- define "sumologic.metadata.name.instrumentation.deprecated.otelcol.service" -}}
{{ template "sumologic.fullname" . }}-otelcol
{{- end -}}

{{- define "sumologic.metadata.name.instrumentation.otelagent.service" -}}
{{ template "sumologic.fullname" . }}-otelagent
{{- end -}}

{{/*
Create endpoint based on OTC Tracing deployment type
*/}}
{{- define "sumologic.opentelemetry.operator.instrumentation.collector.endpoint" -}}
{{- if .Values.otelagent.enabled -}}
{{ printf "%s.%s" ( include "sumologic.metadata.name.otelagent.service" . ) .Release.Namespace }}
{{- else -}}
{{ printf "%s.%s" ( include "sumologic.metadata.name.otelcol.service" . ) .Release.Namespace }}
{{- end -}}
{{ printf "%s.%s" ( include "sumologic.metadata.name.instrumentation.otelagent.service" . ) .Release.Namespace }}
{{- end -}}

{{/*
Expand Down Expand Up @@ -1490,38 +1498,29 @@ Example Usage:
{{- end -}}
{{/*
Endpoint used by otelagent exporter.
Endpoint used by otelcol-instrumentation exporter.
Example Usage:
{{- $otelcolService := include "traces.otelagent.exporter.endpoint" . }}
{{- $otelcolService := include "otelcolinstrumentation.exporter.endpoint" . }}
*/}}
{{- define "traces.otelagent.exporter.endpoint" -}}
{{- if (eq .Values.otelgateway.enabled true) }}
{{- printf "%s.%s" ( include "sumologic.metadata.name.otelgateway.service" . ) .Release.Namespace }}
{{- define "otelcolinstrumentation.exporter.endpoint" -}}
{{ $tracesGatewayEnabled := .Values.tracesGateway.enabled }}
{{- if (eq $tracesGatewayEnabled true) }}
{{- printf "%s.%s" ( include "sumologic.metadata.name.tracesgateway.service" . ) .Release.Namespace }}
{{- else }}
{{- printf "%s.%s" ( include "sumologic.metadata.name.otelcol.service" . ) .Release.Namespace }}
{{- printf "%s.%s" ( include "sumologic.metadata.name.tracessampler.service" . ) .Release.Namespace }}
{{- end }}
{{- end -}}
{{/*
Endpoint used by otelgateway otlp exporter.
Example Usage:
'{{ include "traces.otelgateway.exporter.endpoint." . }}'
*/}}
{{- define "traces.otelgateway.exporter.endpoint" -}}
{{- printf "%s.%s" ( include "sumologic.metadata.name.otelcol.service" . ) .Release.Namespace }}
{{- end -}}

{{/*
Endpoint used by otelgateway loadbalancing exporter.
Endpoint used by tracesgateway loadbalancing exporter.
Example Usage:
'{{ include "traces.otelgateway.exporter.loadbalancing.endpoint" . }}'
'{{ include "tracesgateway.exporter.loadbalancing.endpoint" . }}'
*/}}
{{- define "traces.otelgateway.exporter.loadbalancing.endpoint" -}}
{{- printf "%s.%s" ( include "sumologic.metadata.name.otelcol.service-headless" . ) .Release.Namespace }}
{{- define "tracesgateway.exporter.loadbalancing.endpoint" -}}
{{- printf "%s.%s" ( include "sumologic.metadata.name.tracessampler.service-headless" . ) .Release.Namespace }}
{{- end -}}

{{- define "opentelemetry-operator.controller.manager.metrics.service.url" -}}
Expand Down
Loading

0 comments on commit b6c1ae0

Please sign in to comment.