JezK
Edit File: otel.yaml
# OpenTelemetry Plugin Configuration # This file configures the OpenTelemetry metrics, logs, and traces 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" traces: rotation: # Incoming spans 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 trace 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"