From 1a2a8202738b2b48e90abc6d0760fab250d87a29 Mon Sep 17 00:00:00 2001 From: pierre Date: Mon, 3 Aug 2026 17:03:27 +0100 Subject: [PATCH] trying otel logs --- netdata_helm.yml | 117 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/netdata_helm.yml b/netdata_helm.yml index b49ff4d..e2dd793 100644 --- a/netdata_helm.yml +++ b/netdata_helm.yml @@ -78,6 +78,16 @@ data: Host: localhost:8080 User-Agent: netdata/go.d.plugin Accept: */* + - name: bitwarden + url: https://bitwardem.tryton.geeraert.eu:443 + web_log: | + jobs: + - name: django_testing + path: /host/var/log/pods/django-testing_django-testing-7f89d9ffc5-mcm9g_ad5b3bbf-33ca-410f-aa0e-457664c6345b/django-testing/0.log + log_type: auto + - name: nginx + path: /host/var/log/pods/reverse-proxy_reverse-proxy-67c767c86f-pxvdz_af6033a7-dfcb-4430-a67b-ee75ea424cf7/reverse-proxy/0.log + log_type: auto netdata: | [db] mode = ram @@ -87,6 +97,10 @@ data: enabled = no [ml] enabled = no + [plugins] + otel = yes + [plugin:otel] + command options = --otel-endpoint 0.0.0.0:4317 --otel-logs-journal-dir /var/log/netdata/otel/v1 stream: | [stream] enabled = yes @@ -96,6 +110,103 @@ data: buffer size bytes = 1048576 reconnect delay seconds = 5 initial clock resync iterations = 60 + + otel: | + # OpenTelemetry Plugin Configuration + # This file configures the OpenTelemetry metrics and logs ingestion for Netdata + # + # To customize, run: edit-config otel.yaml + # Only include the fields you want to change — missing fields keep their defaults. + + endpoint: + # gRPC endpoint to listen on for OpenTelemetry data + path: "127.0.0.1:4317" + + # Path to TLS certificate file (enables TLS when provided) + tls_cert_path: null + + # Path to TLS private key file (required when TLS certificate is provided) + tls_key_path: null + + # Path to TLS CA certificate file for client authentication (optional) + tls_ca_cert_path: null + + metrics: + # Directory with configuration files for mapping OTEL metrics to Netdata charts + chart_configs_dir: /etc/netdata/otel.d/v1/metrics + + # Collection interval in seconds (1–3600). Defines the Netdata chart update frequency. + interval_secs: 10 + + # Grace period in seconds. After the last data point, the plugin waits this long + # before gap-filling. When interval_secs is overridden, this auto-derives as + # 5 * interval_secs unless explicitly set. + grace_period_secs: 60 + + # Expiry duration in seconds. Charts with no data for this long are removed. + expiry_duration_secs: 900 + + # Maximum number of new charts that can be created per gRPC request. + # Limits cardinality explosion from high-cardinality label combinations. + max_new_charts_per_request: 100 + + # Directory where OpenTelemetry logs and traces are stored. + # Must be an absolute path. + base_dir: /var/log/netdata/otel/v2 + + remote_storage: + # Upload data to remote object storage, in addition to keeping it on local + # disk. One backend is shared by logs and traces. + enabled: false + + # NEVER put credentials in this file or in the URI below. Credentials are + # read from the netdata process environment and the standard cloud + # locations — for S3: AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY, + # ~/.aws/credentials, or an attached instance role (nothing to configure). + # To pass environment variables to the netdata service, use a root-only + # systemd EnvironmentFile. + + # Remote storage location. The scheme selects the backend (fs, s3); + # non-secret backend options go in the query string. Examples: + # fs:///var/lib/netdata/otel/remote + # s3://bucket/prefix?region=us-east-1 + # s3://bucket/prefix?region=us-east-1&endpoint=https://minio.example:9000 + uri: "fs:///var/log/netdata/otel/v2/remote" + + # Data deleted from local disk by retention but still in remote storage is + # fetched back into a bounded local cache when a query needs it. Cap for + # that cache: + read_cache_max_size: "1GB" + + auth: + # Require senders to identify a tenant via the X-Scope-OrgID gRPC header. + # When disabled, all data belongs to a single "default" tenant. + # Applies to logs and traces; metrics have no tenants. + enabled: false + + logs: + rotation: + # Incoming logs are appended to a current file; a new file starts when + # any of these limits is reached. + default: + max_file_size: "25MB" + max_entries: 50000 + + # Per-tenant overrides (any subset of the fields above): + # my-tenant: + # max_file_size: "100MB" + + retention: + # How much log data to keep on local disk; the oldest files are deleted + # when any of these limits is exceeded. + default: + max_files: 100000 + max_total_size: "1GB" + max_age: "7 days" + + # Per-tenant overrides (any subset of the fields above): + # my-tenant: + # max_age: "30 days" --- # Source: netdata/templates/child/configmap.yaml apiVersion: v1 @@ -728,6 +839,12 @@ spec: - name: configmap mountPath: /etc/netdata/go.d/httpcheck.conf subPath: httpcheck + - name: configmap + mountPath: /etc/netdata/go.d/web_log.conf + subPath: web_log + - name: configmap + mountPath: /etc/netdata/otel.yaml + subPath: otel - name: configmap mountPath: /etc/netdata/go.d/k8s_kubeproxy.conf subPath: kubeproxy