From 436d322d185feef4dfcffb3ada46d9a054b93b46 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 15:39:46 +0100 Subject: [PATCH 01/84] fix(opentelemetry): naming Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 861deb2445..0e9c26781a 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -457,7 +457,7 @@ opentelemetry-gateway: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - - name: DD_SITE + - name: DATADOG_SITE value: "datadoghq.com" extraEnvsFrom: @@ -505,8 +505,8 @@ opentelemetry-gateway: mode: "counters" send_count_sum_metrics: true api: - key: ${env:DD_API_KEY} - site: "${env:DD_SITE}" + key: ${env:DATADOG_API_KEY} + site: "${env:DATADOG_SITE}" connectors: datadog/connector: service: From 3c71547a85b8fa56ce38b675dd18ab5993177139 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 15:54:27 +0100 Subject: [PATCH 02/84] feat(opentelemetry): naming resources Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/Chart.yaml | 8 ++++---- .../opentelemetry-collector/values.yaml | 17 ++++++----------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml index 4cf2c304ea..7de67cd7d5 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml @@ -11,16 +11,16 @@ dependencies: - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 - alias: opentelemetry-logs + alias: logs - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 - alias: opentelemetry-metrics + alias: metrics - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 - alias: opentelemetry-traces + alias: traces - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 - alias: opentelemetry-gateway + alias: gateway diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 0e9c26781a..a84e197979 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -10,7 +10,7 @@ grafanaDashboard: grafana.com/dashboards: portefaix -opentelemetry-logs: +logs: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -79,12 +79,7 @@ opentelemetry-logs: exporters: debug: {} otlphttp: - endpoint: http://opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 - headers: - dd-protocol: "otlp" - dd-api-key: ${env:DD_API_KEY} - dd-otel-span-mapping: "{span_name_as_resource_name: false}" - dd-otlp-source: "${env:DD_SITE}" + endpoint: http://gateway.opentelemetry.svc.cluster.local:4318 service: telemetry: logs: @@ -119,7 +114,7 @@ opentelemetry-logs: extraLabels: prometheus.io/operator: portefaix -opentelemetry-metrics: +metrics: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -214,7 +209,7 @@ opentelemetry-metrics: extraLabels: prometheus.io/operator: portefaix -opentelemetry-metrics-cluster: +metrics-cluster: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -309,7 +304,7 @@ opentelemetry-metrics-cluster: extraLabels: prometheus.io/operator: portefaix -opentelemetry-traces: +traces: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -421,7 +416,7 @@ opentelemetry-traces: extraLabels: prometheus.io/operator: portefaix -opentelemetry-gateway: +gateway: additionalLabels: portefaix.xyz/version: v0.54.0 From 8f88effb262f0f682f29fea428c39221987c289d Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 15:56:04 +0100 Subject: [PATCH 03/84] feat(opentelemetry): naming resources Signed-off-by: Nicolas Lamirault --- .../templates/configmap-dashboards.yaml | 4 ++-- .../opentelemetry-collector/templates/credentials.yaml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml index e858aa3617..48dc5e344f 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml @@ -20,7 +20,7 @@ items: {{ toYaml $.Values.additionalAnnotations | indent 6 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 6 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 6 }} grafana-dashboard: {{ $dashboardName }} name: {{ printf "dashboard-opentelemetry-%s" $dashboardName | trunc 63 | trimSuffix "-" }} namespace: {{ $.Release.Namespace }} @@ -41,7 +41,7 @@ metadata: {{ toYaml $.Values.additionalAnnotations | indent 6 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 4 }} name: opentelemetry-collector-{{ $dashboardName }} namespace: {{ $.Release.Namespace }} spec: diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index 0242b1d9f8..736aaa4774 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -10,7 +10,7 @@ metadata: {{ toYaml .Values.additionalAnnotations | indent 4 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 4 }} name: opentelemetry-datadog-credentials namespace: {{ .Release.Namespace }} spec: @@ -34,7 +34,7 @@ metadata: {{ toYaml .Values.additionalAnnotations | indent 4 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 4 }} name: opentelemetry-lightstep-credentials namespace: {{ .Release.Namespace }} spec: @@ -58,7 +58,7 @@ metadata: {{ toYaml .Values.additionalAnnotations | indent 4 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 4 }} name: opentelemetry-grafanacloud-credentials namespace: {{ .Release.Namespace }} spec: From 48139fdd3a9004147762254cde1e2bc96d136d36 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 15:58:01 +0100 Subject: [PATCH 04/84] feat(opentelemetry): naming resources Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/Chart.yaml | 8 ++++---- .../templates/configmap-dashboards.yaml | 4 ++-- .../opentelemetry-collector/templates/credentials.yaml | 6 +++--- .../opentelemetry/opentelemetry-collector/values.yaml | 10 +++++----- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml index 7de67cd7d5..4cf2c304ea 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml @@ -11,16 +11,16 @@ dependencies: - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 - alias: logs + alias: opentelemetry-logs - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 - alias: metrics + alias: opentelemetry-metrics - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 - alias: traces + alias: opentelemetry-traces - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 - alias: gateway + alias: opentelemetry-gateway diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml index 48dc5e344f..e858aa3617 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml @@ -20,7 +20,7 @@ items: {{ toYaml $.Values.additionalAnnotations | indent 6 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 6 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 6 }} grafana-dashboard: {{ $dashboardName }} name: {{ printf "dashboard-opentelemetry-%s" $dashboardName | trunc 63 | trimSuffix "-" }} namespace: {{ $.Release.Namespace }} @@ -41,7 +41,7 @@ metadata: {{ toYaml $.Values.additionalAnnotations | indent 6 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 4 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} name: opentelemetry-collector-{{ $dashboardName }} namespace: {{ $.Release.Namespace }} spec: diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index 736aaa4774..0242b1d9f8 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -10,7 +10,7 @@ metadata: {{ toYaml .Values.additionalAnnotations | indent 4 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 4 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} name: opentelemetry-datadog-credentials namespace: {{ .Release.Namespace }} spec: @@ -34,7 +34,7 @@ metadata: {{ toYaml .Values.additionalAnnotations | indent 4 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 4 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} name: opentelemetry-lightstep-credentials namespace: {{ .Release.Namespace }} spec: @@ -58,7 +58,7 @@ metadata: {{ toYaml .Values.additionalAnnotations | indent 4 }} {{- end }} labels: - {{- include "opentelemetry-collector.labels" (index $.Subcharts "gateway") | nindent 4 }} + {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} name: opentelemetry-grafanacloud-credentials namespace: {{ .Release.Namespace }} spec: diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index a84e197979..9b94f94609 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -10,7 +10,7 @@ grafanaDashboard: grafana.com/dashboards: portefaix -logs: +opentelemetry-logs: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -114,7 +114,7 @@ logs: extraLabels: prometheus.io/operator: portefaix -metrics: +opentelemetry-metrics: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -209,7 +209,7 @@ metrics: extraLabels: prometheus.io/operator: portefaix -metrics-cluster: +opentelemetry-metrics-cluster: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -304,7 +304,7 @@ metrics-cluster: extraLabels: prometheus.io/operator: portefaix -traces: +opentelemetry-traces: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -416,7 +416,7 @@ traces: extraLabels: prometheus.io/operator: portefaix -gateway: +opentelemetry-gateway: additionalLabels: portefaix.xyz/version: v0.54.0 From 2e3e6d754e1f8e63f4ac9998781b3e99bdbe9496 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 16:03:22 +0100 Subject: [PATCH 05/84] feat(opentelemetry): logs setup Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 9b94f94609..6b19af062f 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -31,7 +31,7 @@ opentelemetry-logs: kubeletMetrics: enabled: false kubernetesEvents: - enabled: true + enabled: false clusterMetrics: enabled: false @@ -58,6 +58,9 @@ opentelemetry-logs: operators: - id: container-parser type: container + jaeger: null + zipkin: null + otlp: null prometheus: config: scrape_configs: From e56869580c04f5609f9955af6492eaaaa934e1d3 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 16:05:24 +0100 Subject: [PATCH 06/84] feat(opentelemetry): logs configuration Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 6b19af062f..e5d10c9a69 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -58,9 +58,9 @@ opentelemetry-logs: operators: - id: container-parser type: container - jaeger: null - zipkin: null - otlp: null + jaeger: {} + zipkin: {} + otlp: {} prometheus: config: scrape_configs: From 48ae7c99beb7398b01fcd724dccb83998120b5de Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 16:12:10 +0100 Subject: [PATCH 07/84] feat(opentelemetry): telemetry Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index e5d10c9a69..0de51b5af5 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -83,16 +83,20 @@ opentelemetry-logs: debug: {} otlphttp: endpoint: http://gateway.opentelemetry.svc.cluster.local:4318 + extensions: + health_check: + pprof: + zpages: service: + extensions: + - health_check + - pprof + - zpages telemetry: logs: encoding: "json" - initial_fields: - - service: "otel-collector" metrics: address: ${env:MY_POD_IP}:8888 - extensions: - - health_check pipelines: logs: receivers: From 246d5e81f415c09a17bfff1d184fdd9e60b41ecf Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 16:13:07 +0100 Subject: [PATCH 08/84] feat(opentelemetry): cleanup Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 0de51b5af5..2daac15726 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -85,12 +85,12 @@ opentelemetry-logs: endpoint: http://gateway.opentelemetry.svc.cluster.local:4318 extensions: health_check: - pprof: + # pprof: zpages: service: extensions: - health_check - - pprof + # - pprof - zpages telemetry: logs: From 8150c2e2f054ea426c49131262d3c29a955972e9 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 16:18:12 +0100 Subject: [PATCH 09/84] feat(opentelemetry): clean OTel tracing Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 2daac15726..d295e2f43b 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -85,12 +85,14 @@ opentelemetry-logs: endpoint: http://gateway.opentelemetry.svc.cluster.local:4318 extensions: health_check: - # pprof: + pprof: + endpoint: :1888 zpages: + endpoint: :55679 service: extensions: - health_check - # - pprof + - pprof - zpages telemetry: logs: @@ -472,8 +474,6 @@ opentelemetry-gateway: config: receivers: - jaeger: null - zipkin: null otlp: protocols: grpc: @@ -514,7 +514,8 @@ opentelemetry-gateway: service: telemetry: logs: - encoding: "json" + level: info + encoding: json metrics: address: ${env:MY_POD_IP}:8888 extensions: From cf7be00bb88404e7da3e90905c8d79fee8808bd5 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 16:19:15 +0100 Subject: [PATCH 10/84] feat(opentelemetry): clean OTel logs Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index d295e2f43b..7e6e000b2f 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -58,9 +58,6 @@ opentelemetry-logs: operators: - id: container-parser type: container - jaeger: {} - zipkin: {} - otlp: {} prometheus: config: scrape_configs: From 11d53cfd29de20ba6c8a0110d4eee5d6987f33de Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 16:53:42 +0100 Subject: [PATCH 11/84] feat(opentelemetry): clean configuration Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 264 +++++++++++------- 1 file changed, 161 insertions(+), 103 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 7e6e000b2f..dbe66c0298 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -50,42 +50,32 @@ opentelemetry-logs: config: receivers: - filelog: - include_file_path: true - include_file_name: false - include: - - /var/log/pods/*/*/*.log - operators: - - id: container-parser - type: container - prometheus: - config: - scrape_configs: - - job_name: opentelemetry-collector - scrape_interval: 10s - static_configs: - - targets: - - ${env:MY_POD_IP}:8888 + jaeger: null + zipkin: null + # filelog: + # include_file_path: true + # include_file_name: false + # include: + # - /var/log/pods/*/*/*.log + # operators: + # - id: container-parser + # type: container + # prometheus: + # config: + # scrape_configs: + # - job_name: opentelemetry-collector + # scrape_interval: 10s + # static_configs: + # - targets: + # - ${env:MY_POD_IP}:8888 processors: - batch: {} - memory_limiter: - check_interval: 5s - limit_percentage: 80 - spike_limit_percentage: 25 resourcedetection: detectors: [env] timeout: 2s override: false exporters: - debug: {} otlphttp: endpoint: http://gateway.opentelemetry.svc.cluster.local:4318 - extensions: - health_check: - pprof: - endpoint: :1888 - zpages: - endpoint: :55679 service: extensions: - health_check @@ -106,6 +96,34 @@ opentelemetry-logs: exporters: - debug - otlphttp + metrics: null + traces: null + + ports: + otlp: + enabled: false + containerPort: 4317 + servicePort: 4317 + protocol: TCP + appProtocol: grpc + otlp-http: + enabled: false + containerPort: 4318 + servicePort: 4318 + protocol: TCP + jaeger-compact: + enabled: false + jaeger-thrift: + enabled: false + jaeger-grpc: + enabled: false + zipkin: + enabled: false + metrics: + enabled: true + containerPort: 8888 + servicePort: 8888 + protocol: TCP serviceMonitor: enabled: true @@ -159,36 +177,21 @@ opentelemetry-metrics: config: receivers: - prometheus: - config: - scrape_configs: - - job_name: opentelemetry-collector - scrape_interval: 10s - static_configs: - - targets: - - ${env:MY_POD_IP}:8888 + jaeger: null + zipkin: null + processors: - batch: {} - memory_limiter: - check_interval: 5s - limit_percentage: 80 - spike_limit_percentage: 25 resourcedetection: detectors: [env] timeout: 2s override: false - exporters: - debug: {} + service: telemetry: logs: encoding: "json" - initial_fields: - - service: "otel-collector" metrics: address: ${env:MY_POD_IP}:8888 - extensions: - - health_check pipelines: metrics: receivers: @@ -202,6 +205,32 @@ opentelemetry-metrics: - debug - otlp + ports: + otlp: + enabled: false + containerPort: 4317 + servicePort: 4317 + protocol: TCP + appProtocol: grpc + otlp-http: + enabled: false + containerPort: 4318 + servicePort: 4318 + protocol: TCP + jaeger-compact: + enabled: false + jaeger-thrift: + enabled: false + jaeger-grpc: + enabled: false + zipkin: + enabled: false + metrics: + enabled: true + containerPort: 8888 + servicePort: 8888 + protocol: TCP + serviceMonitor: enabled: true extraLabels: @@ -254,36 +283,21 @@ opentelemetry-metrics-cluster: config: receivers: - prometheus: - config: - scrape_configs: - - job_name: opentelemetry-collector - scrape_interval: 10s - static_configs: - - targets: - - ${env:MY_POD_IP}:8888 + jaeger: null + zipkin: null + processors: - batch: {} - memory_limiter: - check_interval: 5s - limit_percentage: 80 - spike_limit_percentage: 25 resourcedetection: detectors: [env] timeout: 2s override: false - exporters: - debug: {} + service: telemetry: logs: encoding: "json" - initial_fields: - - service: "otel-collector" metrics: address: ${env:MY_POD_IP}:8888 - extensions: - - health_check pipelines: metrics: receivers: @@ -297,6 +311,32 @@ opentelemetry-metrics-cluster: - debug - otlp + ports: + otlp: + enabled: false + containerPort: 4317 + servicePort: 4317 + protocol: TCP + appProtocol: grpc + otlp-http: + enabled: false + containerPort: 4318 + servicePort: 4318 + protocol: TCP + jaeger-compact: + enabled: false + jaeger-thrift: + enabled: false + jaeger-grpc: + enabled: false + zipkin: + enabled: false + metrics: + enabled: true + containerPort: 8888 + servicePort: 8888 + protocol: TCP + serviceMonitor: enabled: true extraLabels: @@ -357,38 +397,19 @@ opentelemetry-traces: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 - prometheus: - config: - scrape_configs: - - job_name: opentelemetry-collector - scrape_interval: 10s - static_configs: - - targets: - - ${env:MY_POD_IP}:8888 processors: - batch: {} - memory_limiter: - check_interval: 5s - limit_percentage: 80 - spike_limit_percentage: 25 resourcedetection: detectors: [env] timeout: 2s override: false - exporters: - debug: {} connectors: datadog/connector: service: telemetry: logs: encoding: "json" - initial_fields: - - service: "otel-collector" metrics: address: ${env:MY_POD_IP}:8888 - extensions: - - health_check pipelines: traces: receivers: @@ -409,6 +430,32 @@ opentelemetry-traces: - debug - otlp + ports: + otlp: + enabled: true + containerPort: 4317 + servicePort: 4317 + protocol: TCP + appProtocol: grpc + otlp-http: + enabled: true + containerPort: 4318 + servicePort: 4318 + protocol: TCP + jaeger-compact: + enabled: false + jaeger-thrift: + enabled: false + jaeger-grpc: + enabled: false + zipkin: + enabled: false + metrics: + enabled: true + containerPort: 8888 + servicePort: 8888 + protocol: TCP + serviceMonitor: enabled: true extraLabels: @@ -474,29 +521,16 @@ opentelemetry-gateway: otlp: protocols: grpc: - endpoint: 0.0.0.0:4317 + endpoint: ${env:MY_POD_IP}:4317 http: - endpoint: 0.0.0.0:4318 - prometheus: - config: - scrape_configs: - - job_name: opentelemetry-collector - scrape_interval: 10s - static_configs: - - targets: - - ${env:MY_POD_IP}:8888 + endpoint: ${env:MY_POD_IP}:4318 processors: - batch: {} - memory_limiter: - check_interval: 5s - limit_percentage: 80 - spike_limit_percentage: 25 resourcedetection: detectors: [env] timeout: 2s override: false + exporters: - debug: {} datadog: metrics: resource_attributes_as_tags: true @@ -515,8 +549,6 @@ opentelemetry-gateway: encoding: json metrics: address: ${env:MY_POD_IP}:8888 - extensions: - - health_check pipelines: logs: receivers: @@ -555,6 +587,32 @@ opentelemetry-gateway: exporters: - datadog + ports: + otlp: + enabled: true + containerPort: 4317 + servicePort: 4317 + protocol: TCP + appProtocol: grpc + otlp-http: + enabled: true + containerPort: 4318 + servicePort: 4318 + protocol: TCP + jaeger-compact: + enabled: false + jaeger-thrift: + enabled: false + jaeger-grpc: + enabled: false + zipkin: + enabled: false + metrics: + enabled: true + containerPort: 8888 + servicePort: 8888 + protocol: TCP + serviceMonitor: enabled: true extraLabels: From c30762f3ed54b582450ea480fae4b3641a0f1c37 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 16:55:16 +0100 Subject: [PATCH 12/84] feat(opentelemetry): clean logs Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index dbe66c0298..9e220c0d47 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -77,10 +77,6 @@ opentelemetry-logs: otlphttp: endpoint: http://gateway.opentelemetry.svc.cluster.local:4318 service: - extensions: - - health_check - - pprof - - zpages telemetry: logs: encoding: "json" From e07c4b0bf7b550eaa48a542588f6084f507000c5 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:11:04 +0100 Subject: [PATCH 13/84] feat(opentelemetry): clean logs Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 9e220c0d47..81ca6973bf 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -52,6 +52,7 @@ opentelemetry-logs: receivers: jaeger: null zipkin: null + otlp: null # filelog: # include_file_path: true # include_file_name: false @@ -75,7 +76,7 @@ opentelemetry-logs: override: false exporters: otlphttp: - endpoint: http://gateway.opentelemetry.svc.cluster.local:4318 + endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: telemetry: logs: @@ -87,6 +88,7 @@ opentelemetry-logs: receivers: - filelog processors: + - resourcedetection - memory_limiter - batch exporters: @@ -175,6 +177,12 @@ opentelemetry-metrics: receivers: jaeger: null zipkin: null + otlp: null + # protocols: + # grpc: + # endpoint: ${env:MY_POD_IP}:4317 + # http: + # endpoint: ${env:MY_POD_IP}:4318 processors: resourcedetection: @@ -182,6 +190,10 @@ opentelemetry-metrics: timeout: 2s override: false + exporters: + otlp: + endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 + service: telemetry: logs: @@ -191,7 +203,7 @@ opentelemetry-metrics: pipelines: metrics: receivers: - - otlp + # - otlp - prometheus processors: - resourcedetection @@ -281,6 +293,12 @@ opentelemetry-metrics-cluster: receivers: jaeger: null zipkin: null + otlp: null + # protocols: + # grpc: + # endpoint: ${env:MY_POD_IP}:4317 + # http: + # endpoint: ${env:MY_POD_IP}:4318 processors: resourcedetection: @@ -288,6 +306,10 @@ opentelemetry-metrics-cluster: timeout: 2s override: false + exporters: + otlp: + endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 + service: telemetry: logs: @@ -297,7 +319,7 @@ opentelemetry-metrics-cluster: pipelines: metrics: receivers: - - otlp + # - otlp - prometheus processors: - resourcedetection @@ -398,8 +420,14 @@ opentelemetry-traces: detectors: [env] timeout: 2s override: false + + exporters: + otlp: + endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 + connectors: datadog/connector: + service: telemetry: logs: @@ -514,12 +542,15 @@ opentelemetry-gateway: config: receivers: + jaeger: null + zipkin: null otlp: protocols: grpc: endpoint: ${env:MY_POD_IP}:4317 http: endpoint: ${env:MY_POD_IP}:4318 + processors: resourcedetection: detectors: [env] @@ -538,6 +569,7 @@ opentelemetry-gateway: site: "${env:DATADOG_SITE}" connectors: datadog/connector: + service: telemetry: logs: From c0e34d503ea130905d293def3a1e4c0fe134379a Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:14:18 +0100 Subject: [PATCH 14/84] feat(opentelemetry): enable service Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 81ca6973bf..836dab6dcc 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -123,6 +123,9 @@ opentelemetry-logs: servicePort: 8888 protocol: TCP + service: + enabled: true + serviceMonitor: enabled: true extraLabels: @@ -239,6 +242,9 @@ opentelemetry-metrics: servicePort: 8888 protocol: TCP + service: + enabled: true + serviceMonitor: enabled: true extraLabels: @@ -355,6 +361,9 @@ opentelemetry-metrics-cluster: servicePort: 8888 protocol: TCP + service: + enabled: true + serviceMonitor: enabled: true extraLabels: @@ -480,6 +489,9 @@ opentelemetry-traces: servicePort: 8888 protocol: TCP + service: + enabled: true + serviceMonitor: enabled: true extraLabels: @@ -641,6 +653,9 @@ opentelemetry-gateway: servicePort: 8888 protocol: TCP + service: + enabled: true + serviceMonitor: enabled: true extraLabels: From 714d773e61cde7599a835b2a31879c81d1801b66 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:25:24 +0100 Subject: [PATCH 15/84] feat(opentelemetry): clean gateway Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 836dab6dcc..5851174a0b 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -579,6 +579,7 @@ opentelemetry-gateway: api: key: ${env:DATADOG_API_KEY} site: "${env:DATADOG_SITE}" + connectors: datadog/connector: @@ -594,6 +595,7 @@ opentelemetry-gateway: receivers: - otlp processors: + - resourcedetection - memory_limiter - batch exporters: From 0e678331f411697e327101cd12c4a9b8965d2a5a Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:27:30 +0100 Subject: [PATCH 16/84] feat(opentelemetry): datadog exporters Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 5851174a0b..3ed2e88d83 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -574,11 +574,12 @@ opentelemetry-gateway: metrics: resource_attributes_as_tags: true histograms: - mode: "counters" - send_count_sum_metrics: true + mode: distributions api: key: ${env:DATADOG_API_KEY} site: "${env:DATADOG_SITE}" + logging: + verbosity: detailed connectors: datadog/connector: From 25e559b4e3deaf69933f06c1cd30d36a748d5b1d Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:28:48 +0100 Subject: [PATCH 17/84] feat(opentelemetry): remove logging Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 3ed2e88d83..b7019123f7 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -578,8 +578,6 @@ opentelemetry-gateway: api: key: ${env:DATADOG_API_KEY} site: "${env:DATADOG_SITE}" - logging: - verbosity: detailed connectors: datadog/connector: From fb0bfbefdadc720e2c5442cb383996f8317062e2 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:36:16 +0100 Subject: [PATCH 18/84] feat(opentelemetry): default configuration Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 150 +++++++++--------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index b7019123f7..8e41ab0b13 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -552,81 +552,81 @@ opentelemetry-gateway: # - secretRef: # name: opentelemetry-grafanacloud-credentials - config: - receivers: - jaeger: null - zipkin: null - otlp: - protocols: - grpc: - endpoint: ${env:MY_POD_IP}:4317 - http: - endpoint: ${env:MY_POD_IP}:4318 - - processors: - resourcedetection: - detectors: [env] - timeout: 2s - override: false - - exporters: - datadog: - metrics: - resource_attributes_as_tags: true - histograms: - mode: distributions - api: - key: ${env:DATADOG_API_KEY} - site: "${env:DATADOG_SITE}" - - connectors: - datadog/connector: - - service: - telemetry: - logs: - level: info - encoding: json - metrics: - address: ${env:MY_POD_IP}:8888 - pipelines: - logs: - receivers: - - otlp - processors: - - resourcedetection - - memory_limiter - - batch - exporters: - - debug - - datadog - metrics: - receivers: - - otlp - - prometheus - processors: - - resourcedetection - - memory_limiter - - batch - exporters: - - debug - - datadog - traces: - receivers: - - otlp - processors: - - resourcedetection - - batch - exporters: - - debug - traces/sampling: - receivers: - - otlp - processors: - - memory_limiter - - batch - exporters: - - datadog + # config: + # receivers: + # jaeger: null + # zipkin: null + # otlp: + # protocols: + # grpc: + # endpoint: ${env:MY_POD_IP}:4317 + # http: + # endpoint: ${env:MY_POD_IP}:4318 + + # processors: + # resourcedetection: + # detectors: [env] + # timeout: 2s + # override: false + + # exporters: + # datadog: + # metrics: + # resource_attributes_as_tags: true + # histograms: + # mode: distributions + # api: + # key: ${env:DATADOG_API_KEY} + # site: "${env:DATADOG_SITE}" + + # connectors: + # datadog/connector: + + # service: + # telemetry: + # logs: + # level: info + # encoding: json + # metrics: + # address: ${env:MY_POD_IP}:8888 + # pipelines: + # logs: + # receivers: + # - otlp + # processors: + # - resourcedetection + # - memory_limiter + # - batch + # exporters: + # - debug + # - datadog + # metrics: + # receivers: + # - otlp + # - prometheus + # processors: + # - resourcedetection + # - memory_limiter + # - batch + # exporters: + # - debug + # - datadog + # traces: + # receivers: + # - otlp + # processors: + # - resourcedetection + # - batch + # exporters: + # - debug + # traces/sampling: + # receivers: + # - otlp + # processors: + # - memory_limiter + # - batch + # exporters: + # - datadog ports: otlp: From 8f00aaffadc5d25d42bfe72718341388a5fcbd62 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:38:11 +0100 Subject: [PATCH 19/84] feat(opentelemetry): remove Datadog exporters Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 152 +++++++++--------- 1 file changed, 77 insertions(+), 75 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 8e41ab0b13..6b9ce9d7dc 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -552,81 +552,83 @@ opentelemetry-gateway: # - secretRef: # name: opentelemetry-grafanacloud-credentials - # config: - # receivers: - # jaeger: null - # zipkin: null - # otlp: - # protocols: - # grpc: - # endpoint: ${env:MY_POD_IP}:4317 - # http: - # endpoint: ${env:MY_POD_IP}:4318 - - # processors: - # resourcedetection: - # detectors: [env] - # timeout: 2s - # override: false - - # exporters: - # datadog: - # metrics: - # resource_attributes_as_tags: true - # histograms: - # mode: distributions - # api: - # key: ${env:DATADOG_API_KEY} - # site: "${env:DATADOG_SITE}" - - # connectors: - # datadog/connector: - - # service: - # telemetry: - # logs: - # level: info - # encoding: json - # metrics: - # address: ${env:MY_POD_IP}:8888 - # pipelines: - # logs: - # receivers: - # - otlp - # processors: - # - resourcedetection - # - memory_limiter - # - batch - # exporters: - # - debug - # - datadog - # metrics: - # receivers: - # - otlp - # - prometheus - # processors: - # - resourcedetection - # - memory_limiter - # - batch - # exporters: - # - debug - # - datadog - # traces: - # receivers: - # - otlp - # processors: - # - resourcedetection - # - batch - # exporters: - # - debug - # traces/sampling: - # receivers: - # - otlp - # processors: - # - memory_limiter - # - batch - # exporters: - # - datadog + config: + receivers: + jaeger: null + zipkin: null + otlp: + protocols: + grpc: + endpoint: ${env:MY_POD_IP}:4317 + http: + endpoint: ${env:MY_POD_IP}:4318 + + processors: + resourcedetection: + detectors: [env] + timeout: 2s + override: false + + exporters: + datadog: + metrics: + resource_attributes_as_tags: true + histograms: + mode: distributions + api: + key: ${env:DATADOG_API_KEY} + site: "${env:DATADOG_SITE}" + + connectors: + datadog/connector: + + service: + telemetry: + logs: + level: info + encoding: json + metrics: + address: ${env:MY_POD_IP}:8888 + pipelines: + logs: + receivers: + - otlp + processors: + - resourcedetection + - memory_limiter + - batch + exporters: + - debug + # - datadog + metrics: + receivers: + - otlp + - prometheus + processors: + - resourcedetection + - memory_limiter + - batch + exporters: + - debug + # - datadog + traces: + receivers: + - otlp + processors: + - resourcedetection + - batch + exporters: + - debug + # - datadog + traces/sampling: + receivers: + - otlp + processors: + - memory_limiter + - batch + exporters: + - debug + # - datadog ports: otlp: From bddc24923b4d98bdf3a4ed785706c055abeaffac Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:46:03 +0100 Subject: [PATCH 20/84] feat(opentelemetry): Datadog exporter setup Signed-off-by: Nicolas Lamirault --- .../templates/credentials.yaml | 2 +- .../opentelemetry-collector/values.yaml | 72 ++++++++++++++++--- 2 files changed, 63 insertions(+), 11 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index 0242b1d9f8..9d6e05d3f3 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -22,7 +22,7 @@ spec: name: opentelemetry-datadog-credentials creationPolicy: Owner data: - - secretKey: DATADOG_API_KEY + - secretKey: DD_API_KEY remoteRef: key: DATADOG_API_KEY --- diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 6b9ce9d7dc..0a95b31116 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -10,6 +10,57 @@ grafanaDashboard: grafana.com/dashboards: portefaix +opentelemetry: + k8sattributes: + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.ip + + extract: + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - container.id + - k8s.container.name + - container.image.name + - container.image.tag + - container.id + labels: + - tag_name: kube_app_name + key: app.kubernetes.io/name + from: pod + - tag_name: kube_app_instance + key: app.kubernetes.io/instance + from: pod + - tag_name: kube_app_version + key: app.kubernetes.io/version + from: pod + - tag_name: kube_app_component + key: app.kubernetes.io/component + from: pod + - tag_name: kube_app_part_of + key: app.kubernetes.io/part-of + from: pod + - tag_name: kube_app_managed_by + key: app.kubernetes.io/managed-by + from: pod + opentelemetry-logs: additionalLabels: portefaix.xyz/version: v0.54.0 @@ -541,7 +592,7 @@ opentelemetry-gateway: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - - name: DATADOG_SITE + - name: DD_SITE value: "datadoghq.com" extraEnvsFrom: @@ -564,10 +615,10 @@ opentelemetry-gateway: endpoint: ${env:MY_POD_IP}:4318 processors: - resourcedetection: - detectors: [env] - timeout: 2s - override: false + batch/datadog: + send_batch_max_size: 100 + send_batch_size: 10 + timeout: 10s exporters: datadog: @@ -576,8 +627,8 @@ opentelemetry-gateway: histograms: mode: distributions api: - key: ${env:DATADOG_API_KEY} - site: "${env:DATADOG_SITE}" + key: ${env:DD_API_KEY} + site: "${env:DD_SITE}" connectors: datadog/connector: @@ -594,9 +645,9 @@ opentelemetry-gateway: receivers: - otlp processors: - - resourcedetection - memory_limiter - batch + - batch/datadog exporters: - debug # - datadog @@ -605,9 +656,9 @@ opentelemetry-gateway: - otlp - prometheus processors: - - resourcedetection - memory_limiter - batch + - batch/datadog exporters: - debug # - datadog @@ -615,8 +666,9 @@ opentelemetry-gateway: receivers: - otlp processors: - - resourcedetection + - memory_limiter - batch + - batch/datadog exporters: - debug # - datadog From fb8220407bd0bb4c020f8bce9293516217bad55e Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 17:46:43 +0100 Subject: [PATCH 21/84] feat(opentelemetry): cleanup Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 0a95b31116..89a5ee6345 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -630,9 +630,6 @@ opentelemetry-gateway: key: ${env:DD_API_KEY} site: "${env:DD_SITE}" - connectors: - datadog/connector: - service: telemetry: logs: @@ -650,7 +647,7 @@ opentelemetry-gateway: - batch/datadog exporters: - debug - # - datadog + - datadog metrics: receivers: - otlp @@ -661,7 +658,7 @@ opentelemetry-gateway: - batch/datadog exporters: - debug - # - datadog + - datadog traces: receivers: - otlp @@ -671,16 +668,7 @@ opentelemetry-gateway: - batch/datadog exporters: - debug - # - datadog - traces/sampling: - receivers: - - otlp - processors: - - memory_limiter - - batch - exporters: - - debug - # - datadog + - datadog ports: otlp: From f020d2ede0d625ff240da46bb1d995103b8ba4d1 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 18:06:59 +0100 Subject: [PATCH 22/84] feat(opentelemetry): add k8sattributes Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 118 ++++++++++-------- 1 file changed, 65 insertions(+), 53 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 89a5ee6345..9ac992ce2a 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -11,55 +11,55 @@ grafanaDashboard: opentelemetry: - k8sattributes: - pod_association: - - sources: - - from: resource_attribute - name: k8s.pod.ip - - extract: - metadata: - - k8s.pod.name - - k8s.pod.uid - - k8s.deployment.name - - k8s.node.name - - k8s.namespace.name - - k8s.pod.start_time - - k8s.replicaset.name - - k8s.replicaset.uid - - k8s.daemonset.name - - k8s.daemonset.uid - - k8s.job.name - - k8s.job.uid - - k8s.cronjob.name - - k8s.statefulset.name - - k8s.statefulset.uid - - container.image.name - - container.image.tag - - container.id - - k8s.container.name - - container.image.name - - container.image.tag - - container.id - labels: - - tag_name: kube_app_name - key: app.kubernetes.io/name - from: pod - - tag_name: kube_app_instance - key: app.kubernetes.io/instance - from: pod - - tag_name: kube_app_version - key: app.kubernetes.io/version - from: pod - - tag_name: kube_app_component - key: app.kubernetes.io/component - from: pod - - tag_name: kube_app_part_of - key: app.kubernetes.io/part-of - from: pod - - tag_name: kube_app_managed_by - key: app.kubernetes.io/managed-by - from: pod + processorsk8sattributes: &k8sattributes + k8sattributes: + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.ip + extract: + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - container.id + - k8s.container.name + - container.image.name + - container.image.tag + - container.id + labels: + - tag_name: kube_app_name + key: app.kubernetes.io/name + from: pod + - tag_name: kube_app_instance + key: app.kubernetes.io/instance + from: pod + - tag_name: kube_app_version + key: app.kubernetes.io/version + from: pod + - tag_name: kube_app_component + key: app.kubernetes.io/component + from: pod + - tag_name: kube_app_part_of + key: app.kubernetes.io/part-of + from: pod + - tag_name: kube_app_managed_by + key: app.kubernetes.io/managed-by + from: pod opentelemetry-logs: additionalLabels: @@ -125,13 +125,18 @@ opentelemetry-logs: detectors: [env] timeout: 2s override: false + <<: *k8sattributes + exporters: otlphttp: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 + + service: telemetry: logs: - encoding: "json" + level: info + encoding: json metrics: address: ${env:MY_POD_IP}:8888 pipelines: @@ -243,6 +248,7 @@ opentelemetry-metrics: detectors: [env] timeout: 2s override: false + <<: *k8sattributes exporters: otlp: @@ -251,7 +257,8 @@ opentelemetry-metrics: service: telemetry: logs: - encoding: "json" + level: info + encoding: json metrics: address: ${env:MY_POD_IP}:8888 pipelines: @@ -362,6 +369,7 @@ opentelemetry-metrics-cluster: detectors: [env] timeout: 2s override: false + <<: *k8sattributes exporters: otlp: @@ -370,7 +378,8 @@ opentelemetry-metrics-cluster: service: telemetry: logs: - encoding: "json" + level: info + encoding: json metrics: address: ${env:MY_POD_IP}:8888 pipelines: @@ -475,11 +484,13 @@ opentelemetry-traces: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 + processors: resourcedetection: detectors: [env] timeout: 2s override: false + <<: *k8sattributes exporters: otlp: @@ -491,7 +502,8 @@ opentelemetry-traces: service: telemetry: logs: - encoding: "json" + level: info + encoding: json metrics: address: ${env:MY_POD_IP}:8888 pipelines: From bb3027642444cd5d550456dc20553b53659fd8fc Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 18:07:47 +0100 Subject: [PATCH 23/84] feat(opentelemetry): add k8sattributes Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 9ac992ce2a..c774954fb5 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -632,15 +632,15 @@ opentelemetry-gateway: send_batch_size: 10 timeout: 10s - exporters: - datadog: - metrics: - resource_attributes_as_tags: true - histograms: - mode: distributions - api: - key: ${env:DD_API_KEY} - site: "${env:DD_SITE}" + # exporters: + # datadog: + # metrics: + # resource_attributes_as_tags: true + # histograms: + # mode: distributions + # api: + # key: ${env:DD_API_KEY} + # site: "${env:DD_SITE}" service: telemetry: @@ -659,7 +659,7 @@ opentelemetry-gateway: - batch/datadog exporters: - debug - - datadog + # - datadog metrics: receivers: - otlp @@ -670,7 +670,7 @@ opentelemetry-gateway: - batch/datadog exporters: - debug - - datadog + # - datadog traces: receivers: - otlp @@ -680,7 +680,7 @@ opentelemetry-gateway: - batch/datadog exporters: - debug - - datadog + # - datadog ports: otlp: From 00bd09e563f5b2eed9caf899da352d709f61fe2f Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 18:13:07 +0100 Subject: [PATCH 24/84] feat(opentelemetry): yaml anchor Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index c774954fb5..8e7f2c8e85 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -11,7 +11,14 @@ grafanaDashboard: opentelemetry: - processorsk8sattributes: &k8sattributes + processors: + otelResourcedetection: &resourcedetection + detectors: + - system + - env + timeout: 2s + override: false + otelK8sattributes: &k8sattributes k8sattributes: pod_association: - sources: @@ -104,27 +111,14 @@ opentelemetry-logs: jaeger: null zipkin: null otlp: null - # filelog: - # include_file_path: true - # include_file_name: false - # include: - # - /var/log/pods/*/*/*.log - # operators: - # - id: container-parser - # type: container - # prometheus: - # config: - # scrape_configs: - # - job_name: opentelemetry-collector - # scrape_interval: 10s - # static_configs: - # - targets: - # - ${env:MY_POD_IP}:8888 processors: - resourcedetection: - detectors: [env] - timeout: 2s - override: false + # resourcedetection: + # detectors: + # - system + # - env + # timeout: 2s + # override: false + <<: *resourcedetection <<: *k8sattributes exporters: From 78400353b1ae4200020105dba6ed84b284f0d170 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 18:20:54 +0100 Subject: [PATCH 25/84] feat(opentelemetry): yaml anchor for resources Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 182 ++++++++---------- 1 file changed, 78 insertions(+), 104 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 8e7f2c8e85..44a660b90b 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -12,61 +12,70 @@ grafanaDashboard: opentelemetry: processors: - otelResourcedetection: &resourcedetection - detectors: - - system - - env - timeout: 2s - override: false - otelK8sattributes: &k8sattributes - k8sattributes: - pod_association: - - sources: - - from: resource_attribute - name: k8s.pod.ip - extract: - metadata: - - k8s.pod.name - - k8s.pod.uid - - k8s.deployment.name - - k8s.node.name - - k8s.namespace.name - - k8s.pod.start_time - - k8s.replicaset.name - - k8s.replicaset.uid - - k8s.daemonset.name - - k8s.daemonset.uid - - k8s.job.name - - k8s.job.uid - - k8s.cronjob.name - - k8s.statefulset.name - - k8s.statefulset.uid - - container.image.name - - container.image.tag - - container.id - - k8s.container.name - - container.image.name - - container.image.tag - - container.id - labels: - - tag_name: kube_app_name - key: app.kubernetes.io/name - from: pod - - tag_name: kube_app_instance - key: app.kubernetes.io/instance - from: pod - - tag_name: kube_app_version - key: app.kubernetes.io/version - from: pod - - tag_name: kube_app_component - key: app.kubernetes.io/component - from: pod - - tag_name: kube_app_part_of - key: app.kubernetes.io/part-of - from: pod - - tag_name: kube_app_managed_by - key: app.kubernetes.io/managed-by - from: pod + otelResourcedetection: &otelResourcedetection + resourcedetection: + detectors: + - system + - env + timeout: 2s + override: false + otelK8sattributes: &otelK8sattributes + k8sattributes: + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.ip + extract: + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - container.id + - k8s.container.name + - container.image.name + - container.image.tag + - container.id + labels: + - tag_name: kube_app_name + key: app.kubernetes.io/name + from: pod + - tag_name: kube_app_instance + key: app.kubernetes.io/instance + from: pod + - tag_name: kube_app_version + key: app.kubernetes.io/version + from: pod + - tag_name: kube_app_component + key: app.kubernetes.io/component + from: pod + - tag_name: kube_app_part_of + key: app.kubernetes.io/part-of + from: pod + - tag_name: kube_app_managed_by + key: app.kubernetes.io/managed-by + from: pod + service: + otelTelemetry: &otelTelemetry + logs: + level: info + encoding: json + metrics: + address: ${env:MY_POD_IP}:8888 + opentelemetry-logs: additionalLabels: @@ -112,27 +121,16 @@ opentelemetry-logs: zipkin: null otlp: null processors: - # resourcedetection: - # detectors: - # - system - # - env - # timeout: 2s - # override: false - <<: *resourcedetection - <<: *k8sattributes + <<: *otelResourcedetection + <<: *otelK8sattributes exporters: otlphttp: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 - service: telemetry: - logs: - level: info - encoding: json - metrics: - address: ${env:MY_POD_IP}:8888 + <<: *otelTelemetry pipelines: logs: receivers: @@ -238,11 +236,8 @@ opentelemetry-metrics: # endpoint: ${env:MY_POD_IP}:4318 processors: - resourcedetection: - detectors: [env] - timeout: 2s - override: false - <<: *k8sattributes + <<: *otelResourcedetection + <<: *otelK8sattributes exporters: otlp: @@ -250,11 +245,7 @@ opentelemetry-metrics: service: telemetry: - logs: - level: info - encoding: json - metrics: - address: ${env:MY_POD_IP}:8888 + <<: *otelTelemetry pipelines: metrics: receivers: @@ -359,11 +350,8 @@ opentelemetry-metrics-cluster: # endpoint: ${env:MY_POD_IP}:4318 processors: - resourcedetection: - detectors: [env] - timeout: 2s - override: false - <<: *k8sattributes + <<: *otelResourcedetection + <<: *otelK8sattributes exporters: otlp: @@ -371,11 +359,7 @@ opentelemetry-metrics-cluster: service: telemetry: - logs: - level: info - encoding: json - metrics: - address: ${env:MY_POD_IP}:8888 + <<: *otelTelemetry pipelines: metrics: receivers: @@ -480,11 +464,8 @@ opentelemetry-traces: endpoint: 0.0.0.0:4318 processors: - resourcedetection: - detectors: [env] - timeout: 2s - override: false - <<: *k8sattributes + <<: *otelResourcedetection + <<: *otelK8sattributes exporters: otlp: @@ -495,11 +476,7 @@ opentelemetry-traces: service: telemetry: - logs: - level: info - encoding: json - metrics: - address: ${env:MY_POD_IP}:8888 + <<: *otelTelemetry pipelines: traces: receivers: @@ -638,11 +615,8 @@ opentelemetry-gateway: service: telemetry: - logs: - level: info - encoding: json - metrics: - address: ${env:MY_POD_IP}:8888 + <<: *otelTelemetry + pipelines: logs: receivers: From f07e6b6d2e500c20676f06861d6b9285033b3d0b Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 22:54:19 +0100 Subject: [PATCH 26/84] feat(opentelemetry): cleanup Signed-off-by: Nicolas Lamirault --- .../templates/credentials.yaml | 37 ++++++++------- .../opentelemetry-collector/values.yaml | 45 ++++++++++++++++--- 2 files changed, 60 insertions(+), 22 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index 9d6e05d3f3..5fe544c945 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -70,21 +70,24 @@ spec: name: opentelemetry-grafanacloud-credentials creationPolicy: Owner data: - - secretKey: GRAFANA_CLOUD_METRICS_ID + # - secretKey: GRAFANA_CLOUD_METRICS_ID + # remoteRef: + # key: GRAFANA_CLOUD_METRICS_ID + # - secretKey: GRAFANA_CLOUD_METRICS_APIKEY + # remoteRef: + # key: GRAFANA_CLOUD_METRICS_APIKEY + # - secretKey: GRAFANA_CLOUD_LOGS_ID + # remoteRef: + # key: GRAFANA_CLOUD_LOGS_ID + # - secretKey: GRAFANA_CLOUD_LOGS_APIKEY + # remoteRef: + # key: GRAFANA_CLOUD_LOGS_APIKEY + # - secretKey: GRAFANA_CLOUD_TRACES_ID + # remoteRef: + # key: GRAFANA_CLOUD_TRACES_ID + # - secretKey: GRAFANA_CLOUD_TRACES_APIKEY + # remoteRef: + # key: GRAFANA_CLOUD_TRACES_APIKEY + - secretKey: GRAFANA_CLOUD_OTEL_COLLECTOR remoteRef: - key: GRAFANA_CLOUD_METRICS_ID - - secretKey: GRAFANA_CLOUD_METRICS_APIKEY - remoteRef: - key: GRAFANA_CLOUD_METRICS_APIKEY - - secretKey: GRAFANA_CLOUD_LOGS_ID - remoteRef: - key: GRAFANA_CLOUD_LOGS_ID - - secretKey: GRAFANA_CLOUD_LOGS_APIKEY - remoteRef: - key: GRAFANA_CLOUD_LOGS_APIKEY - - secretKey: GRAFANA_CLOUD_TRACES_ID - remoteRef: - key: GRAFANA_CLOUD_TRACES_ID - - secretKey: GRAFANA_CLOUD_TRACES_APIKEY - remoteRef: - key: GRAFANA_CLOUD_TRACES_APIKEY + key: GRAFANA_CLOUD_OTEL_COLLECTOR_TOKEN diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 44a660b90b..8fc78eb86e 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -581,10 +581,10 @@ opentelemetry-gateway: extraEnvsFrom: - secretRef: name: opentelemetry-datadog-credentials - # - secretRef: - # name: opentelemetry-lightstep-credentials - # - secretRef: - # name: opentelemetry-grafanacloud-credentials + - secretRef: + name: opentelemetry-lightstep-credentials + - secretRef: + name: opentelemetry-grafanacloud-credentials config: receivers: @@ -603,7 +603,13 @@ opentelemetry-gateway: send_batch_size: 10 timeout: 10s - # exporters: + extensions: + basicauth/grafana_cloud: + client_auth: + username: "${GRAFANA_CLOUD_METRICS_ID}" + password: "${GRAFANA_CLOUD_METRICS_APIKEY}" + + exporters: # datadog: # metrics: # resource_attributes_as_tags: true @@ -613,6 +619,26 @@ opentelemetry-gateway: # key: ${env:DD_API_KEY} # site: "${env:DD_SITE}" + otlphttp/grafana_cloud: + endpoint: https://otlp-gateway-prod-eu-west-0.grafana.net/otlp + auth: + authenticator: basicauth/grafana_cloud + + otlp/honeycomb: + endpoint: "api.honeycomb.io:443" + headers: + "x-honeycomb-team": "${HONEYCOMB_API_KEY}" + otlp/honeycomb_metrics: + endpoint: "api.honeycomb.io:443" + headers: + "x-honeycomb-team": "${HONEYCOMB_API_KEY}" + "x-honeycomb-dataset": "portefaix-homelab-metrics" + + otlp/lightstep: + endpoint: ingest.lightstep.com:443 + headers: + "lightstep-access-token": "${LIGHTSTEP_TOKEN}" + service: telemetry: <<: *otelTelemetry @@ -628,6 +654,9 @@ opentelemetry-gateway: exporters: - debug # - datadog + # - otlphttp/grafanacloud + # - otlp/honeycomb + # - otlp/lightstep metrics: receivers: - otlp @@ -639,6 +668,9 @@ opentelemetry-gateway: exporters: - debug # - datadog + # - otlphttp/grafanacloud + # - otlp/honeycomb_metrics + # - otlp/lightstep traces: receivers: - otlp @@ -649,6 +681,9 @@ opentelemetry-gateway: exporters: - debug # - datadog + # - otlphttp/grafanacloud + # - otlp/honeycomb + # - otlp/lightstep ports: otlp: From 83a4444cdf70c4e221187ed0193804cb38f2c91b Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sun, 23 Feb 2025 23:33:01 +0100 Subject: [PATCH 27/84] feat(opentelemetry): security context for logs Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 8fc78eb86e..80fe910e5b 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -171,6 +171,10 @@ opentelemetry-logs: servicePort: 8888 protocol: TCP + securityContext: + runAsUser: 0 + runAsGroup: 0 + service: enabled: true @@ -606,8 +610,11 @@ opentelemetry-gateway: extensions: basicauth/grafana_cloud: client_auth: - username: "${GRAFANA_CLOUD_METRICS_ID}" - password: "${GRAFANA_CLOUD_METRICS_APIKEY}" + username: "${env:GRAFANA_CLOUD_OTEL_COLLECTOR_ID}" + password: "${env:GRAFANA_CLOUD_OTEL_COLLECTOR_TOKEN}" + bearertokenauth/dash0: + scheme: Bearer + token: ${env:DASH0_AUTHORIZATION_TOKEN} exporters: # datadog: @@ -618,6 +625,13 @@ opentelemetry-gateway: # api: # key: ${env:DD_API_KEY} # site: "${env:DD_SITE}" + # + otlphttp/datadog: + endpoint: https://api.datadoghq.com/api/intake/otlp/v1/metrics + headers: + dd-api-key: ${env:DD_API_KEY} + dd-otel-metric-config: "{resource_attributes_as_tags: true}" + dd-otlp-source: "${YOUR_SITE}" otlphttp/grafana_cloud: endpoint: https://otlp-gateway-prod-eu-west-0.grafana.net/otlp @@ -639,6 +653,11 @@ opentelemetry-gateway: headers: "lightstep-access-token": "${LIGHTSTEP_TOKEN}" + otlp/dash0: + auth: + authenticator: bearertokenauth/dash0 + endpoint: ingress.eu-west-1.aws.dash0.com:4317 + service: telemetry: <<: *otelTelemetry @@ -657,6 +676,7 @@ opentelemetry-gateway: # - otlphttp/grafanacloud # - otlp/honeycomb # - otlp/lightstep + # - otlp/dash0 metrics: receivers: - otlp @@ -671,6 +691,7 @@ opentelemetry-gateway: # - otlphttp/grafanacloud # - otlp/honeycomb_metrics # - otlp/lightstep + # - otlp/dash0 traces: receivers: - otlp @@ -684,6 +705,7 @@ opentelemetry-gateway: # - otlphttp/grafanacloud # - otlp/honeycomb # - otlp/lightstep + # - otlp/dash0 ports: otlp: From 2291ea99cb7584f3521b141b539f3c729025d6bc Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 08:18:14 +0100 Subject: [PATCH 28/84] feat(opentelemetry): clean labels Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/Chart.yaml | 4 ++++ .../opentelemetry/opentelemetry-collector/values.yaml | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml index 4cf2c304ea..3dd12e752d 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/Chart.yaml @@ -16,6 +16,10 @@ dependencies: repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 alias: opentelemetry-metrics +- name: opentelemetry-collector + repository: https://open-telemetry.github.io/opentelemetry-helm-charts + version: 0.116.0 + alias: opentelemetry-metrics-cluster - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts version: 0.116.0 diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 80fe910e5b..35d00e7525 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -79,6 +79,7 @@ opentelemetry: opentelemetry-logs: additionalLabels: + app.kubernetes.io/part-of: opentelemetry-collector portefaix.xyz/version: v0.54.0 mode: daemonset @@ -193,6 +194,7 @@ opentelemetry-logs: opentelemetry-metrics: additionalLabels: + app.kubernetes.io/part-of: opentelemetry-collector portefaix.xyz/version: v0.54.0 mode: daemonset @@ -307,6 +309,7 @@ opentelemetry-metrics: opentelemetry-metrics-cluster: additionalLabels: + app.kubernetes.io/part-of: opentelemetry-collector portefaix.xyz/version: v0.54.0 mode: deployment @@ -319,11 +322,11 @@ opentelemetry-metrics-cluster: logsCollection: enabled: false hostMetrics: - enabled: true + enabled: false kubernetesAttributes: enabled: true kubeletMetrics: - enabled: true + enabled: false kubernetesEvents: enabled: false clusterMetrics: @@ -421,6 +424,7 @@ opentelemetry-metrics-cluster: opentelemetry-traces: additionalLabels: + app.kubernetes.io/part-of: opentelemetry-collector portefaix.xyz/version: v0.54.0 mode: deployment @@ -545,6 +549,7 @@ opentelemetry-traces: opentelemetry-gateway: additionalLabels: + app.kubernetes.io/part-of: opentelemetry-collector portefaix.xyz/version: v0.54.0 mode: daemonset From 7d6d18f642d0dd0523b9947a73e328c071d02a28 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 08:47:15 +0100 Subject: [PATCH 29/84] feat(opentelemetry): add Kloudmate Signed-off-by: Nicolas Lamirault --- .../templates/credentials.yaml | 24 ++++ .../opentelemetry-collector/values.yaml | 119 +++++++++++------- 2 files changed, 99 insertions(+), 44 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index 5fe544c945..29122c44d0 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -91,3 +91,27 @@ spec: - secretKey: GRAFANA_CLOUD_OTEL_COLLECTOR remoteRef: key: GRAFANA_CLOUD_OTEL_COLLECTOR_TOKEN +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + {{- if .Values.additionalAnnotations }} + annotations: + {{ toYaml .Values.additionalAnnotations | indent 4 }} + {{- end }} + labels: + {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} + name: opentelemetry-kloudmate-credentials + namespace: {{ .Release.Namespace }} +spec: + refreshInterval: 1h + secretStoreRef: + kind: ClusterSecretStore + name: akeyless + target: + name: opentelemetry-kloudmate-credentials + creationPolicy: Owner + data: + - secretKey: KLOUDMATE_API_KEY + remoteRef: + key: KLOUDMATE_API_KEY diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 35d00e7525..b44e85e15d 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -11,6 +11,20 @@ grafanaDashboard: opentelemetry: + otelExtraEnvs: &otelExtraEnvs + extraEnvs: + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: OTEL_RESOURCE_ATTRIBUTES + value: "k8s.pod.ip=$(POD_IP)" + - name: OTEL_K8S_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + processors: otelResourcedetection: &otelResourcedetection resourcedetection: @@ -19,6 +33,7 @@ opentelemetry: - env timeout: 2s override: false + otelK8sattributes: &otelK8sattributes k8sattributes: pod_association: @@ -104,17 +119,18 @@ opentelemetry-logs: enabled: false extraEnvs: - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: OTEL_RESOURCE_ATTRIBUTES - value: "k8s.pod.ip=$(POD_IP)" - - name: OTEL_K8S_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace + <<: *otelExtraEnvs + # - name: POD_IP + # valueFrom: + # fieldRef: + # fieldPath: status.podIP + # - name: OTEL_RESOURCE_ATTRIBUTES + # value: "k8s.pod.ip=$(POD_IP)" + # - name: OTEL_K8S_NAMESPACE + # valueFrom: + # fieldRef: + # apiVersion: v1 + # fieldPath: metadata.namespace config: receivers: @@ -218,17 +234,18 @@ opentelemetry-metrics: enabled: false extraEnvs: - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: OTEL_RESOURCE_ATTRIBUTES - value: "k8s.pod.ip=$(POD_IP)" - - name: OTEL_K8S_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace + <<: *otelExtraEnvs + # - name: POD_IP + # valueFrom: + # fieldRef: + # fieldPath: status.podIP + # - name: OTEL_RESOURCE_ATTRIBUTES + # value: "k8s.pod.ip=$(POD_IP)" + # - name: OTEL_K8S_NAMESPACE + # valueFrom: + # fieldRef: + # apiVersion: v1 + # fieldPath: metadata.namespace config: receivers: @@ -240,6 +257,8 @@ opentelemetry-metrics: # endpoint: ${env:MY_POD_IP}:4317 # http: # endpoint: ${env:MY_POD_IP}:4318 + kubeletstats: + insecure_skip_verify: true processors: <<: *otelResourcedetection @@ -333,17 +352,18 @@ opentelemetry-metrics-cluster: enabled: true extraEnvs: - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: OTEL_RESOURCE_ATTRIBUTES - value: "k8s.pod.ip=$(POD_IP)" - - name: OTEL_K8S_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace + <<: *otelExtraEnvs + # - name: POD_IP + # valueFrom: + # fieldRef: + # fieldPath: status.podIP + # - name: OTEL_RESOURCE_ATTRIBUTES + # value: "k8s.pod.ip=$(POD_IP)" + # - name: OTEL_K8S_NAMESPACE + # valueFrom: + # fieldRef: + # apiVersion: v1 + # fieldPath: metadata.namespace config: receivers: @@ -448,17 +468,18 @@ opentelemetry-traces: enabled: false extraEnvs: - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: OTEL_RESOURCE_ATTRIBUTES - value: "k8s.pod.ip=$(POD_IP)" - - name: OTEL_K8S_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace + <<: *otelExtraEnvs + # - name: POD_IP + # valueFrom: + # fieldRef: + # fieldPath: status.podIP + # - name: OTEL_RESOURCE_ATTRIBUTES + # value: "k8s.pod.ip=$(POD_IP)" + # - name: OTEL_K8S_NAMESPACE + # valueFrom: + # fieldRef: + # apiVersion: v1 + # fieldPath: metadata.namespace config: receivers: @@ -594,6 +615,8 @@ opentelemetry-gateway: name: opentelemetry-lightstep-credentials - secretRef: name: opentelemetry-grafanacloud-credentials + - secretRef: + name: opentelemetry-kloudmate-credentials config: receivers: @@ -663,6 +686,11 @@ opentelemetry-gateway: authenticator: bearertokenauth/dash0 endpoint: ingress.eu-west-1.aws.dash0.com:4317 + otlphttp/kloudmate: + endpoint: https://otel.kloudmate.com:4318 + headers: + Authorization: "${env:KLOUDMATE_API_KEY}" + service: telemetry: <<: *otelTelemetry @@ -682,6 +710,7 @@ opentelemetry-gateway: # - otlp/honeycomb # - otlp/lightstep # - otlp/dash0 + # - otlphttp/kloudmate metrics: receivers: - otlp @@ -697,6 +726,7 @@ opentelemetry-gateway: # - otlp/honeycomb_metrics # - otlp/lightstep # - otlp/dash0 + # - otlphttp/kloudmate traces: receivers: - otlp @@ -711,6 +741,7 @@ opentelemetry-gateway: # - otlp/honeycomb # - otlp/lightstep # - otlp/dash0 + # - otlphttp/kloudmate ports: otlp: From 7367d78830bebb4cfe977f71c7a56758a9f9448d Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 08:56:48 +0100 Subject: [PATCH 30/84] feat(opentelemetry): enable some vendors Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index b44e85e15d..01a585c81a 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -708,9 +708,9 @@ opentelemetry-gateway: # - datadog # - otlphttp/grafanacloud # - otlp/honeycomb - # - otlp/lightstep + - otlp/lightstep # - otlp/dash0 - # - otlphttp/kloudmate + - otlphttp/kloudmate metrics: receivers: - otlp @@ -724,9 +724,9 @@ opentelemetry-gateway: # - datadog # - otlphttp/grafanacloud # - otlp/honeycomb_metrics - # - otlp/lightstep + - otlp/lightstep # - otlp/dash0 - # - otlphttp/kloudmate + - otlphttp/kloudmate traces: receivers: - otlp @@ -739,9 +739,9 @@ opentelemetry-gateway: # - datadog # - otlphttp/grafanacloud # - otlp/honeycomb - # - otlp/lightstep + - otlp/lightstep # - otlp/dash0 - # - otlphttp/kloudmate + - otlphttp/kloudmate ports: otlp: From 6a3c623db9a973777636b41e1454a4231a1d7cc7 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 09:02:09 +0100 Subject: [PATCH 31/84] feat(opentelemetry): enable some vendors Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 01a585c81a..8d4acaa1de 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -706,7 +706,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafanacloud + - otlphttp/grafanacloud # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 @@ -722,7 +722,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafanacloud + - otlphttp/grafanacloud # - otlp/honeycomb_metrics - otlp/lightstep # - otlp/dash0 @@ -737,7 +737,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafanacloud + - otlphttp/grafanacloud # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 From e4dddf3b34cd14f36584aafcf4db55ba4eb48ffb Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 09:31:22 +0100 Subject: [PATCH 32/84] feat(opentelemetry): enable OpAMP for Lightstep Signed-off-by: Nicolas Lamirault --- .../templates/credentials.yaml | 2 +- .../opentelemetry-collector/values.yaml | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index 29122c44d0..5cfb2b0fc8 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -46,7 +46,7 @@ spec: name: opentelemetry-lightstep-credentials creationPolicy: Owner data: - - secretKey: LIGHTSTEP_TOKEN + - secretKey: LS_TOKEN remoteRef: key: LIGHTSTEP_TOKEN --- diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 8d4acaa1de..aa2bd87f0a 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -643,6 +643,13 @@ opentelemetry-gateway: bearertokenauth/dash0: scheme: Bearer token: ${env:DASH0_AUTHORIZATION_TOKEN} + opamp/lightstep: + server: + ws: + endpoint: "wss://opamp.lightstep.com/v1/opamp" + headers: + Authorization: "bearer ${LS_OPAMP_API_KEY}" + exporters: # datadog: @@ -679,7 +686,7 @@ opentelemetry-gateway: otlp/lightstep: endpoint: ingest.lightstep.com:443 headers: - "lightstep-access-token": "${LIGHTSTEP_TOKEN}" + "lightstep-access-token": "${LS_TOKEN}" otlp/dash0: auth: @@ -695,6 +702,9 @@ opentelemetry-gateway: telemetry: <<: *otelTelemetry + extensions: + - opamp/lightstep + pipelines: logs: receivers: From a316989bf1b79260d5f5eeae4a5350dc6108d0cb Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 22:29:27 +0100 Subject: [PATCH 33/84] fix(opentelemetry): add healthcheck Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index aa2bd87f0a..c9dd03ade0 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -688,10 +688,14 @@ opentelemetry-gateway: headers: "lightstep-access-token": "${LS_TOKEN}" - otlp/dash0: + otlphttp/dash0: auth: authenticator: bearertokenauth/dash0 - endpoint: ingress.eu-west-1.aws.dash0.com:4317 + endpoint: https://ingress.eu-west-1.aws.dash0.com + # otlp/dash0: + # auth: + # authenticator: bearertokenauth/dash0 + # endpoint: ingress.eu-west-1.aws.dash0.com:4317 otlphttp/kloudmate: endpoint: https://otel.kloudmate.com:4318 @@ -703,6 +707,7 @@ opentelemetry-gateway: <<: *otelTelemetry extensions: + - health_check - opamp/lightstep pipelines: @@ -720,6 +725,7 @@ opentelemetry-gateway: # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 + - otlphttp/dash0 - otlphttp/kloudmate metrics: receivers: @@ -736,6 +742,7 @@ opentelemetry-gateway: # - otlp/honeycomb_metrics - otlp/lightstep # - otlp/dash0 + - otlphttp/dash0 - otlphttp/kloudmate traces: receivers: @@ -751,6 +758,7 @@ opentelemetry-gateway: # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 + - otlphttp/dash0 - otlphttp/kloudmate ports: From 855718b10d10edec65332a223f77b809cce42c0d Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 22:30:49 +0100 Subject: [PATCH 34/84] fix(opentelemetry): cleanup Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index c9dd03ade0..ce9c003cf3 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -668,10 +668,10 @@ opentelemetry-gateway: dd-otel-metric-config: "{resource_attributes_as_tags: true}" dd-otlp-source: "${YOUR_SITE}" - otlphttp/grafana_cloud: - endpoint: https://otlp-gateway-prod-eu-west-0.grafana.net/otlp - auth: - authenticator: basicauth/grafana_cloud + # otlphttp/grafana_cloud: + # endpoint: https://otlp-gateway-prod-eu-west-0.grafana.net/otlp + # auth: + # authenticator: basicauth/grafana_cloud otlp/honeycomb: endpoint: "api.honeycomb.io:443" @@ -688,10 +688,10 @@ opentelemetry-gateway: headers: "lightstep-access-token": "${LS_TOKEN}" - otlphttp/dash0: - auth: - authenticator: bearertokenauth/dash0 - endpoint: https://ingress.eu-west-1.aws.dash0.com + # otlphttp/dash0: + # auth: + # authenticator: bearertokenauth/dash0 + # endpoint: https://ingress.eu-west-1.aws.dash0.com # otlp/dash0: # auth: # authenticator: bearertokenauth/dash0 @@ -721,11 +721,11 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafanacloud + # - otlphttp/grafanacloud # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 - - otlphttp/dash0 + # - otlphttp/dash0 - otlphttp/kloudmate metrics: receivers: @@ -738,11 +738,11 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafanacloud + # - otlphttp/grafanacloud # - otlp/honeycomb_metrics - otlp/lightstep # - otlp/dash0 - - otlphttp/dash0 + # - otlphttp/dash0 - otlphttp/kloudmate traces: receivers: @@ -754,11 +754,11 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafanacloud + # - otlphttp/grafanacloud # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 - - otlphttp/dash0 + # - otlphttp/dash0 - otlphttp/kloudmate ports: From 44e5a0efb70be0e485a77f212034123f93927a71 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 22:33:06 +0100 Subject: [PATCH 35/84] fix(opentelemetry): cleanup again Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index ce9c003cf3..b0e18499a6 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -640,15 +640,15 @@ opentelemetry-gateway: client_auth: username: "${env:GRAFANA_CLOUD_OTEL_COLLECTOR_ID}" password: "${env:GRAFANA_CLOUD_OTEL_COLLECTOR_TOKEN}" - bearertokenauth/dash0: - scheme: Bearer - token: ${env:DASH0_AUTHORIZATION_TOKEN} - opamp/lightstep: - server: - ws: - endpoint: "wss://opamp.lightstep.com/v1/opamp" - headers: - Authorization: "bearer ${LS_OPAMP_API_KEY}" + # bearertokenauth/dash0: + # scheme: Bearer + # token: ${env:DASH0_AUTHORIZATION_TOKEN} + # opamp/lightstep: + # server: + # ws: + # endpoint: "wss://opamp.lightstep.com/v1/opamp" + # headers: + # Authorization: "bearer ${LS_OPAMP_API_KEY}" exporters: @@ -708,7 +708,7 @@ opentelemetry-gateway: extensions: - health_check - - opamp/lightstep + # - opamp/lightstep pipelines: logs: From 60a2c7689f7ea6838a21fd28378e25ea7280c4ca Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 22:42:37 +0100 Subject: [PATCH 36/84] feat(opentelemetry): change port Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index b0e18499a6..49992acc8d 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -381,7 +381,7 @@ opentelemetry-metrics-cluster: <<: *otelK8sattributes exporters: - otlp: + otlphttp: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: @@ -398,7 +398,7 @@ opentelemetry-metrics-cluster: - batch exporters: - debug - - otlp + - otlphttp ports: otlp: From 959b11b625b573197a53734a9f6cf4068f033272 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 22:54:52 +0100 Subject: [PATCH 37/84] feat(opentelemetry): host metrics Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 49992acc8d..92155caa76 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -375,6 +375,15 @@ opentelemetry-metrics-cluster: # endpoint: ${env:MY_POD_IP}:4317 # http: # endpoint: ${env:MY_POD_IP}:4318 + hostmetrics: + collection_interval: 5s + scrapers: + cpu: + disk: + filesystem: + load: + memory: + network: processors: <<: *otelResourcedetection From 98de766eeb0ae3191d952b972056e87e2a62f695 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 23:11:51 +0100 Subject: [PATCH 38/84] feat(opentelemetry): clean metrics Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 171 ++++++++++++------ 1 file changed, 115 insertions(+), 56 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 92155caa76..82b12dff79 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -24,6 +24,8 @@ opentelemetry: fieldRef: apiVersion: v1 fieldPath: metadata.namespace + - name: OTEL_RESOURCE_ATTRIBUTES + value: "k8s.cluster.name=portefaix-talos-homelab" processors: otelResourcedetection: &otelResourcedetection @@ -34,55 +36,6 @@ opentelemetry: timeout: 2s override: false - otelK8sattributes: &otelK8sattributes - k8sattributes: - pod_association: - - sources: - - from: resource_attribute - name: k8s.pod.ip - extract: - metadata: - - k8s.pod.name - - k8s.pod.uid - - k8s.deployment.name - - k8s.node.name - - k8s.namespace.name - - k8s.pod.start_time - - k8s.replicaset.name - - k8s.replicaset.uid - - k8s.daemonset.name - - k8s.daemonset.uid - - k8s.job.name - - k8s.job.uid - - k8s.cronjob.name - - k8s.statefulset.name - - k8s.statefulset.uid - - container.image.name - - container.image.tag - - container.id - - k8s.container.name - - container.image.name - - container.image.tag - - container.id - labels: - - tag_name: kube_app_name - key: app.kubernetes.io/name - from: pod - - tag_name: kube_app_instance - key: app.kubernetes.io/instance - from: pod - - tag_name: kube_app_version - key: app.kubernetes.io/version - from: pod - - tag_name: kube_app_component - key: app.kubernetes.io/component - from: pod - - tag_name: kube_app_part_of - key: app.kubernetes.io/part-of - from: pod - - tag_name: kube_app_managed_by - key: app.kubernetes.io/managed-by - from: pod service: otelTelemetry: &otelTelemetry logs: @@ -139,7 +92,6 @@ opentelemetry-logs: otlp: null processors: <<: *otelResourcedetection - <<: *otelK8sattributes exporters: otlphttp: @@ -262,7 +214,69 @@ opentelemetry-metrics: processors: <<: *otelResourcedetection - <<: *otelK8sattributes + k8sattributes: + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.ip + extract: + labels: + - from: pod + key: app.kubernetes.io/name + tag_name: service.name + - from: pod + key: k8s-app + tag_name: service.name + - from: pod + key: app.kubernetes.io/instance + tag_name: k8s.app.instance + - from: pod + key: app.kubernetes.io/version + tag_name: service.version + - from: pod + key: app.kubernetes.io/component + tag_name: k8s.app.component + - from: pod + key: app.kubernetes.io/part-of + tag_name: k8s.app.part_of + - from: pod + key: app.kubernetes.io/managed-by + tag_name: k8s.app.managed_by + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - k8s.container.name + - container.id + - container.image.name + - container.image.tag + - container.id + - k8s.cluster.uid + + resource: + attributes: + - key: k8s.cluster.name + value: ${env:KUBE_CLUSTER_NAME} + action: insert + attributes: + actions: + - key: cluster + value: ${env:KUBE_CLUSTER_NAME} + action: insert exporters: otlp: @@ -278,6 +292,8 @@ opentelemetry-metrics: - prometheus processors: - resourcedetection + - resource + - attributes - memory_limiter - batch exporters: @@ -379,15 +395,59 @@ opentelemetry-metrics-cluster: collection_interval: 5s scrapers: cpu: - disk: + metrics: + system.cpu.utilization: + enabled: true + disk: {} filesystem: - load: + exclude_fs_types: + fs_types: + - autofs + - binfmt_misc + - bpf + - cgroup2 + - configfs + - debugfs + - devpts + - devtmpfs + - fusectl + - hugetlbfs + - iso9660 + - mqueue + - nsfs + - overlay + - proc + - procfs + - pstore + - rpc_pipefs + - securityfs + - selinuxfs + - squashfs + - sysfs + - tracefs + match_type: strict + exclude_mount_points: + match_type: regexp + mount_points: + - /dev/* + - /proc/* + - /sys/* + - /run/k3s/containerd/* + - /var/lib/docker/* + - /var/lib/kubelet/* + - /snap/* + metrics: + system.filesystem.utilization: + enabled: true + load: {} memory: - network: + metrics: + system.memory.utilization: + enabled: true + network: {} processors: <<: *otelResourcedetection - <<: *otelK8sattributes exporters: otlphttp: @@ -503,7 +563,6 @@ opentelemetry-traces: processors: <<: *otelResourcedetection - <<: *otelK8sattributes exporters: otlp: From 187e74156c5a86d69f248383a85cf765a0474b61 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 23:14:46 +0100 Subject: [PATCH 39/84] feat(opentelemetry): clean Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 82b12dff79..6d677439a5 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -266,6 +266,30 @@ opentelemetry-metrics: - container.image.tag - container.id - k8s.cluster.uid + filter: + node_from_env_var: K8S_NODE_NAME + passthrough: false + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.uid + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - from: resource_attribute + name: k8s.node.name + - sources: + - from: resource_attribute + name: k8s.pod.ip + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - sources: + - from: connection resource: attributes: From 7039a479ab18234440249498b766fd65994fc28d Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Mon, 24 Feb 2025 23:16:28 +0100 Subject: [PATCH 40/84] feat(opentelemetry): clean again Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 52 +++++++++---------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 6d677439a5..c78c6479d3 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -215,10 +215,6 @@ opentelemetry-metrics: processors: <<: *otelResourcedetection k8sattributes: - pod_association: - - sources: - - from: resource_attribute - name: k8s.pod.ip extract: labels: - from: pod @@ -266,30 +262,30 @@ opentelemetry-metrics: - container.image.tag - container.id - k8s.cluster.uid - filter: - node_from_env_var: K8S_NODE_NAME - passthrough: false - pod_association: - - sources: - - from: resource_attribute - name: k8s.pod.uid - - sources: - - from: resource_attribute - name: k8s.pod.name - - from: resource_attribute - name: k8s.namespace.name - - from: resource_attribute - name: k8s.node.name - - sources: - - from: resource_attribute - name: k8s.pod.ip - - sources: - - from: resource_attribute - name: k8s.pod.name - - from: resource_attribute - name: k8s.namespace.name - - sources: - - from: connection + filter: + node_from_env_var: K8S_NODE_NAME + passthrough: false + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.uid + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - from: resource_attribute + name: k8s.node.name + - sources: + - from: resource_attribute + name: k8s.pod.ip + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - sources: + - from: connection resource: attributes: From 435674006c019ad97725492638486b3dab945cdf Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 07:34:18 +0100 Subject: [PATCH 41/84] feat(opentelemetry): add resource Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index c78c6479d3..01131498fb 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -90,8 +90,14 @@ opentelemetry-logs: jaeger: null zipkin: null otlp: null + processors: <<: *otelResourcedetection + resource: + attributes: + - key: k8s.cluster.name + value: ${env:KUBE_CLUSTER_NAME} + action: insert exporters: otlphttp: @@ -106,6 +112,7 @@ opentelemetry-logs: - filelog processors: - resourcedetection + - resource - memory_limiter - batch exporters: @@ -286,17 +293,11 @@ opentelemetry-metrics: name: k8s.namespace.name - sources: - from: connection - resource: attributes: - key: k8s.cluster.name value: ${env:KUBE_CLUSTER_NAME} action: insert - attributes: - actions: - - key: cluster - value: ${env:KUBE_CLUSTER_NAME} - action: insert exporters: otlp: @@ -459,15 +460,26 @@ opentelemetry-metrics-cluster: metrics: system.filesystem.utilization: enabled: true - load: {} + load: memory: metrics: system.memory.utilization: enabled: true - network: {} + network: + processes: + paging: + metrics: + system.paging.utilization: + enabled: true + process: processors: <<: *otelResourcedetection + resource: + attributes: + - key: k8s.cluster.name + value: ${env:KUBE_CLUSTER_NAME} + action: insert exporters: otlphttp: @@ -483,6 +495,8 @@ opentelemetry-metrics-cluster: - prometheus processors: - resourcedetection + - resource + - k8sattributes - memory_limiter - batch exporters: @@ -583,6 +597,11 @@ opentelemetry-traces: processors: <<: *otelResourcedetection + resource: + attributes: + - key: k8s.cluster.name + value: ${env:KUBE_CLUSTER_NAME} + action: insert exporters: otlp: @@ -600,6 +619,7 @@ opentelemetry-traces: - otlp processors: - resourcedetection + - resource - batch exporters: - debug From 95dc320c70617b56d304ee4d92c4852026ed5032 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 07:39:50 +0100 Subject: [PATCH 42/84] feat(opentelemetry): remove resource Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 01131498fb..a9495adfd1 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -93,11 +93,6 @@ opentelemetry-logs: processors: <<: *otelResourcedetection - resource: - attributes: - - key: k8s.cluster.name - value: ${env:KUBE_CLUSTER_NAME} - action: insert exporters: otlphttp: @@ -293,11 +288,6 @@ opentelemetry-metrics: name: k8s.namespace.name - sources: - from: connection - resource: - attributes: - - key: k8s.cluster.name - value: ${env:KUBE_CLUSTER_NAME} - action: insert exporters: otlp: @@ -475,11 +465,6 @@ opentelemetry-metrics-cluster: processors: <<: *otelResourcedetection - resource: - attributes: - - key: k8s.cluster.name - value: ${env:KUBE_CLUSTER_NAME} - action: insert exporters: otlphttp: @@ -597,11 +582,6 @@ opentelemetry-traces: processors: <<: *otelResourcedetection - resource: - attributes: - - key: k8s.cluster.name - value: ${env:KUBE_CLUSTER_NAME} - action: insert exporters: otlp: From 9c15374054bc24e371429a8e83c20c398d60f433 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 07:43:01 +0100 Subject: [PATCH 43/84] feat(opentelemetry): clean Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index a9495adfd1..c953c4831a 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -107,7 +107,6 @@ opentelemetry-logs: - filelog processors: - resourcedetection - - resource - memory_limiter - batch exporters: @@ -303,7 +302,6 @@ opentelemetry-metrics: - prometheus processors: - resourcedetection - - resource - attributes - memory_limiter - batch @@ -480,7 +478,6 @@ opentelemetry-metrics-cluster: - prometheus processors: - resourcedetection - - resource - k8sattributes - memory_limiter - batch @@ -599,7 +596,6 @@ opentelemetry-traces: - otlp processors: - resourcedetection - - resource - batch exporters: - debug From 400b9e0d6e3291e2ed368a316651f3948b159fe0 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 07:56:19 +0100 Subject: [PATCH 44/84] feat(opentelemetry): metrics setup Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 318 ++++++++++-------- 1 file changed, 186 insertions(+), 132 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index c953c4831a..10c137cddc 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -36,6 +36,81 @@ opentelemetry: timeout: 2s override: false + otelK8sAttributes: &otelK8sAttributes + k8sattributes: + extract: + labels: + - from: pod + key: app.kubernetes.io/name + tag_name: service.name + - from: pod + key: k8s-app + tag_name: service.name + - from: pod + key: app.kubernetes.io/instance + tag_name: k8s.app.instance + - from: pod + key: app.kubernetes.io/version + tag_name: service.version + - from: pod + key: app.kubernetes.io/component + tag_name: k8s.app.component + - from: pod + key: app.kubernetes.io/part-of + tag_name: k8s.app.part_of + - from: pod + key: app.kubernetes.io/managed-by + tag_name: k8s.app.managed_by + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - k8s.container.name + - container.id + - container.image.name + - container.image.tag + - container.id + - k8s.cluster.uid + filter: + node_from_env_var: K8S_NODE_NAME + passthrough: false + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.uid + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - from: resource_attribute + name: k8s.node.name + - sources: + - from: resource_attribute + name: k8s.pod.ip + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - sources: + - from: connection + + service: otelTelemetry: &otelTelemetry logs: @@ -93,6 +168,7 @@ opentelemetry-logs: processors: <<: *otelResourcedetection + <<: *otelK8sAttributes exporters: otlphttp: @@ -107,6 +183,7 @@ opentelemetry-logs: - filelog processors: - resourcedetection + - k8sattributes - memory_limiter - batch exporters: @@ -212,81 +289,95 @@ opentelemetry-metrics: # endpoint: ${env:MY_POD_IP}:4318 kubeletstats: insecure_skip_verify: true + metric_groups: + - node + - pod + - volume + - container + metrics: + container.cpu.usage: + enabled: true + k8s.node.cpu.usage: + enabled: true + k8s.node.uptime: + enabled: true + k8s.pod.cpu.usage: + enabled: true + k8s.pod.uptime: + enabled: true + hostmetrics: + scrapers: + cpu: + metrics: + system.cpu.logical.count: + enabled: true + memory: + metrics: + system.memory.utilization: + enabled: true + system.memory.limit: + enabled: true + load: {} + disk: {} + filesystem: + exclude_fs_types: + fs_types: + - autofs + - binfmt_misc + - bpf + - cgroup2 + - configfs + - debugfs + - devpts + - devtmpfs + - fusectl + - hugetlbfs + - iso9660 + - mqueue + - nsfs + - overlay + - proc + - procfs + - pstore + - rpc_pipefs + - securityfs + - selinuxfs + - squashfs + - sysfs + - tracefs + match_type: strict + exclude_mount_points: + match_type: regexp + mount_points: + - /dev/* + - /proc/* + - /sys/* + - /run/k3s/containerd/* + - /var/lib/docker/* + - /var/lib/kubelet/* + - /snap/* + metrics: + system.filesystem.utilization: + enabled: true + network: {} + paging: {} + processes: {} + process: + mute_process_user_error: true + metrics: + process.cpu.utilization: + enabled: true + process.memory.utilization: + enabled: true + process.threads: + enabled: true + process.paging.faults: + enabled: true + processors: <<: *otelResourcedetection - k8sattributes: - extract: - labels: - - from: pod - key: app.kubernetes.io/name - tag_name: service.name - - from: pod - key: k8s-app - tag_name: service.name - - from: pod - key: app.kubernetes.io/instance - tag_name: k8s.app.instance - - from: pod - key: app.kubernetes.io/version - tag_name: service.version - - from: pod - key: app.kubernetes.io/component - tag_name: k8s.app.component - - from: pod - key: app.kubernetes.io/part-of - tag_name: k8s.app.part_of - - from: pod - key: app.kubernetes.io/managed-by - tag_name: k8s.app.managed_by - metadata: - - k8s.pod.name - - k8s.pod.uid - - k8s.deployment.name - - k8s.node.name - - k8s.namespace.name - - k8s.pod.start_time - - k8s.replicaset.name - - k8s.replicaset.uid - - k8s.daemonset.name - - k8s.daemonset.uid - - k8s.job.name - - k8s.job.uid - - k8s.cronjob.name - - k8s.statefulset.name - - k8s.statefulset.uid - - container.image.name - - container.image.tag - - k8s.container.name - - container.id - - container.image.name - - container.image.tag - - container.id - - k8s.cluster.uid - filter: - node_from_env_var: K8S_NODE_NAME - passthrough: false - pod_association: - - sources: - - from: resource_attribute - name: k8s.pod.uid - - sources: - - from: resource_attribute - name: k8s.pod.name - - from: resource_attribute - name: k8s.namespace.name - - from: resource_attribute - name: k8s.node.name - - sources: - - from: resource_attribute - name: k8s.pod.ip - - sources: - - from: resource_attribute - name: k8s.pod.name - - from: resource_attribute - name: k8s.namespace.name - - sources: - - from: connection + <<: *otelK8sAttributes exporters: otlp: @@ -302,6 +393,7 @@ opentelemetry-metrics: - prometheus processors: - resourcedetection + - k8sattributes - attributes - memory_limiter - batch @@ -400,69 +492,27 @@ opentelemetry-metrics-cluster: # endpoint: ${env:MY_POD_IP}:4317 # http: # endpoint: ${env:MY_POD_IP}:4318 - hostmetrics: - collection_interval: 5s - scrapers: - cpu: - metrics: - system.cpu.utilization: - enabled: true - disk: {} - filesystem: - exclude_fs_types: - fs_types: - - autofs - - binfmt_misc - - bpf - - cgroup2 - - configfs - - debugfs - - devpts - - devtmpfs - - fusectl - - hugetlbfs - - iso9660 - - mqueue - - nsfs - - overlay - - proc - - procfs - - pstore - - rpc_pipefs - - securityfs - - selinuxfs - - squashfs - - sysfs - - tracefs - match_type: strict - exclude_mount_points: - match_type: regexp - mount_points: - - /dev/* - - /proc/* - - /sys/* - - /run/k3s/containerd/* - - /var/lib/docker/* - - /var/lib/kubelet/* - - /snap/* - metrics: - system.filesystem.utilization: - enabled: true - load: - memory: - metrics: - system.memory.utilization: - enabled: true - network: - processes: - paging: - metrics: - system.paging.utilization: - enabled: true - process: + k8s_cluster: + allocatable_types_to_report: + - cpu + - memory + - storage + node_conditions_to_report: + - Ready + - MemoryPressure + - DiskPressure + - NetworkUnavailable + k8sobjects: + # objects: + # - exclude_watch_type: + # - DELETED + # group: events.k8s.io + # mode: watch + # name: events processors: <<: *otelResourcedetection + <<: *otelK8sAttributes exporters: otlphttp: @@ -579,6 +629,7 @@ opentelemetry-traces: processors: <<: *otelResourcedetection + <<: *otelK8sAttributes exporters: otlp: @@ -596,6 +647,7 @@ opentelemetry-traces: - otlp processors: - resourcedetection + - k8sattributes - batch exporters: - debug @@ -604,6 +656,8 @@ opentelemetry-traces: receivers: - otlp processors: + - resourcedetection + - k8sattributes - memory_limiter - batch exporters: From dad2a7750b9dd08a2e83eb83bb4d5556419a3d72 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 07:58:56 +0100 Subject: [PATCH 45/84] feat(opentelemetry): clean Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 10c137cddc..a926a95ae9 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -394,7 +394,6 @@ opentelemetry-metrics: processors: - resourcedetection - k8sattributes - - attributes - memory_limiter - batch exporters: From ea4c1b0a41befc284166a3e54114e0b91d7996fe Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 08:01:49 +0100 Subject: [PATCH 46/84] feat(opentelemetry): add Grafana Cloud vendor Signed-off-by: Nicolas Lamirault --- .../templates/credentials.yaml | 5 ++++- .../opentelemetry-collector/values.yaml | 14 +++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index 5cfb2b0fc8..d3aafd5833 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -88,9 +88,12 @@ spec: # - secretKey: GRAFANA_CLOUD_TRACES_APIKEY # remoteRef: # key: GRAFANA_CLOUD_TRACES_APIKEY - - secretKey: GRAFANA_CLOUD_OTEL_COLLECTOR + - secretKey: GRAFANA_CLOUD_OTEL_COLLECTOR_TOKEN remoteRef: key: GRAFANA_CLOUD_OTEL_COLLECTOR_TOKEN + - secretKey: GRAFANA_CLOUD_OTEL_COLLECTOR_ID + remoteRef: + key: GRAFANA_CLOUD_OTEL_COLLECTOR_ID --- apiVersion: external-secrets.io/v1beta1 kind: ExternalSecret diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index a926a95ae9..1cba75d6ce 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -805,10 +805,10 @@ opentelemetry-gateway: dd-otel-metric-config: "{resource_attributes_as_tags: true}" dd-otlp-source: "${YOUR_SITE}" - # otlphttp/grafana_cloud: - # endpoint: https://otlp-gateway-prod-eu-west-0.grafana.net/otlp - # auth: - # authenticator: basicauth/grafana_cloud + otlphttp/grafana_cloud: + endpoint: https://otlp-gateway-prod-eu-west-0.grafana.net/otlp + auth: + authenticator: basicauth/grafana_cloud otlp/honeycomb: endpoint: "api.honeycomb.io:443" @@ -858,7 +858,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafanacloud + - otlphttp/grafanacloud # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 @@ -875,7 +875,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafanacloud + - otlphttp/grafanacloud # - otlp/honeycomb_metrics - otlp/lightstep # - otlp/dash0 @@ -891,7 +891,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafanacloud + - otlphttp/grafanacloud # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 From b3c13fc9badaa3e0435a5191936204ae50b2d0e5 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 08:03:24 +0100 Subject: [PATCH 47/84] feat(opentelemetry): typo Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 1cba75d6ce..f489930adb 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -858,7 +858,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafanacloud + - otlphttp/grafana_cloud # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 @@ -875,7 +875,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafanacloud + - otlphttp/grafana_cloud # - otlp/honeycomb_metrics - otlp/lightstep # - otlp/dash0 @@ -891,7 +891,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafanacloud + - otlphttp/grafana_cloud # - otlp/honeycomb - otlp/lightstep # - otlp/dash0 From 5b46d3171307af5c65fb75e7ef56a2a84430b2ac Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 08:07:23 +0100 Subject: [PATCH 48/84] feat(opentelemetry): typo extensions Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index f489930adb..9b5b7b0eac 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -846,6 +846,7 @@ opentelemetry-gateway: extensions: - health_check # - opamp/lightstep + - basicauth/grafana_cloud pipelines: logs: From 26cd4c3b2c9807397e1a87f0128c3b0439ea43fa Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 08:24:44 +0100 Subject: [PATCH 49/84] feat(opentelemetry): add transform processors Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 9b5b7b0eac..cb0bfa96c3 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -169,6 +169,18 @@ opentelemetry-logs: processors: <<: *otelResourcedetection <<: *otelK8sAttributes + transform: + log_statements: + - context: log + statements: + - set(attributes["node"], resource.attributes["k8s.node.name"]) + - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) + - set(attributes["namespace"], resource.attributes["k8s.namespace.name"]) + - set(attributes["container"], resource.attributes["k8s.container.name"]) + - set(attributes["pod"], resource.attributes["k8s.pod.name"]) + - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) + - set(attributes["app"], resource.attributes["app"]) + - set(attributes["loki.attribute.labels"], "node, deployment, namespace, container, pod, app") exporters: otlphttp: @@ -185,6 +197,7 @@ opentelemetry-logs: - resourcedetection - k8sattributes - memory_limiter + - transform - batch exporters: - debug @@ -378,6 +391,19 @@ opentelemetry-metrics: processors: <<: *otelResourcedetection <<: *otelK8sAttributes + transform: + metric_statements: + - context: datapoint + statements: + - set(attributes["node"], resource.attributes["k8s.node.name"]) + - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) + - set(attributes["namespace"], resource.attributes["k8s.namespace.name"]) + - set(attributes["container"], resource.attributes["k8s.container.name"]) + - set(attributes["pod"], resource.attributes["k8s.pod.name"]) + - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) + - set(attributes["app"], resource.attributes["app"]) + - set(attributes["host_name"], resource.attributes["k8s.node.name"]) + - set(attributes["service_namespace"], resource.attributes["k8s.namespace.name"]) exporters: otlp: @@ -395,6 +421,7 @@ opentelemetry-metrics: - resourcedetection - k8sattributes - memory_limiter + - transform - batch exporters: - debug @@ -512,6 +539,17 @@ opentelemetry-metrics-cluster: processors: <<: *otelResourcedetection <<: *otelK8sAttributes + transform: + trace_statements: + - context: span + statements: + - set(attributes["node"], resource.attributes["k8s.node.name"]) + - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) + - set(attributes["namespace"], resource.attributes["k8s.namespace.name"]) + - set(attributes["container"], resource.attributes["k8s.container.name"]) + - set(attributes["pod"], resource.attributes["k8s.pod.name"]) + - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) + - set(attributes["app"], resource.attributes["app"]) exporters: otlphttp: @@ -529,6 +567,7 @@ opentelemetry-metrics-cluster: - resourcedetection - k8sattributes - memory_limiter + - transform - batch exporters: - debug From 2c956aed806ed79f21040dffbda0a2d30ab48ee2 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 08:25:59 +0100 Subject: [PATCH 50/84] feat(opentelemetry): add transform processors Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index cb0bfa96c3..8b742176b5 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -540,8 +540,8 @@ opentelemetry-metrics-cluster: <<: *otelResourcedetection <<: *otelK8sAttributes transform: - trace_statements: - - context: span + metric_statements: + - context: datapoint statements: - set(attributes["node"], resource.attributes["k8s.node.name"]) - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) @@ -550,6 +550,8 @@ opentelemetry-metrics-cluster: - set(attributes["pod"], resource.attributes["k8s.pod.name"]) - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) - set(attributes["app"], resource.attributes["app"]) + - set(attributes["host_name"], resource.attributes["k8s.node.name"]) + - set(attributes["service_namespace"], resource.attributes["k8s.namespace.name"]) exporters: otlphttp: @@ -668,6 +670,17 @@ opentelemetry-traces: processors: <<: *otelResourcedetection <<: *otelK8sAttributes + transform: + trace_statements: + - context: span + statements: + - set(attributes["node"], resource.attributes["k8s.node.name"]) + - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) + - set(attributes["namespace"], resource.attributes["k8s.namespace.name"]) + - set(attributes["container"], resource.attributes["k8s.container.name"]) + - set(attributes["pod"], resource.attributes["k8s.pod.name"]) + - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) + - set(attributes["app"], resource.attributes["app"]) exporters: otlp: @@ -686,6 +699,7 @@ opentelemetry-traces: processors: - resourcedetection - k8sattributes + - transform - batch exporters: - debug From ae0b052bdff97793e2d96e19fac105db8edc4c09 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 08:32:47 +0100 Subject: [PATCH 51/84] feat(opentelemetry): clean metrics Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 8b742176b5..0252846819 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -375,17 +375,17 @@ opentelemetry-metrics: network: {} paging: {} processes: {} - process: - mute_process_user_error: true - metrics: - process.cpu.utilization: - enabled: true - process.memory.utilization: - enabled: true - process.threads: - enabled: true - process.paging.faults: - enabled: true + process: {} + # mute_process_user_error: true + # metrics: + # process.cpu.utilization: + # enabled: true + # process.memory.utilization: + # enabled: true + # process.threads: + # enabled: true + # process.paging.faults: + # enabled: true processors: From 7df9fdd7f1e71d79d4515c18d86dca68c8f49adf Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 08:35:41 +0100 Subject: [PATCH 52/84] feat(opentelemetry): use otlphttp Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 0252846819..8d4679b389 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -406,7 +406,7 @@ opentelemetry-metrics: - set(attributes["service_namespace"], resource.attributes["k8s.namespace.name"]) exporters: - otlp: + otlphttp: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: @@ -425,7 +425,7 @@ opentelemetry-metrics: - batch exporters: - debug - - otlp + - otlphttp ports: otlp: @@ -683,7 +683,7 @@ opentelemetry-traces: - set(attributes["app"], resource.attributes["app"]) exporters: - otlp: + otlphttp: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 connectors: @@ -714,7 +714,7 @@ opentelemetry-traces: - batch exporters: - debug - - otlp + - otlphttp ports: otlp: From 640491666d30814c9c666e14fe7278511dfdbdb6 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 08:36:25 +0100 Subject: [PATCH 53/84] feat(opentelemetry): use otlphttp for all Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 8d4679b389..87c5283c82 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -703,7 +703,7 @@ opentelemetry-traces: - batch exporters: - debug - - otlp + - otlphttp traces/sampling: receivers: - otlp From c94eb418cf661baab06d696d18893294a4330342 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 09:25:14 +0100 Subject: [PATCH 54/84] feat(opentelemetry): add cluster metrics and events Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 87c5283c82..4963080a2d 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -61,6 +61,15 @@ opentelemetry: - from: pod key: app.kubernetes.io/managed-by tag_name: k8s.app.managed_by + # Extract all labels + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + # annotations: + # Extract all annotations + # - tag_name: $$1 + # key_regex: (.*) + # from: pod metadata: - k8s.pod.name - k8s.pod.uid @@ -272,7 +281,7 @@ opentelemetry-metrics: kubeletMetrics: enabled: true kubernetesEvents: - enabled: true + enabled: false clusterMetrics: enabled: false @@ -490,7 +499,7 @@ opentelemetry-metrics-cluster: kubeletMetrics: enabled: false kubernetesEvents: - enabled: false + enabled: true clusterMetrics: enabled: true @@ -529,12 +538,12 @@ opentelemetry-metrics-cluster: - DiskPressure - NetworkUnavailable k8sobjects: - # objects: - # - exclude_watch_type: - # - DELETED - # group: events.k8s.io - # mode: watch - # name: events + objects: + - exclude_watch_type: + - DELETED + group: events.k8s.io + mode: watch + name: events processors: <<: *otelResourcedetection @@ -561,10 +570,22 @@ opentelemetry-metrics-cluster: telemetry: <<: *otelTelemetry pipelines: + logs: + receivers: + - k8sobjects + processors: + - resourcedetection + - k8sattributes + - memory_limiter + - batch + exporters: + - debug + - otlphttp metrics: receivers: # - otlp - prometheus + - k8s_cluster processors: - resourcedetection - k8sattributes From cef23959379095b2e554646445780c78c8ae2e9f Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 09:43:03 +0100 Subject: [PATCH 55/84] feat(opentelemetry): clean logs Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 4963080a2d..22b74e4630 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -171,9 +171,9 @@ opentelemetry-logs: config: receivers: - jaeger: null - zipkin: null - otlp: null + jaeger: + zipkin: + otlp: processors: <<: *otelResourcedetection @@ -211,8 +211,8 @@ opentelemetry-logs: exporters: - debug - otlphttp - metrics: null - traces: null + metrics: + traces: ports: otlp: From 610aa70ad65c8c5028e6e75e506750b53169d3e8 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 09:48:03 +0100 Subject: [PATCH 56/84] feat(opentelemetry): clean traces Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry-collector-0.116.0.tgz | Bin 35599 -> 0 bytes .../opentelemetry-collector/values.yaml | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 gitops/argocd/charts/opentelemetry/opentelemetry-collector/charts/opentelemetry-collector-0.116.0.tgz diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/charts/opentelemetry-collector-0.116.0.tgz b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/charts/opentelemetry-collector-0.116.0.tgz deleted file mode 100644 index 653c40610028399e076830535e83b8e10cbceeb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35599 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 Date: Tue, 25 Feb 2025 12:51:38 +0100 Subject: [PATCH 57/84] feat(opentelemetry): clean resources and attributes Signed-off-by: Nicolas Lamirault --- .../values-talos-homelab.yaml | 1275 +++++++++-------- .../opentelemetry-collector/values.yaml | 118 +- 2 files changed, 686 insertions(+), 707 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml index cb63fdf80d..dc8a13f499 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml @@ -2,636 +2,645 @@ # SPDX-License-Identifier: Apache-2.0 --- -opentelemetry-collector: - resources: - limits: - # cpu: 500m - memory: 3Gi - requests: - cpu: 300m - memory: 500Mi - - - - - - -envEnvFrom: -- secretRef: - name: opentelemetry-datadog-credentials -- secretRef: - name: opentelemetry-lightstep-credentials -- secretRef: - name: opentelemetry-grafanacloud-credentials - -extraEnvs: -- name: "K8S_NODE_NAME" - valueFrom: - fieldRef: - fieldPath: "spec.nodeName" -- name: "K8S_POD_NAME" - valueFrom: - fieldRef: - fieldPath: "metadata.name" -- name: "K8S_NAMESPACE" - valueFrom: - fieldRef: - fieldPath: "metadata.namespace" - -serviceMonitor: - enabled: true - # extraLabels: - # prometheus.io/operator: portefaix - -# targetAllocator: -# replicas: 1 - -collectors: -- name: metrics - enabled: true - mode: statefulset - image: - repository: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib - tag: 0.80.0 - serviceMonitor: - enabled: true - additionalLabels: - # prometheus.io/operator: portefaix - observability: portefaix - - targetAllocator: - enabled: true - # serviceAccount: opentelemetry-targetallocator-sa - allocationStrategy: consistent-hashing - filterStrategy: relabel-config - image: - repository: ghcr.io/open-telemetry/opentelemetry-operator/target-allocator - tag: 0.80.0 - replicas: 1 - prometheusCR: - enabled: true - serviceMonitorSelector: - prometheus.io/operator: portefaix - # observability: portefaix - serviceMonitor: - enabled: true - additionalLabels: - # prometheus.io/operator: portefaix - observability: portefaix - - - - config: - extensions: - health_check: - - memory_ballast: - size_in_percentage: 20 - - # k8s_observer: - # auth_type: serviceAccount - # node: ${K8S_NODE_NAME} - # observe_pods: true - # observe_nodes: true - - pprof: - endpoint: :1888 - - zpages: - endpoint: :55679 - - basicauth/grafanacloud: - client_auth: - username: "${GRAFANA_CLOUD_METRICS_ID}" - password: "${GRAFANA_CLOUD_METRICS_APIKEY}" - - receivers: - hostmetrics: - collection_interval: 60s - scrapers: - cpu: - load: - memory: - disk: - filesystem: - network: - processes: - - prometheus: - config: - global: - scrape_interval: 60s - scrape_timeout: 60s - evaluation_interval: 60s - # external_labels: - # project: portefaix-homelab - scrape_configs: - - job_name: "otel-collector" - scrape_interval: 30s - static_configs: - - targets: ["0.0.0.0:8888"] - target_allocator: - endpoint: http://metrics-targetallocator:80 - interval: 30s - collector_id: ${POD_NAME} - http_sd_config: - refresh_interval: 60s - - # k8s_cluster: - # collection_interval: 60s - # distribution: kubernetes - # node_conditions_to_report: [Ready, DiskPressure, MemoryPressure, PIDPressure, NetworkUnavailable] - # allocatable_types_to_report: [cpu, memory, ephemeral-storage, storage] - - # k8s_events: - # auth_type: "serviceAccount" - - # kubeletstats: - # collection_interval: 60s - # auth_type: "serviceAccount" - # endpoint: "${K8S_NODE_NAME}:10250" - # insecure_skip_verify: true - - processors: - batch: - send_batch_size: 1500 - send_batch_max_size: 1500 - timeout: 15s - - # Data sources: traces, metrics, logs - memory_limiter: - limit_percentage: 90 - spike_limit_percentage: 30 - check_interval: 5s - - # metricstransform: - # transforms: - # include: .+ - # match_type: regexp - # action: update - # operations: - # - action: add_label - # new_label: kubernetes.cluster.id - # new_value: kind-local - # - action: add_label - # new_label: kubernetes.name - # new_value: local - - k8sattributes: - passthrough: false - pod_association: - - sources: - - from: resource_attribute - name: k8s.pod.name - extract: - metadata: - - k8s.namespace.name - - k8s.pod.name - - k8s.pod.uid - - k8s.node.name - - k8s.pod.start_time - # FIXME: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/23067 - # - k8s.deployment.name - # - k8s.replicaset.name - # - k8s.replicaset.uid - # - k8s.daemonset.name - # - k8s.daemonset.uid - # - k8s.statefulset.name - # - k8s.statefulset.uid - - k8s.job.name - - k8s.job.uid - - k8s.cronjob.name - - container.image.tag - - container.image.name - # # For Routing: - # labels: - # - tag_name: tenantId - # key: "tenant-id" - # from: namespace - - resource: - attributes: - - key: collector.name - value: "${KUBE_POD_NAME}" - action: insert - - # https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/routingprocessor/README.md - # routing: - # from_attribute: tenantId - # attribute_source: resource - # table: - # - value: k3s-homelab - # exporters: [logging, otlp/xxxxx] - # - value: k3s-cloudprovider - # exporters: [logging, otlp/yyyyy] - - # The resource detection processor adds context related to the cloud provider the Collector is running on. - # It is necessary **only** on gateway deployment mode, to correctly identify the host that telemetry data comes from. - # resourcedetection: - # detectors: [gcp, ecs, ec2, azure, system] - - exporters: - logging: - verbosity: detailed - # verbosity: normal - - # prometheus: - # endpoint: "0.0.0.0:9090" - # metric_expiration: 180m - # # enable_open_metrics: true - # resource_to_telemetry_conversion: - # enabled: true - - # prometheusremotewrite/mimir: - # endpoint: http://mimir-gateway.monitoring.svc.cluster.local:80/api/v1/push - - # prometheusremotewrite/grafanacloud: - # endpoint: https://prometheus-us-central1.grafana.net/api/prom/push - # auth: - # authenticator: basicauth/grafanacloud - - # otlp/honeycomb_metrics: - # endpoint: "api.honeycomb.io:443" - # headers: - # "x-honeycomb-team": "${HONEYCOMB_API_KEY}" - # "x-honeycomb-dataset": "portefaix-homelab-metrics" - - # otlp/lightstep: - # endpoint: ingest.lightstep.com:443 - # headers: - # "lightstep-access-token": "${LIGHTSTEP_TOKEN}" - - # datadog: - # # env: prod - # # service: opentelemetry - # # tags: - # # - cloud:homelab - # api: - # key: ${DATADOG_API_KEY} - # site: datadoghq.com - - service: - telemetry: - logs: - level: info - encoding: json - metrics: - level: detailed - address: 0.0.0.0:8888 - - extensions: - - health_check - - memory_ballast - # - k8s_observer - - pprof - - zpages - # - basicauth/grafanacloud - - pipelines: - metrics: - receivers: - - hostmetrics - - prometheus - # - k8s_cluster - # - kubeletstats - # - receiver_creator - processors: - - batch - - memory_limiter - # - metricstransform - - k8sattributes - # - resourcedetection/gce - exporters: - - logging - # - prometheus - # - prometheusremotewrite/mimir - # - prometheusremotewrite/grafanacloud - # - otlp/honeycomb_metrics - # - otlp/lightstep - # - datadog - -- name: traces - enabled: true - mode: statefulset - image: - repository: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib - tag: 0.80.0 - serviceMonitor: - enabled: true - additionalLabels: - # prometheus.io/operator: portefaix - observability: portefaix - - targetAllocator: - enabled: false - - resources: - limits: - # cpu: 500m - memory: 1Gi - requests: - cpu: 200m - memory: 500Mi - - config: - extensions: - health_check: - - memory_ballast: - size_in_percentage: 20 - - # k8s_observer: - # auth_type: serviceAccount - # node: ${K8S_NODE_NAME} - # observe_pods: true - # observe_nodes: true - - pprof: - endpoint: :1888 - - zpages: - endpoint: :55679 - - basicauth/grafanacloud: - client_auth: - username: "${GRAFANA_CLOUD_TRACES_ID}" - password: "${GRAFANA_CLOUD_TRACES_APIKEY}" - - receivers: - jaeger: - protocols: - grpc: - endpoint: 0.0.0.0:14250 - thrift_http: - endpoint: 0.0.0.0:14268 - thrift_compact: - endpoint: 0.0.0.0:6831 - - otlp: - protocols: - grpc: - endpoint: 0.0.0.0:4317 - http: - endpoint: 0.0.0.0:4318 - - # zipkin: - # endpoint: 0.0.0.0:9411 - - processors: - batch: - send_batch_max_size: 1000 - timeout: 15s - send_batch_size: 800 - - # Data sources: traces, metrics, logs - memory_limiter: - limit_percentage: 90 - spike_limit_percentage: 30 - check_interval: 5s - - resource: - attributes: - - key: collector.name - value: "${KUBE_POD_NAME}" - action: insert - - # The resource detection processor adds context related to the cloud provider the Collector is running on. - # It is necessary **only** on gateway deployment mode, to correctly identify the host that telemetry data comes from. - # resourcedetection: - # detectors: [gcp, ecs, ec2, azure, system] - - exporters: - logging: - # verbosity: detailed - verbosity: normal - - # Data sources: traces, metrics, logs - otlp/tempo: - endpoint: tempo-distributor.tracing.svc.cluster.local:4317 - tls: - insecure_skip_verify: true - insecure: true - - # otlp/honeycomb_metrics: - # endpoint: "api.honeycomb.io:443" - # headers: - # "x-honeycomb-team": "${HONEYCOMB_API_KEY}" - # "x-honeycomb-dataset": "portefaix-homelab-metrics" - - # otlp/lightstep: - # endpoint: ingest.lightstep.com:443 - # headers: - # "lightstep-access-token": "${LIGHTSTEP_TOKEN}" - - # otlp/grafanacloud: - # endpoint: tempo-us-central1.grafana.net:443 - # auth: - # authenticator: basicauth/grafanacloud - - # datadog: - # # env: prod - # # service: opentelemetry - # # tags: - # # - cloud:homelab - # api: - # key: ${DATADOG_API_KEY} - # site: datadoghq.com - - service: - telemetry: - logs: - level: info - encoding: json - metrics: - level: detailed - address: 0.0.0.0:8888 - - extensions: - - health_check - - memory_ballast - # - k8s_observer - - pprof - - zpages - - basicauth/grafanacloud - - pipelines: - traces: - receivers: - - otlp - processors: - - batch - # - k8sattributes - - memory_limiter - - resource - exporters: - - logging - - otlp/tempo - # - otlp/grafanacloud - # - otlp/honeycomb_traces - # - otlp/lightstep - # - datadog - -- name: logs - enabled: true - mode: statefulset - image: - repository: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib - tag: 0.80.0 - serviceMonitor: - enabled: true - additionalLabels: - # prometheus.io/operator: portefaix - observability: portefaix - - targetAllocator: - enabled: false - - resources: - limits: - # cpu: 500m - memory: 1Gi - requests: - cpu: 400m - memory: 500Mi - - config: - extensions: - health_check: - - memory_ballast: - size_in_percentage: 20 - - # k8s_observer: - # auth_type: serviceAccount - # node: ${K8S_NODE_NAME} - # observe_pods: true - # observe_nodes: true - - pprof: - endpoint: :1888 - - zpages: - endpoint: :55679 - - basicauth/grafanacloud: - client_auth: - username: "${GRAFANA_CLOUD_LOGS_ID}" - password: "${GRAFANA_CLOUD_LOGS_APIKEY}" - - receivers: - otlp: - protocols: - grpc: - http: - - fluentforward: - endpoint: 0.0.0.0:24224 - - k8s_events: - - processors: - transform: - log_statements: - - context: log - statements: - - merge_maps(attributes, attributes["kubernetes"], "upsert") - - delete_key(attributes, "kubernetes") - attributes: - actions: - - action: insert - key: namespace - from_attribute: namespace_name - - action: insert - key: pod - from_attribute: pod_name - - action: insert - key: container - from_attribute: container_name - - action: insert - key: host - from_attribute: host - - action: insert - key: loki.attribute.labels - value: [namespace, pod, host, container] - - batch: - send_batch_max_size: 1000 - timeout: 15s - send_batch_size: 800 - - # Data sources: traces, metrics, logs - memory_limiter: - limit_percentage: 90 - spike_limit_percentage: 30 - check_interval: 5s - - # The resource detection processor adds context related to the cloud provider the Collector is running on. - # It is necessary **only** on gateway deployment mode, to correctly identify the host that telemetry data comes from. - # resourcedetection: - # detectors: [gcp, ecs, ec2, azure, system] - - exporters: - logging: - # verbosity: detailed - verbosity: normal - - # https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/lokiexporter/README.md - loki: - endpoint: http://loki-gateway.logging.svc.cluster.local:80/loki/api/v1/push - headers: - X-Scope-OrgID: portefaix-talos-homelab - tls: - insecure: true - - # loki/grafanacloud: - # endpoint: https://logs-prod-us-central1.grafana.net/loki/api/v1/push - # headers: - # X-Scope-OrgID: portefaix-talos-homelab - # auth: - # authenticator: basicauth/grafanacloud - - # otlp/lightstep: - # endpoint: ingest.lightstep.com:443 - # headers: - # "lightstep-access-token": "${LIGHTSTEP_TOKEN}" - - # datadog: - # # env: prod - # # service: opentelemetry - # # tags: - # # - cloud:homelab - # api: - # key: ${DATADOG_API_KEY} - # site: datadoghq.com - - service: - telemetry: - logs: - level: info - encoding: json - metrics: - level: detailed - address: 0.0.0.0:8888 - - extensions: - - health_check - - memory_ballast - - pprof - - zpages - - basicauth/grafanacloud - - pipelines: - logs: - receivers: - - fluentforward - # - otlp - - k8s_events - processors: - - batch - - memory_limiter - - transform - - attributes - exporters: - - logging - - loki - # - loki/grafanacloud + +opentelemetry: + otelExtraEnvs: &otelExtraEnvs + extraEnvs: + - name: OTEL_RESOURCE_ATTRIBUTES + value: "k8s.pod.ip=$(MY_POD_IP)" + - name: K8S_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: KUBE_CLUSTER_NAME + value: "portefaix-talos-homelab" + +# opentelemetry-collector: +# resources: +# limits: +# # cpu: 500m +# memory: 3Gi +# requests: +# cpu: 300m +# memory: 500Mi + +# envEnvFrom: +# - secretRef: +# name: opentelemetry-datadog-credentials +# - secretRef: +# name: opentelemetry-lightstep-credentials +# - secretRef: +# name: opentelemetry-grafanacloud-credentials + +# extraEnvs: +# - name: "K8S_NODE_NAME" +# valueFrom: +# fieldRef: +# fieldPath: "spec.nodeName" +# - name: "K8S_POD_NAME" +# valueFrom: +# fieldRef: +# fieldPath: "metadata.name" +# - name: "K8S_NAMESPACE" +# valueFrom: +# fieldRef: +# fieldPath: "metadata.namespace" + +# serviceMonitor: +# enabled: true +# # extraLabels: +# # prometheus.io/operator: portefaix + +# # targetAllocator: +# # replicas: 1 + +# collectors: +# - name: metrics +# enabled: true +# mode: statefulset +# image: +# repository: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib +# tag: 0.80.0 +# serviceMonitor: +# enabled: true +# additionalLabels: +# # prometheus.io/operator: portefaix +# observability: portefaix + +# targetAllocator: +# enabled: true +# # serviceAccount: opentelemetry-targetallocator-sa +# allocationStrategy: consistent-hashing +# filterStrategy: relabel-config +# image: +# repository: ghcr.io/open-telemetry/opentelemetry-operator/target-allocator +# tag: 0.80.0 +# replicas: 1 +# prometheusCR: +# enabled: true +# serviceMonitorSelector: +# prometheus.io/operator: portefaix +# # observability: portefaix +# serviceMonitor: +# enabled: true +# additionalLabels: +# # prometheus.io/operator: portefaix +# observability: portefaix + + + +# config: +# extensions: +# health_check: + +# memory_ballast: +# size_in_percentage: 20 + +# # k8s_observer: +# # auth_type: serviceAccount +# # node: ${K8S_NODE_NAME} +# # observe_pods: true +# # observe_nodes: true + +# pprof: +# endpoint: :1888 + +# zpages: +# endpoint: :55679 + +# basicauth/grafanacloud: +# client_auth: +# username: "${GRAFANA_CLOUD_METRICS_ID}" +# password: "${GRAFANA_CLOUD_METRICS_APIKEY}" + +# receivers: +# hostmetrics: +# collection_interval: 60s +# scrapers: +# cpu: +# load: +# memory: +# disk: +# filesystem: +# network: +# processes: + +# prometheus: +# config: +# global: +# scrape_interval: 60s +# scrape_timeout: 60s +# evaluation_interval: 60s +# # external_labels: +# # project: portefaix-homelab +# scrape_configs: +# - job_name: "otel-collector" +# scrape_interval: 30s +# static_configs: +# - targets: ["0.0.0.0:8888"] +# target_allocator: +# endpoint: http://metrics-targetallocator:80 +# interval: 30s +# collector_id: ${POD_NAME} +# http_sd_config: +# refresh_interval: 60s + +# # k8s_cluster: +# # collection_interval: 60s +# # distribution: kubernetes +# # node_conditions_to_report: [Ready, DiskPressure, MemoryPressure, PIDPressure, NetworkUnavailable] +# # allocatable_types_to_report: [cpu, memory, ephemeral-storage, storage] + +# # k8s_events: +# # auth_type: "serviceAccount" + +# # kubeletstats: +# # collection_interval: 60s +# # auth_type: "serviceAccount" +# # endpoint: "${K8S_NODE_NAME}:10250" +# # insecure_skip_verify: true + +# processors: +# batch: +# send_batch_size: 1500 +# send_batch_max_size: 1500 +# timeout: 15s + +# # Data sources: traces, metrics, logs +# memory_limiter: +# limit_percentage: 90 +# spike_limit_percentage: 30 +# check_interval: 5s + +# # metricstransform: +# # transforms: +# # include: .+ +# # match_type: regexp +# # action: update +# # operations: +# # - action: add_label +# # new_label: kubernetes.cluster.id +# # new_value: kind-local +# # - action: add_label +# # new_label: kubernetes.name +# # new_value: local + +# k8sattributes: +# passthrough: false +# pod_association: +# - sources: +# - from: resource_attribute +# name: k8s.pod.name +# extract: +# metadata: +# - k8s.namespace.name +# - k8s.pod.name +# - k8s.pod.uid +# - k8s.node.name +# - k8s.pod.start_time +# # FIXME: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/23067 +# # - k8s.deployment.name +# # - k8s.replicaset.name +# # - k8s.replicaset.uid +# # - k8s.daemonset.name +# # - k8s.daemonset.uid +# # - k8s.statefulset.name +# # - k8s.statefulset.uid +# - k8s.job.name +# - k8s.job.uid +# - k8s.cronjob.name +# - container.image.tag +# - container.image.name +# # # For Routing: +# # labels: +# # - tag_name: tenantId +# # key: "tenant-id" +# # from: namespace + +# resource: +# attributes: +# - key: collector.name +# value: "${KUBE_POD_NAME}" +# action: insert + +# # https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/routingprocessor/README.md +# # routing: +# # from_attribute: tenantId +# # attribute_source: resource +# # table: +# # - value: k3s-homelab +# # exporters: [logging, otlp/xxxxx] +# # - value: k3s-cloudprovider +# # exporters: [logging, otlp/yyyyy] + +# # The resource detection processor adds context related to the cloud provider the Collector is running on. +# # It is necessary **only** on gateway deployment mode, to correctly identify the host that telemetry data comes from. +# # resourcedetection: +# # detectors: [gcp, ecs, ec2, azure, system] + +# exporters: +# logging: +# verbosity: detailed +# # verbosity: normal + +# # prometheus: +# # endpoint: "0.0.0.0:9090" +# # metric_expiration: 180m +# # # enable_open_metrics: true +# # resource_to_telemetry_conversion: +# # enabled: true + +# # prometheusremotewrite/mimir: +# # endpoint: http://mimir-gateway.monitoring.svc.cluster.local:80/api/v1/push + +# # prometheusremotewrite/grafanacloud: +# # endpoint: https://prometheus-us-central1.grafana.net/api/prom/push +# # auth: +# # authenticator: basicauth/grafanacloud + +# # otlp/honeycomb_metrics: +# # endpoint: "api.honeycomb.io:443" +# # headers: +# # "x-honeycomb-team": "${HONEYCOMB_API_KEY}" +# # "x-honeycomb-dataset": "portefaix-homelab-metrics" + +# # otlp/lightstep: +# # endpoint: ingest.lightstep.com:443 +# # headers: +# # "lightstep-access-token": "${LIGHTSTEP_TOKEN}" + +# # datadog: +# # # env: prod +# # # service: opentelemetry +# # # tags: +# # # - cloud:homelab +# # api: +# # key: ${DATADOG_API_KEY} +# # site: datadoghq.com + +# service: +# telemetry: +# logs: +# level: info +# encoding: json +# metrics: +# level: detailed +# address: 0.0.0.0:8888 + +# extensions: +# - health_check +# - memory_ballast +# # - k8s_observer +# - pprof +# - zpages +# # - basicauth/grafanacloud + +# pipelines: +# metrics: +# receivers: +# - hostmetrics +# - prometheus +# # - k8s_cluster +# # - kubeletstats +# # - receiver_creator +# processors: +# - batch +# - memory_limiter +# # - metricstransform +# - k8sattributes +# # - resourcedetection/gce +# exporters: +# - logging +# # - prometheus +# # - prometheusremotewrite/mimir +# # - prometheusremotewrite/grafanacloud +# # - otlp/honeycomb_metrics +# # - otlp/lightstep +# # - datadog + +# - name: traces +# enabled: true +# mode: statefulset +# image: +# repository: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib +# tag: 0.80.0 +# serviceMonitor: +# enabled: true +# additionalLabels: +# # prometheus.io/operator: portefaix +# observability: portefaix + +# targetAllocator: +# enabled: false + +# resources: +# limits: +# # cpu: 500m +# memory: 1Gi +# requests: +# cpu: 200m +# memory: 500Mi + +# config: +# extensions: +# health_check: + +# memory_ballast: +# size_in_percentage: 20 + +# # k8s_observer: +# # auth_type: serviceAccount +# # node: ${K8S_NODE_NAME} +# # observe_pods: true +# # observe_nodes: true + +# pprof: +# endpoint: :1888 + +# zpages: +# endpoint: :55679 + +# basicauth/grafanacloud: +# client_auth: +# username: "${GRAFANA_CLOUD_TRACES_ID}" +# password: "${GRAFANA_CLOUD_TRACES_APIKEY}" + +# receivers: +# jaeger: +# protocols: +# grpc: +# endpoint: 0.0.0.0:14250 +# thrift_http: +# endpoint: 0.0.0.0:14268 +# thrift_compact: +# endpoint: 0.0.0.0:6831 + +# otlp: +# protocols: +# grpc: +# endpoint: 0.0.0.0:4317 +# http: +# endpoint: 0.0.0.0:4318 + +# # zipkin: +# # endpoint: 0.0.0.0:9411 + +# processors: +# batch: +# send_batch_max_size: 1000 +# timeout: 15s +# send_batch_size: 800 + +# # Data sources: traces, metrics, logs +# memory_limiter: +# limit_percentage: 90 +# spike_limit_percentage: 30 +# check_interval: 5s + +# resource: +# attributes: +# - key: collector.name +# value: "${KUBE_POD_NAME}" +# action: insert + +# # The resource detection processor adds context related to the cloud provider the Collector is running on. +# # It is necessary **only** on gateway deployment mode, to correctly identify the host that telemetry data comes from. +# # resourcedetection: +# # detectors: [gcp, ecs, ec2, azure, system] + +# exporters: +# logging: +# # verbosity: detailed +# verbosity: normal + +# # Data sources: traces, metrics, logs +# otlp/tempo: +# endpoint: tempo-distributor.tracing.svc.cluster.local:4317 +# tls: +# insecure_skip_verify: true +# insecure: true + +# # otlp/honeycomb_metrics: +# # endpoint: "api.honeycomb.io:443" +# # headers: +# # "x-honeycomb-team": "${HONEYCOMB_API_KEY}" +# # "x-honeycomb-dataset": "portefaix-homelab-metrics" + +# # otlp/lightstep: +# # endpoint: ingest.lightstep.com:443 +# # headers: +# # "lightstep-access-token": "${LIGHTSTEP_TOKEN}" + +# # otlp/grafanacloud: +# # endpoint: tempo-us-central1.grafana.net:443 +# # auth: +# # authenticator: basicauth/grafanacloud + +# # datadog: +# # # env: prod +# # # service: opentelemetry +# # # tags: +# # # - cloud:homelab +# # api: +# # key: ${DATADOG_API_KEY} +# # site: datadoghq.com + +# service: +# telemetry: +# logs: +# level: info +# encoding: json +# metrics: +# level: detailed +# address: 0.0.0.0:8888 + +# extensions: +# - health_check +# - memory_ballast +# # - k8s_observer +# - pprof +# - zpages +# - basicauth/grafanacloud + +# pipelines: +# traces: +# receivers: +# - otlp +# processors: +# - batch +# # - k8sattributes +# - memory_limiter +# - resource +# exporters: +# - logging +# - otlp/tempo +# # - otlp/grafanacloud +# # - otlp/honeycomb_traces +# # - otlp/lightstep +# # - datadog + +# - name: logs +# enabled: true +# mode: statefulset +# image: +# repository: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib +# tag: 0.80.0 +# serviceMonitor: +# enabled: true +# additionalLabels: +# # prometheus.io/operator: portefaix +# observability: portefaix + +# targetAllocator: +# enabled: false + +# resources: +# limits: +# # cpu: 500m +# memory: 1Gi +# requests: +# cpu: 400m +# memory: 500Mi + +# config: +# extensions: +# health_check: + +# memory_ballast: +# size_in_percentage: 20 + +# # k8s_observer: +# # auth_type: serviceAccount +# # node: ${K8S_NODE_NAME} +# # observe_pods: true +# # observe_nodes: true + +# pprof: +# endpoint: :1888 + +# zpages: +# endpoint: :55679 + +# basicauth/grafanacloud: +# client_auth: +# username: "${GRAFANA_CLOUD_LOGS_ID}" +# password: "${GRAFANA_CLOUD_LOGS_APIKEY}" + +# receivers: +# otlp: +# protocols: +# grpc: +# http: + +# fluentforward: +# endpoint: 0.0.0.0:24224 + +# k8s_events: + +# processors: +# transform: +# log_statements: +# - context: log +# statements: +# - merge_maps(attributes, attributes["kubernetes"], "upsert") +# - delete_key(attributes, "kubernetes") +# attributes: +# actions: +# - action: insert +# key: namespace +# from_attribute: namespace_name +# - action: insert +# key: pod +# from_attribute: pod_name +# - action: insert +# key: container +# from_attribute: container_name +# - action: insert +# key: host +# from_attribute: host +# - action: insert +# key: loki.attribute.labels +# value: [namespace, pod, host, container] + +# batch: +# send_batch_max_size: 1000 +# timeout: 15s +# send_batch_size: 800 + +# # Data sources: traces, metrics, logs +# memory_limiter: +# limit_percentage: 90 +# spike_limit_percentage: 30 +# check_interval: 5s + +# # The resource detection processor adds context related to the cloud provider the Collector is running on. +# # It is necessary **only** on gateway deployment mode, to correctly identify the host that telemetry data comes from. +# # resourcedetection: +# # detectors: [gcp, ecs, ec2, azure, system] + +# exporters: +# logging: +# # verbosity: detailed +# verbosity: normal + +# # https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/lokiexporter/README.md +# loki: +# endpoint: http://loki-gateway.logging.svc.cluster.local:80/loki/api/v1/push +# headers: +# X-Scope-OrgID: portefaix-talos-homelab +# tls: +# insecure: true + +# # loki/grafanacloud: +# # endpoint: https://logs-prod-us-central1.grafana.net/loki/api/v1/push +# # headers: +# # X-Scope-OrgID: portefaix-talos-homelab +# # auth: +# # authenticator: basicauth/grafanacloud + +# # otlp/lightstep: +# # endpoint: ingest.lightstep.com:443 +# # headers: +# # "lightstep-access-token": "${LIGHTSTEP_TOKEN}" + +# # datadog: +# # # env: prod +# # # service: opentelemetry +# # # tags: +# # # - cloud:homelab +# # api: +# # key: ${DATADOG_API_KEY} +# # site: datadoghq.com + +# service: +# telemetry: +# logs: +# level: info +# encoding: json +# metrics: +# level: detailed +# address: 0.0.0.0:8888 + +# extensions: +# - health_check +# - memory_ballast +# - pprof +# - zpages +# - basicauth/grafanacloud + +# pipelines: +# logs: +# receivers: +# - fluentforward +# # - otlp +# - k8s_events +# processors: +# - batch +# - memory_limiter +# - transform +# - attributes +# exporters: +# - logging +# - loki +# # - loki/grafanacloud diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index eb2de9741c..67072a3b8e 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -9,23 +9,16 @@ grafanaDashboard: matchLabels: grafana.com/dashboards: portefaix - opentelemetry: otelExtraEnvs: &otelExtraEnvs - extraEnvs: - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: OTEL_RESOURCE_ATTRIBUTES - value: "k8s.pod.ip=$(POD_IP)" - - name: OTEL_K8S_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - - name: OTEL_RESOURCE_ATTRIBUTES - value: "k8s.cluster.name=portefaix-talos-homelab" + extraEnvs: [] + # - name: OTEL_RESOURCE_ATTRIBUTES + # value: "k8s.pod.ip=$(MY_POD_IP)" + # - name: K8S_NAMESPACE + # valueFrom: + # fieldRef: + # apiVersion: v1 + # fieldPath: metadata.namespace processors: otelResourcedetection: &otelResourcedetection @@ -36,6 +29,26 @@ opentelemetry: timeout: 2s override: false + otelResource: &otelResource + resource: + attributes: + - key: k8s.cluster.name + value: ${env:KUBE_CLUSTER_NAME} + action: insert + - action: insert + key: k8s.node.name + value: ${KUBE_NODE_NAME} + + # otelAttributes: &otelAttributes + # attributes: + # actions: + # - action: insert + # key: k8s.cluster.name + # value: ${env:KUBE_CLUSTER_NAME} + # - action: insert + # key: k8s.node.name + # value: ${KUBE_NODE_NAME} + otelK8sAttributes: &otelK8sAttributes k8sattributes: extract: @@ -43,6 +56,9 @@ opentelemetry: - from: pod key: app.kubernetes.io/name tag_name: service.name + - from: pod + key: app.kubernetes.io/name + tag_name: k8s.app.name - from: pod key: k8s-app tag_name: service.name @@ -157,17 +173,6 @@ opentelemetry-logs: extraEnvs: <<: *otelExtraEnvs - # - name: POD_IP - # valueFrom: - # fieldRef: - # fieldPath: status.podIP - # - name: OTEL_RESOURCE_ATTRIBUTES - # value: "k8s.pod.ip=$(POD_IP)" - # - name: OTEL_K8S_NAMESPACE - # valueFrom: - # fieldRef: - # apiVersion: v1 - # fieldPath: metadata.namespace config: receivers: @@ -178,6 +183,7 @@ opentelemetry-logs: processors: <<: *otelResourcedetection <<: *otelK8sAttributes + <<: *otelResource transform: log_statements: - context: log @@ -204,6 +210,7 @@ opentelemetry-logs: - filelog processors: - resourcedetection + - resource - k8sattributes - memory_limiter - transform @@ -287,17 +294,6 @@ opentelemetry-metrics: extraEnvs: <<: *otelExtraEnvs - # - name: POD_IP - # valueFrom: - # fieldRef: - # fieldPath: status.podIP - # - name: OTEL_RESOURCE_ATTRIBUTES - # value: "k8s.pod.ip=$(POD_IP)" - # - name: OTEL_K8S_NAMESPACE - # valueFrom: - # fieldRef: - # apiVersion: v1 - # fieldPath: metadata.namespace config: receivers: @@ -400,6 +396,7 @@ opentelemetry-metrics: processors: <<: *otelResourcedetection <<: *otelK8sAttributes + <<: *otelResource transform: metric_statements: - context: datapoint @@ -428,6 +425,7 @@ opentelemetry-metrics: - prometheus processors: - resourcedetection + - resource - k8sattributes - memory_limiter - transform @@ -505,17 +503,6 @@ opentelemetry-metrics-cluster: extraEnvs: <<: *otelExtraEnvs - # - name: POD_IP - # valueFrom: - # fieldRef: - # fieldPath: status.podIP - # - name: OTEL_RESOURCE_ATTRIBUTES - # value: "k8s.pod.ip=$(POD_IP)" - # - name: OTEL_K8S_NAMESPACE - # valueFrom: - # fieldRef: - # apiVersion: v1 - # fieldPath: metadata.namespace config: receivers: @@ -548,6 +535,7 @@ opentelemetry-metrics-cluster: processors: <<: *otelResourcedetection <<: *otelK8sAttributes + <<: *otelResource transform: metric_statements: - context: datapoint @@ -575,6 +563,7 @@ opentelemetry-metrics-cluster: - k8sobjects processors: - resourcedetection + - resource - k8sattributes - memory_limiter - batch @@ -588,6 +577,7 @@ opentelemetry-metrics-cluster: - k8s_cluster processors: - resourcedetection + - resource - k8sattributes - memory_limiter - transform @@ -665,17 +655,6 @@ opentelemetry-traces: extraEnvs: <<: *otelExtraEnvs - # - name: POD_IP - # valueFrom: - # fieldRef: - # fieldPath: status.podIP - # - name: OTEL_RESOURCE_ATTRIBUTES - # value: "k8s.pod.ip=$(POD_IP)" - # - name: OTEL_K8S_NAMESPACE - # valueFrom: - # fieldRef: - # apiVersion: v1 - # fieldPath: metadata.namespace config: receivers: @@ -691,6 +670,7 @@ opentelemetry-traces: processors: <<: *otelResourcedetection <<: *otelK8sAttributes + <<: *otelResource transform: trace_statements: - context: span @@ -719,6 +699,7 @@ opentelemetry-traces: - otlp processors: - resourcedetection + - resource - k8sattributes - transform - batch @@ -730,6 +711,7 @@ opentelemetry-traces: - otlp processors: - resourcedetection + - resource - k8sattributes - memory_limiter - batch @@ -805,19 +787,7 @@ opentelemetry-gateway: enabled: false extraEnvs: - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: OTEL_RESOURCE_ATTRIBUTES - value: "k8s.pod.ip=$(POD_IP)" - - name: OTEL_K8S_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - - name: DD_SITE - value: "datadoghq.com" + <<: *otelExtraEnvs extraEnvsFrom: - secretRef: @@ -870,14 +840,14 @@ opentelemetry-gateway: # mode: distributions # api: # key: ${env:DD_API_KEY} - # site: "${env:DD_SITE}" + # site: "datadoghq.com" # otlphttp/datadog: endpoint: https://api.datadoghq.com/api/intake/otlp/v1/metrics headers: dd-api-key: ${env:DD_API_KEY} dd-otel-metric-config: "{resource_attributes_as_tags: true}" - dd-otlp-source: "${YOUR_SITE}" + dd-otlp-source: "datadoghq.com" otlphttp/grafana_cloud: endpoint: https://otlp-gateway-prod-eu-west-0.grafana.net/otlp From 847c71dfccb648c26ca50f9044fdbedc9040f1a3 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 13:45:56 +0100 Subject: [PATCH 58/84] feat(opentelemetry): transform processor Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 81 ++++++------------- 1 file changed, 23 insertions(+), 58 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 67072a3b8e..0207ea0c49 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -29,16 +29,6 @@ opentelemetry: timeout: 2s override: false - otelResource: &otelResource - resource: - attributes: - - key: k8s.cluster.name - value: ${env:KUBE_CLUSTER_NAME} - action: insert - - action: insert - key: k8s.node.name - value: ${KUBE_NODE_NAME} - # otelAttributes: &otelAttributes # attributes: # actions: @@ -183,18 +173,12 @@ opentelemetry-logs: processors: <<: *otelResourcedetection <<: *otelK8sAttributes - <<: *otelResource transform: log_statements: - - context: log + - context: resource statements: - - set(attributes["node"], resource.attributes["k8s.node.name"]) - - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) - - set(attributes["namespace"], resource.attributes["k8s.namespace.name"]) - - set(attributes["container"], resource.attributes["k8s.container.name"]) - - set(attributes["pod"], resource.attributes["k8s.pod.name"]) - - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) - - set(attributes["app"], resource.attributes["app"]) + - set(attributes["k8s.cluster.name"], "${CLUSTER_NAME}") + - set(attributes["cluster"], "${CLUSTER_NAME}") - set(attributes["loki.attribute.labels"], "node, deployment, namespace, container, pod, app") exporters: @@ -210,7 +194,6 @@ opentelemetry-logs: - filelog processors: - resourcedetection - - resource - k8sattributes - memory_limiter - transform @@ -396,20 +379,12 @@ opentelemetry-metrics: processors: <<: *otelResourcedetection <<: *otelK8sAttributes - <<: *otelResource transform: metric_statements: - - context: datapoint + - context: resource statements: - - set(attributes["node"], resource.attributes["k8s.node.name"]) - - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) - - set(attributes["namespace"], resource.attributes["k8s.namespace.name"]) - - set(attributes["container"], resource.attributes["k8s.container.name"]) - - set(attributes["pod"], resource.attributes["k8s.pod.name"]) - - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) - - set(attributes["app"], resource.attributes["app"]) - - set(attributes["host_name"], resource.attributes["k8s.node.name"]) - - set(attributes["service_namespace"], resource.attributes["k8s.namespace.name"]) + - set(attributes["k8s.cluster.name"], "${CLUSTER_NAME}") + - set(attributes["cluster"], "${CLUSTER_NAME}") exporters: otlphttp: @@ -425,7 +400,6 @@ opentelemetry-metrics: - prometheus processors: - resourcedetection - - resource - k8sattributes - memory_limiter - transform @@ -535,20 +509,12 @@ opentelemetry-metrics-cluster: processors: <<: *otelResourcedetection <<: *otelK8sAttributes - <<: *otelResource transform: metric_statements: - - context: datapoint + - context: resource statements: - - set(attributes["node"], resource.attributes["k8s.node.name"]) - - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) - - set(attributes["namespace"], resource.attributes["k8s.namespace.name"]) - - set(attributes["container"], resource.attributes["k8s.container.name"]) - - set(attributes["pod"], resource.attributes["k8s.pod.name"]) - - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) - - set(attributes["app"], resource.attributes["app"]) - - set(attributes["host_name"], resource.attributes["k8s.node.name"]) - - set(attributes["service_namespace"], resource.attributes["k8s.namespace.name"]) + - set(attributes["k8s.cluster.name"], "${CLUSTER_NAME}") + - set(attributes["cluster"], "${CLUSTER_NAME}") exporters: otlphttp: @@ -577,7 +543,6 @@ opentelemetry-metrics-cluster: - k8s_cluster processors: - resourcedetection - - resource - k8sattributes - memory_limiter - transform @@ -670,18 +635,12 @@ opentelemetry-traces: processors: <<: *otelResourcedetection <<: *otelK8sAttributes - <<: *otelResource transform: trace_statements: - - context: span + - context: resource statements: - - set(attributes["node"], resource.attributes["k8s.node.name"]) - - set(attributes["deployment"], resource.attributes["k8s.deployment.name"]) - - set(attributes["namespace"], resource.attributes["k8s.namespace.name"]) - - set(attributes["container"], resource.attributes["k8s.container.name"]) - - set(attributes["pod"], resource.attributes["k8s.pod.name"]) - - set(attributes["cluster"], resource.attributes["k8s.cluster.name"]) - - set(attributes["app"], resource.attributes["app"]) + - set(attributes["k8s.cluster.name"], "${CLUSTER_NAME}") + - set(attributes["cluster"], "${CLUSTER_NAME}") exporters: otlphttp: @@ -699,8 +658,8 @@ opentelemetry-traces: - otlp processors: - resourcedetection - - resource - k8sattributes + - memory_limiter - transform - batch exporters: @@ -711,9 +670,9 @@ opentelemetry-traces: - otlp processors: - resourcedetection - - resource - k8sattributes - memory_limiter + - transform - batch exporters: - debug @@ -854,15 +813,21 @@ opentelemetry-gateway: auth: authenticator: basicauth/grafana_cloud - otlp/honeycomb: + otlp/honeycomb_logs: endpoint: "api.honeycomb.io:443" headers: "x-honeycomb-team": "${HONEYCOMB_API_KEY}" + "x-honeycomb-dataset": "portefaix-homelab-logs" otlp/honeycomb_metrics: endpoint: "api.honeycomb.io:443" headers: "x-honeycomb-team": "${HONEYCOMB_API_KEY}" "x-honeycomb-dataset": "portefaix-homelab-metrics" + otlp/honeycomb_traces: + endpoint: "api.honeycomb.io:443" + headers: + "x-honeycomb-team": "${HONEYCOMB_API_KEY}" + "x-honeycomb-dataset": "portefaix-homelab-traces" otlp/lightstep: endpoint: ingest.lightstep.com:443 @@ -904,7 +869,7 @@ opentelemetry-gateway: - debug # - datadog - otlphttp/grafana_cloud - # - otlp/honeycomb + # - otlp/honeycomb_logs - otlp/lightstep # - otlp/dash0 # - otlphttp/dash0 @@ -937,7 +902,7 @@ opentelemetry-gateway: - debug # - datadog - otlphttp/grafana_cloud - # - otlp/honeycomb + # - otlp/honeycomb_traces - otlp/lightstep # - otlp/dash0 # - otlphttp/dash0 From e72290dedae5a614ae1eee363875174e9ba480a2 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 13:57:54 +0100 Subject: [PATCH 59/84] feat(opentelemetry): typo Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 0207ea0c49..edfd0eeeb1 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -529,7 +529,6 @@ opentelemetry-metrics-cluster: - k8sobjects processors: - resourcedetection - - resource - k8sattributes - memory_limiter - batch From c13494072d3ae4bf549affc517ed86cc752245ed Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 14:10:18 +0100 Subject: [PATCH 60/84] feat(opentelemetry): environment variable Signed-off-by: Nicolas Lamirault --- .../values-talos-homelab.yaml | 2 +- .../opentelemetry-collector/values.yaml | 30 +++++++++++++------ 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml index dc8a13f499..a035a9a24c 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml @@ -13,7 +13,7 @@ opentelemetry: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - - name: KUBE_CLUSTER_NAME + - name: K8S_CLUSTER_NAME value: "portefaix-talos-homelab" # opentelemetry-collector: diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index edfd0eeeb1..1b9780b07f 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -34,7 +34,7 @@ opentelemetry: # actions: # - action: insert # key: k8s.cluster.name - # value: ${env:KUBE_CLUSTER_NAME} + # value: ${env:K8S_CLUSTER_NAME} # - action: insert # key: k8s.node.name # value: ${KUBE_NODE_NAME} @@ -177,10 +177,22 @@ opentelemetry-logs: log_statements: - context: resource statements: - - set(attributes["k8s.cluster.name"], "${CLUSTER_NAME}") - - set(attributes["cluster"], "${CLUSTER_NAME}") + - set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}") + - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") - set(attributes["loki.attribute.labels"], "node, deployment, namespace, container, pod, app") + # redaction/card-numbers: + # allow_all_keys: true + # blocked_values: + # - "4[0-9]{12}(?:[0-9]{3})?" ## VISA + # - "(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))" ## MasterCard + # - "3(?:0[0-5]|[68][0-9])[0-9]{11}" ## Diners Club + # - "3[47][0-9]{13}" ## American Express + # - "65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})" ## Discover + # - "(?:2131|1800|35[0-9]{3})[0-9]{11}" ## JCB + # - "62[0-9]{14,17}" ## UnionPay + # summary: debug + exporters: otlphttp: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 @@ -383,8 +395,8 @@ opentelemetry-metrics: metric_statements: - context: resource statements: - - set(attributes["k8s.cluster.name"], "${CLUSTER_NAME}") - - set(attributes["cluster"], "${CLUSTER_NAME}") + - set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}") + - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: otlphttp: @@ -513,8 +525,8 @@ opentelemetry-metrics-cluster: metric_statements: - context: resource statements: - - set(attributes["k8s.cluster.name"], "${CLUSTER_NAME}") - - set(attributes["cluster"], "${CLUSTER_NAME}") + - set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}") + - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: otlphttp: @@ -638,8 +650,8 @@ opentelemetry-traces: trace_statements: - context: resource statements: - - set(attributes["k8s.cluster.name"], "${CLUSTER_NAME}") - - set(attributes["cluster"], "${CLUSTER_NAME}") + - set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}") + - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: otlphttp: From 73ecfcee1f8665fbadae8f483a7d6708d5763b63 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 14:46:01 +0100 Subject: [PATCH 61/84] feat(opentelemetry): disable some pipelines Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 1b9780b07f..aa04c51bb8 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -213,8 +213,8 @@ opentelemetry-logs: exporters: - debug - otlphttp - metrics: - traces: + metrics: null + traces: null ports: otlp: @@ -406,6 +406,7 @@ opentelemetry-metrics: telemetry: <<: *otelTelemetry pipelines: + logs: null metrics: receivers: # - otlp @@ -419,6 +420,7 @@ opentelemetry-metrics: exporters: - debug - otlphttp + traces: null ports: otlp: @@ -561,6 +563,7 @@ opentelemetry-metrics-cluster: exporters: - debug - otlphttp + traces: null ports: otlp: @@ -664,6 +667,8 @@ opentelemetry-traces: telemetry: <<: *otelTelemetry pipelines: + logs: null + metrics: null traces: receivers: - otlp From 3d11cd4199a02db1c5371f2f71fb220661178daa Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 14:50:21 +0100 Subject: [PATCH 62/84] feat(opentelemetry): typo Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index aa04c51bb8..55d4671adb 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -211,7 +211,8 @@ opentelemetry-logs: - transform - batch exporters: - - debug + # https://artifacthub.io/packages/helm/opentelemetry-helm/opentelemetry-collector#warning-warning-risk-of-looping-the-exported-logs-back-into-the-receiver-causing-log-explosion + # - debug - otlphttp metrics: null traces: null From 76aaf4837ef13054a45754a25666d02d1cd6a0b7 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 14:55:22 +0100 Subject: [PATCH 63/84] feat(opentelemetry): disable pipelines Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 55d4671adb..93365ed440 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -214,8 +214,8 @@ opentelemetry-logs: # https://artifacthub.io/packages/helm/opentelemetry-helm/opentelemetry-collector#warning-warning-risk-of-looping-the-exported-logs-back-into-the-receiver-causing-log-explosion # - debug - otlphttp - metrics: null - traces: null + metrics: {} + traces: {} ports: otlp: From bdc63cee164964e6d28653c204810bfe95557b70 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 15:07:48 +0100 Subject: [PATCH 64/84] feat(opentelemetry): clean Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 93365ed440..8439da9047 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -166,9 +166,9 @@ opentelemetry-logs: config: receivers: - jaeger: - zipkin: - otlp: + jaeger: {} + otlp: {} + zipkin: {} processors: <<: *otelResourcedetection @@ -293,14 +293,9 @@ opentelemetry-metrics: config: receivers: - jaeger: null - zipkin: null - otlp: null - # protocols: - # grpc: - # endpoint: ${env:MY_POD_IP}:4317 - # http: - # endpoint: ${env:MY_POD_IP}:4318 + jaeger: {} + otlp: {} + zipkin: {} kubeletstats: insecure_skip_verify: true metric_groups: @@ -495,14 +490,9 @@ opentelemetry-metrics-cluster: config: receivers: - jaeger: null - zipkin: null - otlp: null - # protocols: - # grpc: - # endpoint: ${env:MY_POD_IP}:4317 - # http: - # endpoint: ${env:MY_POD_IP}:4318 + jaeger: {} + otlp: {} + zipkin: {} k8s_cluster: allocatable_types_to_report: - cpu @@ -638,14 +628,14 @@ opentelemetry-traces: config: receivers: - jaeger: - zipkin: + jaeger: {} otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 + zipkin: {} processors: <<: *otelResourcedetection From 027b93cc6df8e41d813549d06047c657585fdd54 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 15:14:01 +0100 Subject: [PATCH 65/84] feat(opentelemetry): default values to null Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 8439da9047..9c29b22d3f 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -293,9 +293,9 @@ opentelemetry-metrics: config: receivers: - jaeger: {} - otlp: {} - zipkin: {} + jaeger: null + otlp: null + zipkin: null kubeletstats: insecure_skip_verify: true metric_groups: @@ -490,9 +490,9 @@ opentelemetry-metrics-cluster: config: receivers: - jaeger: {} - otlp: {} - zipkin: {} + jaeger: null + otlp: null + zipkin: null k8s_cluster: allocatable_types_to_report: - cpu @@ -628,14 +628,14 @@ opentelemetry-traces: config: receivers: - jaeger: {} + jaeger: null otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 - zipkin: {} + zipkin: null processors: <<: *otelResourcedetection From dd3ae1fa39c87e7a7ab855d6f603c0a942c35ef5 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 15:20:47 +0100 Subject: [PATCH 66/84] feat(opentelemetry): k8s attributes enabled Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 9c29b22d3f..111f6d378a 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -153,7 +153,7 @@ opentelemetry-logs: hostMetrics: enabled: false kubernetesAttributes: - enabled: false + enabled: true kubeletMetrics: enabled: false kubernetesEvents: @@ -293,6 +293,7 @@ opentelemetry-metrics: config: receivers: + # https://github.com/helm/helm/pull/12879 jaeger: null otlp: null zipkin: null @@ -615,7 +616,7 @@ opentelemetry-traces: hostMetrics: enabled: false kubernetesAttributes: - enabled: false + enabled: true kubeletMetrics: enabled: false kubernetesEvents: @@ -744,7 +745,7 @@ opentelemetry-gateway: hostMetrics: enabled: false kubernetesAttributes: - enabled: false + enabled: true kubeletMetrics: enabled: false kubernetesEvents: From 3a341bc2a5190a4a230a9cf0a3a897cfcdbea23d Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 17:53:25 +0100 Subject: [PATCH 67/84] fix(alloy): typo Signed-off-by: Nicolas Lamirault --- .../templates/alloy/metrics/_metrics_prom_operator.alloy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/alloy/templates/alloy/metrics/_metrics_prom_operator.alloy b/gitops/argocd/charts/opentelemetry/alloy/templates/alloy/metrics/_metrics_prom_operator.alloy index 59b902394d..3d7d88ca66 100644 --- a/gitops/argocd/charts/opentelemetry/alloy/templates/alloy/metrics/_metrics_prom_operator.alloy +++ b/gitops/argocd/charts/opentelemetry/alloy/templates/alloy/metrics/_metrics_prom_operator.alloy @@ -13,7 +13,7 @@ prometheus.operator.servicemonitors "service_monitors" { selector { match_labels = { - prometheus.io/operator = "portefaix", + "prometheus.io/operator" = "portefaix", } } } @@ -27,7 +27,7 @@ prometheus.operator.podmonitors "pod_monitors" { selector { match_labels = { - prometheus.io/operator = "portefaix", + "prometheus.io/operator" = "portefaix", } } } @@ -41,7 +41,7 @@ prometheus.operator.probes "probes" { selector { match_labels = { - prometheus.io/operator = "portefaix", + "prometheus.io/operator" = "portefaix", } } } From 576467d7875cb51420cb5cee679a2870cc856fcd Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 17:59:54 +0100 Subject: [PATCH 68/84] fix(alloy): clean volume Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/alloy/values.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/alloy/values.yaml b/gitops/argocd/charts/opentelemetry/alloy/values.yaml index 0a1aebac35..861cd70877 100644 --- a/gitops/argocd/charts/opentelemetry/alloy/values.yaml +++ b/gitops/argocd/charts/opentelemetry/alloy/values.yaml @@ -27,17 +27,17 @@ alloy: port: 4318 targetPort: 4318 protocol: TCP - mounts: - extra: - - name: portefaix-metrics - mountPath: /etc/portefaix-metrics + # mounts: + # extra: + # - name: portefaix-metrics + # mountPath: /etc/portefaix-metrics controller: type: deployment - volumes: - extra: - - name: portefaix-metrics - configMap: - name: portefaix-metrics + # volumes: + # extra: + # - name: portefaix-metrics + # configMap: + # name: portefaix-metrics serviceMonitor: enabled: true additionalLabels: From ffe6bddb15afde136e6f803add88a6acec3849cc Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 18:05:05 +0100 Subject: [PATCH 69/84] fix(alloy): use OpenTelemetry Collector metrics Signed-off-by: Nicolas Lamirault --- gitops/argocd/charts/opentelemetry/alloy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitops/argocd/charts/opentelemetry/alloy/values.yaml b/gitops/argocd/charts/opentelemetry/alloy/values.yaml index 861cd70877..f882c513f0 100644 --- a/gitops/argocd/charts/opentelemetry/alloy/values.yaml +++ b/gitops/argocd/charts/opentelemetry/alloy/values.yaml @@ -9,7 +9,7 @@ portefaixVersion: v0.54.0 observability: otlp: - endpoint: http://opentelemetry-metrics.opentelemetry.svc.cluster.local:4318 + endpoint: http://opentelemetry-collector-opentelemetry-metrics.opentelemetry.svc.cluster.local:4318 alloy: alloy: From bc44937565c9af265e01046341eefdec1dc374e4 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 25 Feb 2025 18:45:06 +0100 Subject: [PATCH 70/84] fix(alloy): cleanup Signed-off-by: Nicolas Lamirault --- .../values-talos-homelab.yaml | 61 ++- .../opentelemetry-collector/values.yaml | 413 ++++++++++++++++-- 2 files changed, 434 insertions(+), 40 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml index a035a9a24c..6ec07b6500 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml @@ -3,18 +3,55 @@ --- -opentelemetry: - otelExtraEnvs: &otelExtraEnvs - extraEnvs: - - name: OTEL_RESOURCE_ATTRIBUTES - value: "k8s.pod.ip=$(MY_POD_IP)" - - name: K8S_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - - name: K8S_CLUSTER_NAME - value: "portefaix-talos-homelab" +opentelemetry-logs: + extraEnvs: + - name: OTEL_RESOURCE_ATTRIBUTES + value: "k8s.pod.ip=$(MY_POD_IP)" + - name: K8S_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: K8S_CLUSTER_NAME + value: "portefaix-talos-homelab" + +opentelemetry-metrics: + extraEnvs: + - name: OTEL_RESOURCE_ATTRIBUTES + value: "k8s.pod.ip=$(MY_POD_IP)" + - name: K8S_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: K8S_CLUSTER_NAME + value: "portefaix-talos-homelab" + +opentelemetry-metrics-cluster: + extraEnvs: + - name: OTEL_RESOURCE_ATTRIBUTES + value: "k8s.pod.ip=$(MY_POD_IP)" + - name: K8S_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: K8S_CLUSTER_NAME + value: "portefaix-talos-homelab" + +opentelemetry-traces: + extraEnvs: + - name: OTEL_RESOURCE_ATTRIBUTES + value: "k8s.pod.ip=$(MY_POD_IP)" + - name: K8S_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: K8S_CLUSTER_NAME + value: "portefaix-talos-homelab" + + # opentelemetry-collector: # resources: diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 111f6d378a..25a3d8b0fe 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -161,9 +161,6 @@ opentelemetry-logs: clusterMetrics: enabled: false - extraEnvs: - <<: *otelExtraEnvs - config: receivers: jaeger: {} @@ -171,8 +168,96 @@ opentelemetry-logs: zipkin: {} processors: - <<: *otelResourcedetection - <<: *otelK8sAttributes + resourcedetection: + detectors: + - system + - env + timeout: 2s + override: false + k8sattributes: + extract: + labels: + - from: pod + key: app.kubernetes.io/name + tag_name: service.name + - from: pod + key: app.kubernetes.io/name + tag_name: k8s.app.name + - from: pod + key: k8s-app + tag_name: service.name + - from: pod + key: app.kubernetes.io/instance + tag_name: k8s.app.instance + - from: pod + key: app.kubernetes.io/version + tag_name: service.version + - from: pod + key: app.kubernetes.io/component + tag_name: k8s.app.component + - from: pod + key: app.kubernetes.io/part-of + tag_name: k8s.app.part_of + - from: pod + key: app.kubernetes.io/managed-by + tag_name: k8s.app.managed_by + # Extract all labels + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + # annotations: + # Extract all annotations + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - k8s.container.name + - container.id + - container.image.name + - container.image.tag + - container.id + - k8s.cluster.uid + filter: + node_from_env_var: K8S_NODE_NAME + passthrough: false + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.uid + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - from: resource_attribute + name: k8s.node.name + - sources: + - from: resource_attribute + name: k8s.pod.ip + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - sources: + - from: connection transform: log_statements: - context: resource @@ -199,7 +284,11 @@ opentelemetry-logs: service: telemetry: - <<: *otelTelemetry + logs: + level: info + encoding: json + metrics: + address: ${env:MY_POD_IP}:8888 pipelines: logs: receivers: @@ -288,9 +377,6 @@ opentelemetry-metrics: clusterMetrics: enabled: false - extraEnvs: - <<: *otelExtraEnvs - config: receivers: # https://github.com/helm/helm/pull/12879 @@ -386,8 +472,96 @@ opentelemetry-metrics: processors: - <<: *otelResourcedetection - <<: *otelK8sAttributes + resourcedetection: + detectors: + - system + - env + timeout: 2s + override: false + k8sattributes: + extract: + labels: + - from: pod + key: app.kubernetes.io/name + tag_name: service.name + - from: pod + key: app.kubernetes.io/name + tag_name: k8s.app.name + - from: pod + key: k8s-app + tag_name: service.name + - from: pod + key: app.kubernetes.io/instance + tag_name: k8s.app.instance + - from: pod + key: app.kubernetes.io/version + tag_name: service.version + - from: pod + key: app.kubernetes.io/component + tag_name: k8s.app.component + - from: pod + key: app.kubernetes.io/part-of + tag_name: k8s.app.part_of + - from: pod + key: app.kubernetes.io/managed-by + tag_name: k8s.app.managed_by + # Extract all labels + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + # annotations: + # Extract all annotations + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - k8s.container.name + - container.id + - container.image.name + - container.image.tag + - container.id + - k8s.cluster.uid + filter: + node_from_env_var: K8S_NODE_NAME + passthrough: false + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.uid + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - from: resource_attribute + name: k8s.node.name + - sources: + - from: resource_attribute + name: k8s.pod.ip + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - sources: + - from: connection transform: metric_statements: - context: resource @@ -401,7 +575,11 @@ opentelemetry-metrics: service: telemetry: - <<: *otelTelemetry + logs: + level: info + encoding: json + metrics: + address: ${env:MY_POD_IP}:8888 pipelines: logs: null metrics: @@ -486,9 +664,6 @@ opentelemetry-metrics-cluster: clusterMetrics: enabled: true - extraEnvs: - <<: *otelExtraEnvs - config: receivers: jaeger: null @@ -513,8 +688,96 @@ opentelemetry-metrics-cluster: name: events processors: - <<: *otelResourcedetection - <<: *otelK8sAttributes + resourcedetection: + detectors: + - system + - env + timeout: 2s + override: false + k8sattributes: + extract: + labels: + - from: pod + key: app.kubernetes.io/name + tag_name: service.name + - from: pod + key: app.kubernetes.io/name + tag_name: k8s.app.name + - from: pod + key: k8s-app + tag_name: service.name + - from: pod + key: app.kubernetes.io/instance + tag_name: k8s.app.instance + - from: pod + key: app.kubernetes.io/version + tag_name: service.version + - from: pod + key: app.kubernetes.io/component + tag_name: k8s.app.component + - from: pod + key: app.kubernetes.io/part-of + tag_name: k8s.app.part_of + - from: pod + key: app.kubernetes.io/managed-by + tag_name: k8s.app.managed_by + # Extract all labels + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + # annotations: + # Extract all annotations + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - k8s.container.name + - container.id + - container.image.name + - container.image.tag + - container.id + - k8s.cluster.uid + filter: + node_from_env_var: K8S_NODE_NAME + passthrough: false + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.uid + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - from: resource_attribute + name: k8s.node.name + - sources: + - from: resource_attribute + name: k8s.pod.ip + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - sources: + - from: connection transform: metric_statements: - context: resource @@ -528,7 +791,11 @@ opentelemetry-metrics-cluster: service: telemetry: - <<: *otelTelemetry + logs: + level: info + encoding: json + metrics: + address: ${env:MY_POD_IP}:8888 pipelines: logs: receivers: @@ -624,9 +891,6 @@ opentelemetry-traces: clusterMetrics: enabled: false - extraEnvs: - <<: *otelExtraEnvs - config: receivers: jaeger: null @@ -639,8 +903,96 @@ opentelemetry-traces: zipkin: null processors: - <<: *otelResourcedetection - <<: *otelK8sAttributes + resourcedetection: + detectors: + - system + - env + timeout: 2s + override: false + k8sattributes: + extract: + labels: + - from: pod + key: app.kubernetes.io/name + tag_name: service.name + - from: pod + key: app.kubernetes.io/name + tag_name: k8s.app.name + - from: pod + key: k8s-app + tag_name: service.name + - from: pod + key: app.kubernetes.io/instance + tag_name: k8s.app.instance + - from: pod + key: app.kubernetes.io/version + tag_name: service.version + - from: pod + key: app.kubernetes.io/component + tag_name: k8s.app.component + - from: pod + key: app.kubernetes.io/part-of + tag_name: k8s.app.part_of + - from: pod + key: app.kubernetes.io/managed-by + tag_name: k8s.app.managed_by + # Extract all labels + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + # annotations: + # Extract all annotations + # - tag_name: $$1 + # key_regex: (.*) + # from: pod + metadata: + - k8s.pod.name + - k8s.pod.uid + - k8s.deployment.name + - k8s.node.name + - k8s.namespace.name + - k8s.pod.start_time + - k8s.replicaset.name + - k8s.replicaset.uid + - k8s.daemonset.name + - k8s.daemonset.uid + - k8s.job.name + - k8s.job.uid + - k8s.cronjob.name + - k8s.statefulset.name + - k8s.statefulset.uid + - container.image.name + - container.image.tag + - k8s.container.name + - container.id + - container.image.name + - container.image.tag + - container.id + - k8s.cluster.uid + filter: + node_from_env_var: K8S_NODE_NAME + passthrough: false + pod_association: + - sources: + - from: resource_attribute + name: k8s.pod.uid + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - from: resource_attribute + name: k8s.node.name + - sources: + - from: resource_attribute + name: k8s.pod.ip + - sources: + - from: resource_attribute + name: k8s.pod.name + - from: resource_attribute + name: k8s.namespace.name + - sources: + - from: connection transform: trace_statements: - context: resource @@ -657,7 +1009,11 @@ opentelemetry-traces: service: telemetry: - <<: *otelTelemetry + logs: + level: info + encoding: json + metrics: + address: ${env:MY_POD_IP}:8888 pipelines: logs: null metrics: null @@ -753,9 +1109,6 @@ opentelemetry-gateway: clusterMetrics: enabled: false - extraEnvs: - <<: *otelExtraEnvs - extraEnvsFrom: - secretRef: name: opentelemetry-datadog-credentials @@ -858,7 +1211,11 @@ opentelemetry-gateway: service: telemetry: - <<: *otelTelemetry + logs: + level: info + encoding: json + metrics: + address: ${env:MY_POD_IP}:8888 extensions: - health_check From f19165273c3d7d5af42ef604496967d78cce559b Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 07:58:44 +0100 Subject: [PATCH 71/84] feat(opentelemetry-collector): clean configuration Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 153 +++--------------- 1 file changed, 22 insertions(+), 131 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 25a3d8b0fe..b21e893b65 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -9,132 +9,6 @@ grafanaDashboard: matchLabels: grafana.com/dashboards: portefaix -opentelemetry: - otelExtraEnvs: &otelExtraEnvs - extraEnvs: [] - # - name: OTEL_RESOURCE_ATTRIBUTES - # value: "k8s.pod.ip=$(MY_POD_IP)" - # - name: K8S_NAMESPACE - # valueFrom: - # fieldRef: - # apiVersion: v1 - # fieldPath: metadata.namespace - - processors: - otelResourcedetection: &otelResourcedetection - resourcedetection: - detectors: - - system - - env - timeout: 2s - override: false - - # otelAttributes: &otelAttributes - # attributes: - # actions: - # - action: insert - # key: k8s.cluster.name - # value: ${env:K8S_CLUSTER_NAME} - # - action: insert - # key: k8s.node.name - # value: ${KUBE_NODE_NAME} - - otelK8sAttributes: &otelK8sAttributes - k8sattributes: - extract: - labels: - - from: pod - key: app.kubernetes.io/name - tag_name: service.name - - from: pod - key: app.kubernetes.io/name - tag_name: k8s.app.name - - from: pod - key: k8s-app - tag_name: service.name - - from: pod - key: app.kubernetes.io/instance - tag_name: k8s.app.instance - - from: pod - key: app.kubernetes.io/version - tag_name: service.version - - from: pod - key: app.kubernetes.io/component - tag_name: k8s.app.component - - from: pod - key: app.kubernetes.io/part-of - tag_name: k8s.app.part_of - - from: pod - key: app.kubernetes.io/managed-by - tag_name: k8s.app.managed_by - # Extract all labels - # - tag_name: $$1 - # key_regex: (.*) - # from: pod - # annotations: - # Extract all annotations - # - tag_name: $$1 - # key_regex: (.*) - # from: pod - metadata: - - k8s.pod.name - - k8s.pod.uid - - k8s.deployment.name - - k8s.node.name - - k8s.namespace.name - - k8s.pod.start_time - - k8s.replicaset.name - - k8s.replicaset.uid - - k8s.daemonset.name - - k8s.daemonset.uid - - k8s.job.name - - k8s.job.uid - - k8s.cronjob.name - - k8s.statefulset.name - - k8s.statefulset.uid - - container.image.name - - container.image.tag - - k8s.container.name - - container.id - - container.image.name - - container.image.tag - - container.id - - k8s.cluster.uid - filter: - node_from_env_var: K8S_NODE_NAME - passthrough: false - pod_association: - - sources: - - from: resource_attribute - name: k8s.pod.uid - - sources: - - from: resource_attribute - name: k8s.pod.name - - from: resource_attribute - name: k8s.namespace.name - - from: resource_attribute - name: k8s.node.name - - sources: - - from: resource_attribute - name: k8s.pod.ip - - sources: - - from: resource_attribute - name: k8s.pod.name - - from: resource_attribute - name: k8s.namespace.name - - sources: - - from: connection - - - service: - otelTelemetry: &otelTelemetry - logs: - level: info - encoding: json - metrics: - address: ${env:MY_POD_IP}:8888 - - opentelemetry-logs: additionalLabels: app.kubernetes.io/part-of: opentelemetry-collector @@ -170,8 +44,9 @@ opentelemetry-logs: processors: resourcedetection: detectors: - - system + - k8snode - env + - system timeout: 2s override: false k8sattributes: @@ -455,7 +330,20 @@ opentelemetry-metrics: metrics: system.filesystem.utilization: enabled: true - network: {} + network: + exclude: + interfaces: + - ^veth.*$ + - ^docker.*$ + - ^br-.*$ + - ^flannel.*$ + - ^cali.*$ + - ^cbr.*$ + - ^cni.*$ + - ^dummy.*$ + - ^tailscale.*$ + - ^lo$ + match_type: regexp paging: {} processes: {} process: {} @@ -474,8 +362,9 @@ opentelemetry-metrics: processors: resourcedetection: detectors: - - system + - k8snode - env + - system timeout: 2s override: false k8sattributes: @@ -690,8 +579,9 @@ opentelemetry-metrics-cluster: processors: resourcedetection: detectors: - - system + - k8snode - env + - system timeout: 2s override: false k8sattributes: @@ -905,8 +795,9 @@ opentelemetry-traces: processors: resourcedetection: detectors: - - system + - k8snode - env + - system timeout: 2s override: false k8sattributes: From c51df957a14f2c4f361c6248f1ac66befa3b01ab Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 09:40:39 +0100 Subject: [PATCH 72/84] feat(opentelemetry-collector): add HyperDX vendor Signed-off-by: Nicolas Lamirault --- .../templates/credentials.yaml | 24 +++++++++++++++++++ .../opentelemetry-collector/values.yaml | 11 +++++++++ 2 files changed, 35 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index d3aafd5833..5b1db7ef9d 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -118,3 +118,27 @@ spec: - secretKey: KLOUDMATE_API_KEY remoteRef: key: KLOUDMATE_API_KEY +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + {{- if .Values.additionalAnnotations }} + annotations: + {{ toYaml .Values.additionalAnnotations | indent 4 }} + {{- end }} + labels: + {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} + name: opentelemetry-hyperdx-credentials + namespace: {{ .Release.Namespace }} +spec: + refreshInterval: 1h + secretStoreRef: + kind: ClusterSecretStore + name: akeyless + target: + name: opentelemetry-hyperdx-credentials + creationPolicy: Owner + data: + - secretKey: HYPERDX_API_KEY + remoteRef: + key: HYPERDX_API_KEY diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index b21e893b65..8b5cb9489a 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -1009,6 +1009,8 @@ opentelemetry-gateway: name: opentelemetry-grafanacloud-credentials - secretRef: name: opentelemetry-kloudmate-credentials + - secretRef: + name: opentelemetry-hyperdx-credentials config: receivers: @@ -1086,6 +1088,12 @@ opentelemetry-gateway: headers: "lightstep-access-token": "${LS_TOKEN}" + otlphttp/hdx: + endpoint: 'https://in-otel.hyperdx.io' + headers: + authorization: "${HYPERDX_API_KEY}" + compression: gzip + # otlphttp/dash0: # auth: # authenticator: bearertokenauth/dash0 @@ -1130,6 +1138,7 @@ opentelemetry-gateway: # - otlp/dash0 # - otlphttp/dash0 - otlphttp/kloudmate + - otlphttp/hdx metrics: receivers: - otlp @@ -1147,6 +1156,7 @@ opentelemetry-gateway: # - otlp/dash0 # - otlphttp/dash0 - otlphttp/kloudmate + - otlphttp/hdx traces: receivers: - otlp @@ -1163,6 +1173,7 @@ opentelemetry-gateway: # - otlp/dash0 # - otlphttp/dash0 - otlphttp/kloudmate + - otlphttp/hdx ports: otlp: From 14f7050358962c035bab774b2ce886b4e9bf1b74 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 09:44:38 +0100 Subject: [PATCH 73/84] feat(opentelemetry-collector): add environment variable Signed-off-by: Nicolas Lamirault --- .../values-talos-homelab.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml index 6ec07b6500..7f5eda3a5b 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values-talos-homelab.yaml @@ -12,6 +12,10 @@ opentelemetry-logs: fieldRef: apiVersion: v1 fieldPath: metadata.namespace + - name: K8S_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName - name: K8S_CLUSTER_NAME value: "portefaix-talos-homelab" @@ -24,6 +28,10 @@ opentelemetry-metrics: fieldRef: apiVersion: v1 fieldPath: metadata.namespace + - name: K8S_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName - name: K8S_CLUSTER_NAME value: "portefaix-talos-homelab" @@ -36,6 +44,10 @@ opentelemetry-metrics-cluster: fieldRef: apiVersion: v1 fieldPath: metadata.namespace + - name: K8S_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName - name: K8S_CLUSTER_NAME value: "portefaix-talos-homelab" @@ -48,6 +60,10 @@ opentelemetry-traces: fieldRef: apiVersion: v1 fieldPath: metadata.namespace + - name: K8S_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName - name: K8S_CLUSTER_NAME value: "portefaix-talos-homelab" From 6e6f4cf11258c9f186a36bb6b312f9bcf33dbfb6 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 10:10:22 +0100 Subject: [PATCH 74/84] feat(opentelemetry-collector): add Oneuptime vendor Signed-off-by: Nicolas Lamirault --- .../templates/credentials.yaml | 24 +++++++++++++++++++ .../opentelemetry-collector/values.yaml | 7 ++++++ 2 files changed, 31 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml index 5b1db7ef9d..ceabf33734 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/credentials.yaml @@ -142,3 +142,27 @@ spec: - secretKey: HYPERDX_API_KEY remoteRef: key: HYPERDX_API_KEY +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + {{- if .Values.additionalAnnotations }} + annotations: + {{ toYaml .Values.additionalAnnotations | indent 4 }} + {{- end }} + labels: + {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 4 }} + name: opentelemetry-oneuptime-credentials + namespace: {{ .Release.Namespace }} +spec: + refreshInterval: 1h + secretStoreRef: + kind: ClusterSecretStore + name: akeyless + target: + name: opentelemetry-oneuptime-credentials + creationPolicy: Owner + data: + - secretKey: ONEUPTIME_TOKEN + remoteRef: + key: ONEUPTIME_TOKEN diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 8b5cb9489a..d886157d91 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -1108,6 +1108,13 @@ opentelemetry-gateway: headers: Authorization: "${env:KLOUDMATE_API_KEY}" + otlphttp/oneuptime: + endpoint: "https://oneuptime.com/otlp" + encoding: json + headers: + "Content-Type": "application/json" + "x-oneuptime-token": "${ONEUPTIME_TOKEN}" + service: telemetry: logs: From 0ed8e1e0509cc947bf7d01f8c8ca6b3d47863ea4 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 10:12:10 +0100 Subject: [PATCH 75/84] feat(opentelemetry-collector): typo Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index d886157d91..4ae3204cc7 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -1146,6 +1146,7 @@ opentelemetry-gateway: # - otlphttp/dash0 - otlphttp/kloudmate - otlphttp/hdx + - otlphttp/oneuptime metrics: receivers: - otlp @@ -1164,6 +1165,7 @@ opentelemetry-gateway: # - otlphttp/dash0 - otlphttp/kloudmate - otlphttp/hdx + - otlphttp/oneuptime traces: receivers: - otlp @@ -1181,6 +1183,7 @@ opentelemetry-gateway: # - otlphttp/dash0 - otlphttp/kloudmate - otlphttp/hdx + - otlphttp/oneuptime ports: otlp: From 75faf6b65e06119660d84c109e6ffa1649e6cad7 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 10:22:42 +0100 Subject: [PATCH 76/84] feat(opentelemetry-collector): remove some vendors Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 4ae3204cc7..dd427aa331 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -1139,13 +1139,13 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafana_cloud + # - otlphttp/grafana_cloud # - otlp/honeycomb_logs - - otlp/lightstep + # - otlp/lightstep # - otlp/dash0 # - otlphttp/dash0 - - otlphttp/kloudmate - - otlphttp/hdx + # - otlphttp/kloudmate + # - otlphttp/hdx - otlphttp/oneuptime metrics: receivers: @@ -1158,12 +1158,12 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafana_cloud + # - otlphttp/grafana_cloud # - otlp/honeycomb_metrics - - otlp/lightstep + # - otlp/lightstep # - otlp/dash0 # - otlphttp/dash0 - - otlphttp/kloudmate + # - otlphttp/kloudmate - otlphttp/hdx - otlphttp/oneuptime traces: @@ -1176,12 +1176,12 @@ opentelemetry-gateway: exporters: - debug # - datadog - - otlphttp/grafana_cloud + # - otlphttp/grafana_cloud # - otlp/honeycomb_traces - - otlp/lightstep + # - otlp/lightstep # - otlp/dash0 # - otlphttp/dash0 - - otlphttp/kloudmate + # - otlphttp/kloudmate - otlphttp/hdx - otlphttp/oneuptime From 154a1634060de15c1c6778640adcda829f7cf1b2 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 10:26:26 +0100 Subject: [PATCH 77/84] feat(opentelemetry-collector): add some vendors Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index dd427aa331..cbd808d62f 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -1145,7 +1145,7 @@ opentelemetry-gateway: # - otlp/dash0 # - otlphttp/dash0 # - otlphttp/kloudmate - # - otlphttp/hdx + - otlphttp/hdx - otlphttp/oneuptime metrics: receivers: From 87c343a1652cf33852f1869327180ebf4200ba23 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 10:38:10 +0100 Subject: [PATCH 78/84] feat(opentelemetry-collector): rename exporters Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index cbd808d62f..0647adfc7a 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -154,7 +154,7 @@ opentelemetry-logs: # summary: debug exporters: - otlphttp: + otlphttp/gateway_logs: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: @@ -177,7 +177,7 @@ opentelemetry-logs: exporters: # https://artifacthub.io/packages/helm/opentelemetry-helm/opentelemetry-collector#warning-warning-risk-of-looping-the-exported-logs-back-into-the-receiver-causing-log-explosion # - debug - - otlphttp + - otlphttp/gateway_logs metrics: {} traces: {} @@ -459,7 +459,7 @@ opentelemetry-metrics: - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: - otlphttp: + otlphttp/gateway_metrics: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: @@ -483,7 +483,7 @@ opentelemetry-metrics: - batch exporters: - debug - - otlphttp + - otlphttp/gateway_metrics traces: null ports: @@ -676,7 +676,7 @@ opentelemetry-metrics-cluster: - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: - otlphttp: + otlphttp/gateway_metrics_cluster: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: @@ -711,7 +711,7 @@ opentelemetry-metrics-cluster: - batch exporters: - debug - - otlphttp + - otlphttp/gateway_metrics_cluster traces: null ports: @@ -892,7 +892,7 @@ opentelemetry-traces: - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: - otlphttp: + otlphttp/gateway_traces: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 connectors: @@ -931,7 +931,7 @@ opentelemetry-traces: - batch exporters: - debug - - otlphttp + - otlphttp/gateway_traces ports: otlp: From 3bf1c260feed9c0c0fb5cfeec3da7ac8535a6bee Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 10:40:55 +0100 Subject: [PATCH 79/84] feat(opentelemetry-collector): naming Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 0647adfc7a..01fad45104 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -154,7 +154,7 @@ opentelemetry-logs: # summary: debug exporters: - otlphttp/gateway_logs: + otlphttp/gateway: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: @@ -177,7 +177,7 @@ opentelemetry-logs: exporters: # https://artifacthub.io/packages/helm/opentelemetry-helm/opentelemetry-collector#warning-warning-risk-of-looping-the-exported-logs-back-into-the-receiver-causing-log-explosion # - debug - - otlphttp/gateway_logs + - otlphttp/gateway metrics: {} traces: {} @@ -459,7 +459,7 @@ opentelemetry-metrics: - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: - otlphttp/gateway_metrics: + otlphttp/gateway: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: @@ -483,7 +483,7 @@ opentelemetry-metrics: - batch exporters: - debug - - otlphttp/gateway_metrics + - otlphttp/gateway traces: null ports: @@ -676,7 +676,7 @@ opentelemetry-metrics-cluster: - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: - otlphttp/gateway_metrics_cluster: + otlphttp/gateway: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 service: @@ -697,7 +697,7 @@ opentelemetry-metrics-cluster: - batch exporters: - debug - - otlphttp + - otlphttp/gateway metrics: receivers: # - otlp @@ -711,7 +711,7 @@ opentelemetry-metrics-cluster: - batch exporters: - debug - - otlphttp/gateway_metrics_cluster + - otlphttp/gateway traces: null ports: @@ -892,7 +892,7 @@ opentelemetry-traces: - set(attributes["cluster"], "${K8S_CLUSTER_NAME}") exporters: - otlphttp/gateway_traces: + otlphttp/gateway: endpoint: http://opentelemetry-collector-opentelemetry-gateway.opentelemetry.svc.cluster.local:4318 connectors: @@ -919,7 +919,7 @@ opentelemetry-traces: - batch exporters: - debug - - otlphttp + - otlphttp/gateway traces/sampling: receivers: - otlp @@ -931,7 +931,7 @@ opentelemetry-traces: - batch exporters: - debug - - otlphttp/gateway_traces + - otlphttp/gateway ports: otlp: From 0a63eb0a6c1bf5449028225138a4d7f73802e9ec Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 10:47:53 +0100 Subject: [PATCH 80/84] feat(opentelemetry-collector): add some vendors Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 01fad45104..88c00c6956 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -1139,7 +1139,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafana_cloud + - otlphttp/grafana_cloud # - otlp/honeycomb_logs # - otlp/lightstep # - otlp/dash0 @@ -1158,7 +1158,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafana_cloud + - otlphttp/grafana_cloud # - otlp/honeycomb_metrics # - otlp/lightstep # - otlp/dash0 @@ -1176,7 +1176,7 @@ opentelemetry-gateway: exporters: - debug # - datadog - # - otlphttp/grafana_cloud + - otlphttp/grafana_cloud # - otlp/honeycomb_traces # - otlp/lightstep # - otlp/dash0 From a7df85ddbefc87b48dcfe3818fc13546f8d0d8d5 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 11:13:15 +0100 Subject: [PATCH 81/84] feat(opentelemetry-collector): typo Signed-off-by: Nicolas Lamirault --- .../templates/configmap-dashboards.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml index e858aa3617..88b2614914 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/templates/configmap-dashboards.yaml @@ -22,7 +22,7 @@ items: labels: {{- include "opentelemetry-collector.labels" (index $.Subcharts "opentelemetry-gateway") | nindent 6 }} grafana-dashboard: {{ $dashboardName }} - name: {{ printf "dashboard-opentelemetry-%s" $dashboardName | trunc 63 | trimSuffix "-" }} + name: {{ printf "dashboard-opentelemetry-collector-%s" $dashboardName | trunc 63 | trimSuffix "-" }} namespace: {{ $.Release.Namespace }} data: opentelemetry-collector-{{ $dashboardName }}.json: |- @@ -51,7 +51,7 @@ spec: matchLabels: {{- toYaml $.Values.grafanaDashboard.grafanaOperator.matchLabels | nindent 6 }} configMapRef: - name: {{ printf "opentelemetry-collector-%s" $dashboardName | trunc 63 | trimSuffix "-" | lower }} + name: {{ printf "dashboard-opentelemetry-collector-%s" $dashboardName | trunc 63 | trimSuffix "-" }} key: opentelemetry-collector-{{ $dashboardName }}.json {{- end }} {{- end }} From 3a31e69fd0d6614196a8cf6a4d9074e41a65655c Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 14:26:43 +0100 Subject: [PATCH 82/84] feat(opentelemetry): add Loki and Tempo endpoint Signed-off-by: Nicolas Lamirault --- .../opentelemetry/opentelemetry-collector/values.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 88c00c6956..d304b47573 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -1115,6 +1115,13 @@ opentelemetry-gateway: "Content-Type": "application/json" "x-oneuptime-token": "${ONEUPTIME_TOKEN}" + otlphttp/loki: + endpoint: http://loki-gateway.logging.svc.cluster.local:80/otlp/v1/logs + # otlphttp/mimir: + # endpoint: http://mimir-gateway.monitoring.svc.cluster.local:80/otlp + otlp/tempo: + endpoint: tempo-distributor.tracing.svc.cluster.local:4317 + service: telemetry: logs: @@ -1147,6 +1154,7 @@ opentelemetry-gateway: # - otlphttp/kloudmate - otlphttp/hdx - otlphttp/oneuptime + - otlphttp/loki metrics: receivers: - otlp @@ -1184,6 +1192,7 @@ opentelemetry-gateway: # - otlphttp/kloudmate - otlphttp/hdx - otlphttp/oneuptime + - otlp/tempo ports: otlp: From 0880f3da75dd67b60742a637bb0e90b0183adfba Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 14:42:21 +0100 Subject: [PATCH 83/84] feat(opentelemetry): fix Loki otlp endpoint Signed-off-by: Nicolas Lamirault --- .../opentelemetry-collector/values.yaml | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index d304b47573..3c04ced230 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -261,21 +261,40 @@ opentelemetry-metrics: kubeletstats: insecure_skip_verify: true metric_groups: + - container - node - pod - volume - - container metrics: container.cpu.usage: enabled: true + container.uptime: + enabled: true + k8s.container.cpu_limit_utilization: + enabled: true + k8s.container.cpu_request_utilization: + enabled: true + k8s.container.memory_limit_utilization: + enabled: true + k8s.container.memory_request_utilization: + enabled: true k8s.node.cpu.usage: enabled: true k8s.node.uptime: enabled: true k8s.pod.cpu.usage: enabled: true + k8s.pod.cpu_limit_utilization: + enabled: true + k8s.pod.cpu_request_utilization: + enabled: true + k8s.pod.memory_limit_utilization: + enabled: true + k8s.pod.memory_request_utilization: + enabled: true k8s.pod.uptime: enabled: true + node: ${env:K8S_NODE_NAME} hostmetrics: scrapers: cpu: @@ -1116,7 +1135,7 @@ opentelemetry-gateway: "x-oneuptime-token": "${ONEUPTIME_TOKEN}" otlphttp/loki: - endpoint: http://loki-gateway.logging.svc.cluster.local:80/otlp/v1/logs + endpoint: http://loki-gateway.logging.svc.cluster.local:80/otlp # otlphttp/mimir: # endpoint: http://mimir-gateway.monitoring.svc.cluster.local:80/otlp otlp/tempo: From 5b4c2f9af76d368710e1a5058c16ebdd9fa2d58b Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 26 Feb 2025 14:47:33 +0100 Subject: [PATCH 84/84] feat(opentelemetry): fix Tempo tls insecure Signed-off-by: Nicolas Lamirault --- .../charts/opentelemetry/opentelemetry-collector/values.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml index 3c04ced230..ad206595fa 100644 --- a/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml +++ b/gitops/argocd/charts/opentelemetry/opentelemetry-collector/values.yaml @@ -1140,6 +1140,8 @@ opentelemetry-gateway: # endpoint: http://mimir-gateway.monitoring.svc.cluster.local:80/otlp otlp/tempo: endpoint: tempo-distributor.tracing.svc.cluster.local:4317 + tls: + insecure: true service: telemetry: