global: domain: "coralogixsg.com" defaultApplicationName: "default" defaultSubsystemName: "nodes" # Old endpoint based configuration, # please use domain instead. traces: endpoint: "" metrics: endpoint: "" logs: endpoint: "" # set distribution to openshift for openshift clusters distribution: "" # Opentelemetry collector configuration dedicatedValue: true schedulerName: default-scheduler labels: bu: "supply" team: "supply-shared" service: "prd-supply-opentelemetry-coralogix" env: "prd" priority: "p0" type: "opentelemetry" arch: "arm64" runpod: "ondemand" externalSecret: enabled: false key: prd/cntr/devop/coralogix-keys secretStoreRef: name: vault-backend image: # If you want to use the core image `otel/opentelemetry-collector`, you also need to change `command.name` value to `otelcol`. repository: otel/opentelemetry-collector-contrib pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "" # When digest is set to a non-empty value, images will be pulled by digest (regardless of tag value). digest: "" mode: daemonset rollout: rollingUpdate: # When 'mode: daemonset', maxSurge cannot be used when hostPort is set for any of the ports # maxSurge: 25% maxUnavailable: 1 strategy: RollingUpdate serviceAccount: # Specifies whether a service account should be created create: true # Annotations to add to the service account annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" hostNetwork: true dnsPolicy: "ClusterFirstWithHostNet" fullnameOverride: prd-supply-opentelemetry-coralogix presets: logsCollection: enabled: false storeCheckpoints: false maxRecombineLogSize: 1048576 extraFilelogOperators: [] # - type: recombine # combine_field: body # source_identifier: attributes["log.file.path"] # is_first_entry: body matches "^(YOUR-LOGS-REGEX)" kubernetesAttributes: enabled: false hostMetrics: enabled: false kubeletMetrics: enabled: false extraEnvs: - name: OTEL_RESOURCE_ATTRIBUTES value: "k8s.node.name=$(K8S_NODE_NAME)" - name: KUBE_NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName config: extensions: zpages: endpoint: localhost:55679 pprof: endpoint: localhost:1777 exporters: loadbalancing: protocol: otlp: timeout: 4s tls: insecure: true resolver: dns: hostname: prd-infra-opentelemetry-collector # coralogix: # timeout: "30s" # private_key: "${CORALOGIX_PRIVATE_KEY}" # domain: "{{.Values.global.domain}}" # traces: # endpoint: "{{ .Values.global.traces.endpoint }}" # metrics: # endpoint: "{{ .Values.global.metrics.endpoint }}" # logs: # endpoint: "{{ .Values.global.logs.endpoint }}" # application_name_attributes: # - "k8s.namespace.name" # - "service.namespace" # subsystem_name_attributes: # - "k8s.deployment.name" # - "k8s.statefulset.name" # - "k8s.daemonset.name" # - "k8s.cronjob.name" # - "k8s.job.name" # - "k8s.container.name" # - "k8s.node.name" # - "service.name" # application_name: "{{.Values.global.defaultApplicationName }}" # subsystem_name: "{{.Values.global.defaultSubsystemName }}" processors: k8sattributes: filter: node_from_env_var: KUBE_NODE_NAME extract: metadata: - "k8s.namespace.name" - "k8s.deployment.name" - "k8s.statefulset.name" - "k8s.daemonset.name" - "k8s.cronjob.name" - "k8s.job.name" - "k8s.pod.name" - "k8s.node.name" memory_limiter: null # Will get the k8s resource limits resourcedetection/env: detectors: ["system","env"] timeout: 2s override: false # spanmetrics: # metrics_exporter: coralogix # dimensions: # - name: "k8s.deployment.name" # - name: "k8s.statefulset.name" # - name: "k8s.daemonset.name" # - name: "k8s.cronjob.name" # - name: "k8s.job.name" # - name: "k8s.container.name" # - name: "k8s.node.name" # - name: "k8s.namespace.name" receivers: otlp: protocols: grpc: endpoint: ${MY_POD_IP}:4317 http: endpoint: ${MY_POD_IP}:4318 zipkin: endpoint: ${MY_POD_IP}:9411 jaeger: protocols: grpc: endpoint: ${MY_POD_IP}:14250 thrift_http: endpoint: ${MY_POD_IP}:14268 thrift_compact: endpoint: ${MY_POD_IP}:6831 thrift_binary: endpoint: ${MY_POD_IP}:6832 prometheus: config: scrape_configs: - job_name: opentelemetry-collector scrape_interval: 30s static_configs: - targets: - ${MY_POD_IP}:8888 service: extensions: - zpages - pprof - health_check # - memory_ballast # telemetry: # logs: # encoding: json # metrics: # address: ${MY_POD_IP}:8888 pipelines: traces: exporters: - loadbalancing processors: - memory_limiter # - spanmetrics - batch receivers: - otlp tolerations: - operator: Exists resources: requests: cpu: 300m memory: 1G limits: cpu: 1 memory: 2G ports: jaeger-binary: enabled: true containerPort: 6832 servicePort: 6832 hostPort: 6832 protocol: TCP # In order to enable podMonitor, following part must be enabled in order to expose the required port: # metrics: # enabled: true # podMonitor: # enabled: true # prometheusRule: # enabled: true # defaultRules: # enabled: true