Add config for Loki traces to OTEL

Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
This commit is contained in:
Michel Hollands 2024-05-01 16:54:51 +01:00
parent 3f200115f9
commit 5d553e50f6
3 changed files with 24 additions and 24 deletions

View File

@ -51,7 +51,7 @@
{{- $list = append $list ("otelcol.exporter.otlp.local.input") }} {{- $list = append $list ("otelcol.exporter.otlp.local.input") }}
{{- end }} {{- end }}
{{- if .Values.cloud.traces.enabled }} {{- if .Values.cloud.traces.enabled }}
{{- $list = append $list ("otelcol.exporter.otlp.cloud.input") }} {{- $list = append $list ("otelcol.exporter.otlphttp.cloud.input") }}
{{- end }} {{- end }}
{{- join ", " $list }} {{- join ", " $list }}
{{- end }} {{- end }}

View File

@ -9,7 +9,7 @@ data:
role = "pod" role = "pod"
namespaces { namespaces {
own_namespace = true own_namespace = true
names = [ {{ include "agent.all_namespaces" . }} ] names = [ {{ include "agent.namespaces" . }} ]
} }
} }
@ -305,6 +305,16 @@ data:
} }
} }
otelcol.receiver.jaeger "jaeger" {
protocols {
thrift_http {}
}
output {
traces = [otelcol.processor.batch.default.input]
}
}
// The OpenTelemetry batch processor collects trace spans until a batch size or timeout is met, before sending those // The OpenTelemetry batch processor collects trace spans until a batch size or timeout is met, before sending those
// spans onto another target. This processor is labeled 'default'. // spans onto another target. This processor is labeled 'default'.
otelcol.processor.batch "default" { otelcol.processor.batch "default" {
@ -335,25 +345,6 @@ data:
} }
{{- end }} {{- end }}
{{- if or .Values.local.traces.enabled .Values.cloud.traces.enabled }}
// The OpenTelemetry exporter exports processed trace spans to another target that is listening for OTLP format traces.
// A unique label, 'local', is added to uniquely identify this exporter.
otelcol.exporter.otlp "local" {
// Define the client for exporting.
client {
// Send to the locally running Tempo instance, on port 4317 (OTLP gRPC).
endpoint = "meta-tempo-distributor:4317"
// Configure TLS settings for communicating with the endpoint.
tls {
// The connection is insecure.
insecure = true
// Do not verify TLS certificates when connecting.
insecure_skip_verify = true
}
}
}
{{- end }}
{{- if .Values.cloud.logs.enabled }} {{- if .Values.cloud.logs.enabled }}
loki.write "cloud" { loki.write "cloud" {
endpoint { endpoint {
@ -379,7 +370,7 @@ data:
{{- end }} {{- end }}
{{- if .Values.cloud.traces.enabled }} {{- if .Values.cloud.traces.enabled }}
otelcol.exporter.otlp "cloud" { otelcol.exporter.otlphttp "cloud" {
client { client {
endpoint = nonsensitive(remote.kubernetes.secret.traces_credentials.data["endpoint"]) endpoint = nonsensitive(remote.kubernetes.secret.traces_credentials.data["endpoint"])
auth = otelcol.auth.basic.creds.handler auth = otelcol.auth.basic.creds.handler

View File

@ -267,6 +267,15 @@ alloy:
memory: '600Mi' memory: '600Mi'
limits: limits:
memory: '4Gi' memory: '4Gi'
extraPorts:
- name: "otel"
port: 4317
targetPort: 4317
protocol: "TCP"
- name: "thrifthttp"
port: 14268
targetPort: 14268
protocol: "TCP"
controller: controller:
type: "statefulset" type: "statefulset"
autoscaling: autoscaling: