diff --git a/.changelog/3244.breaking.txt b/.changelog/3244.breaking.txt new file mode 100644 index 0000000000..409c8aa331 --- /dev/null +++ b/.changelog/3244.breaking.txt @@ -0,0 +1 @@ +feat!: remove support for fluent-bit and fluentd diff --git a/ci/check_configuration_keys.py b/ci/check_configuration_keys.py index ce9840db0c..2c0a2db96d 100755 --- a/ci/check_configuration_keys.py +++ b/ci/check_configuration_keys.py @@ -12,23 +12,6 @@ DESCRIPTION = 'This program verifies if all configuration from values.yaml has been documented.' SKIP_DEFAULTS = { - 'fluent-bit.enabled', - 'fluentd.events.extraEnvVars', - 'fluentd.events.extraVolumeMounts', - 'fluentd.events.extraVolumes', - 'fluentd.events.statefulset.initContainers', - 'fluentd.logs.autoscaling.targetMemoryUtilizationPercentage', - 'fluentd.logs.extraEnvVars', - 'fluentd.logs.extraVolumeMounts', - 'fluentd.logs.extraVolumes', - 'fluentd.logs.podDisruptionBudget', - 'fluentd.logs.statefulset.initContainers', - 'fluentd.metrics.autoscaling.targetMemoryUtilizationPercentage', - 'fluentd.metrics.extraEnvVars', - 'fluentd.metrics.extraVolumeMounts', - 'fluentd.metrics.extraVolumes', - 'fluentd.metrics.statefulset.initContainers', - 'fluentd.persistence.storageClass', 'kube-prometheus-stack.enabled', 'kube-prometheus-stack.global.imagePullSecrets', 'metadata.logs.autoscaling.targetMemoryUtilizationPercentage', diff --git a/deploy/docs/Additional_Fluentd_Plugins.md b/deploy/docs/Additional_Fluentd_Plugins.md deleted file mode 100644 index 4f9082ae56..0000000000 --- a/deploy/docs/Additional_Fluentd_Plugins.md +++ /dev/null @@ -1,3 +0,0 @@ -# Adding Additional Fluentd Plugins - -Moved to [/docs/fluent/additional-fluentd-plugins.md](/docs/fluent/additional-fluentd-plugins.md) diff --git a/deploy/docs/ContainerLogs.md b/deploy/docs/ContainerLogs.md deleted file mode 100644 index a143a330b2..0000000000 --- a/deploy/docs/ContainerLogs.md +++ /dev/null @@ -1,3 +0,0 @@ -# Container log parsing - -Moved to [/docs/container-logs.md](/docs/fluent/container-logs.md) diff --git a/deploy/docs/FluentdPersistence.md b/deploy/docs/FluentdPersistence.md deleted file mode 100644 index f7240f56bd..0000000000 --- a/deploy/docs/FluentdPersistence.md +++ /dev/null @@ -1,3 +0,0 @@ -# Fluentd persistence - -Moved to [/docs/fluent/fluentd-persistence.md](/docs/fluent/fluentd-persistence.md) diff --git a/deploy/docs/fluentd_otc_comparison.md b/deploy/docs/fluentd_otc_comparison.md deleted file mode 100644 index 7d5d9f14bd..0000000000 --- a/deploy/docs/fluentd_otc_comparison.md +++ /dev/null @@ -1,3 +0,0 @@ -# Comparison of Fluentd and Opentelemetry Collector functionality - -Moved to [/docs/fluent/fluentd-otc-comparison.md](/docs/fluent/fluentd-otc-comparison.md) diff --git a/deploy/helm/sumologic/Chart.yaml b/deploy/helm/sumologic/Chart.yaml index c68aba3a45..f9b4efc865 100644 --- a/deploy/helm/sumologic/Chart.yaml +++ b/deploy/helm/sumologic/Chart.yaml @@ -12,10 +12,6 @@ home: https://github.com/SumoLogic/sumologic-kubernetes-collection sources: - https://github.com/SumoLogic/sumologic-kubernetes-collection dependencies: - - name: fluent-bit - version: 0.34.2 - repository: https://fluent.github.io/helm-charts - condition: fluent-bit.enabled,sumologic.logs.enabled - name: kube-prometheus-stack version: 40.5.0 repository: https://prometheus-community.github.io/helm-charts diff --git a/deploy/helm/sumologic/README.md b/deploy/helm/sumologic/README.md index 319bb5faf4..43adbbe590 100644 --- a/deploy/helm/sumologic/README.md +++ b/deploy/helm/sumologic/README.md @@ -7,8 +7,6 @@ To see all available configuration for our sub-charts, please refer to their doc - [Kube-Prometheus-Stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#configuration) - All Kube Prometheus Stack properties should be prefixed with `kube-prometheus-stack.` in our values.yaml to override a property not listed below. -- [Fluent Bit](https://github.com/fluent/helm-charts/blob/main/charts/fluent-bit/values.yaml) - All Fluent Bit properties should be prefixed - with `fluent-bit.` in our values.yaml to override a property not listed below. - [Metrics Server](https://github.com/bitnami/charts/tree/master/bitnami/metrics-server/#parameters) - All Metrics Server properties should be prefixed with `metrics-server.` in our values.yaml to override a property not listed below. - [Tailing Sidecar Operator](https://github.com/SumoLogic/tailing-sidecar/tree/main/helm/tailing-sidecar-operator#configuration) - All @@ -20,629 +18,451 @@ To see all available configuration for our sub-charts, please refer to their doc The following table lists the configurable parameters of the Sumo Logic chart and their default values. -| Parameter | Description | Default | -| ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `nameOverride` | Used to override the Chart name. | `Nil` | -| `fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `namespaceOverride` | Used to override the chart's default target namepace. | `Nil` | -| `sumologic.setupEnabled` | If enabled, a pre-install hook will create Collector and Sources in Sumo Logic. | `true` | -| `sumologic.cleanupEnabled` | If enabled, a pre-delete hook will destroy Kubernetes secret and Sumo Logic Collector. | `false` | -| `sumologic.events.enabled` | Defines whether collection of Kubernetes events is enabled. | `true` | -| `sumologic.events.provider` | Defines which provider is used for Kubernetes events collection - `otelcol` or `fluentd`. `otelcol` is the default and is recommended. `fluentd` is deprecated. | `otelcol` | -| `sumologic.events.sourceName` | Source name for the Events source. | `events` | -| `sumologic.events.sourceCategory` | Source category for the Events source. | `{clusterName}/events` | -| `sumologic.events.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `sumologic.events.persistence.enabled` | Enable persistence for the event collector. Persistence lets the collector avoid reingesting events on restart and buffer them locally if unable to reach the backend. | `true` | -| `sumologic.events.persistence.persistentVolume.path` | Local filesystem path the persistent storage volume will be mounted at. | `/var/lib/storage/events` | -| `sumologic.events.persistence.size` | Size of the persistent storage volume | `10Gi` | -| `sumologic.events.persistence.persistentVolume.storageClass` | The storageClassName for the persistent storage volume | `Nil` | -| `sumologic.events.persistence.persistentVolume.accessMode` | The accessMode for the persistent storage volume | `ReadWriteOnce` | -| `sumologic.events.persistence.persistentVolume.pvcLabels` | Additional PersistentVolumeClaim labels for persistent storage volumes | `{}` | -| `sumologic.events.sourceType` | The type of the Sumo Logic source being used for events ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | -| `sumologic.logs.enabled` | Set the enabled flag to false for disabling logs ingestion altogether. | `true` | -| `sumologic.logs.collector.allowSideBySide` | Allow running otel and Fluent Bit side by side. This will result in duplicated logs being ingested. Only enable this if you're **certain** it's what you want. | `false` | -| `sumologic.logs.collector.otelcol.enabled` | Enable OpenTelemetry logs collector. | `true` | -| `sumologic.logs.collector.otelcloudwatch.enabled` | Flag to enable CloudWatch Collection | `false` | -| `sumologic.logs.collector.otelcloudwatch.logGroups` | Log Groups configuration for AWS CloudWatch receiver | `{}` | -| `sumologic.logs.collector.otelcloudwatch.persistence.enabled` | Flag to control persistence for the CloudWatch collector | `true` | -| `sumologic.logs.collector.otelcloudwatch.pollInterval` | CloudWatch poll interval | `1m` | -| `sumologic.logs.collector.otelcloudwatch.region` | EKS Fargate cluster region | `""` | -| `sumologic.logs.collector.otelcloudwatch.roleArn` | AWS role ARN, to authenticate with CloudWatch | `""` | -| `sumologic.logs.container.enabled` | Enable collecting logs from Kubernetes containers. | `true` | -| `sumologic.logs.container.format` | Format for container logs. | `fields` | -| `sumologic.logs.multiline.enabled` | Enable multiline detection for Kubernetes container logs. | `true` | -| `sumologic.logs.multiline.first_line_regex` | Regular expression to match first line of multiline logs. | `^\[?\d{4}-\d{1,2}-\d{1,2}.\d{2}:\d{2}:\d{2}` | -| `sumologic.logs.multiline.additional` | List of additional conditions and expressions to match first line of multiline logs. See [Multiline](/docs/collecting-container-logs.md#conditional-multiline-log-parsing) for more information. | `[]` | -| `sumologic.logs.systemd.enabled` | Enable collecting systemd logs from Kubernets nodes. | `true` | -| `sumologic.logs.systemd.units` | List of systemd units to collect logs from. | See [values.yaml] | -| `sumologic.logs.container.keep_time_attribute` | When set to `true`, preserves the `time` attribute, which is a string representation of the `timestamp` attribute. | `false` | -| `sumologic.logs.container.sourceHost` | Set the \_sourceHost metadata field in Sumo Logic. | `""` | -| `sumologic.logs.container.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{namespace}.%{pod}.%{container}"` | -| `sumologic.logs.container.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"%{namespace}/%{pod_name}"` | -| `sumologic.logs.container.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `sumologic.logs.container.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `sumologic.logs.container.excludeContainerRegex` | A regular expression for container names. Logs from matching containers will not be sent to Sumo. | `""` | -| `sumologic.logs.container.excludeHostRegex` | A regular expression for Kubernetes node names. Logs from pods running on matching nodes will not be sent to Sumo. | `""` | -| `sumologic.logs.container.excludeNamespaceRegex` | A regular expression for Kubernetes namespace names. Logs from pods running in matching namespaces will not be sent to Sumo. | `""` | -| `sumologic.logs.container.excludePodRegex` | A regular expression for pod names. Logs from matching pods will not be sent to Sumo. | `""` | -| `sumologic.logs.container.otelcol.extraProcessors` | Extra processors for container logs. See [/docs/collecting-container-logs.md](/docs/collecting-container-logs.md) for details. | `[]` | -| `sumologic.logs.container.perContainerAnnotationsEnabled` | Enable container-level pod annotations. | `false` | -| `sumologic.logs.container.perContainerAnnotationPrefixes` | Defines the list of prefixes of container-level pod annotations. | `[]` | -| `sumologic.logs.systemd.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{_sourceName}"` | -| `sumologic.logs.systemd.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"system"` | -| `sumologic.logs.systemd.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `sumologic.logs.systemd.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `sumologic.logs.systemd.excludeFacilityRegex` | A regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). | `""` | -| `sumologic.logs.systemd.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). | `Nil` | -| `sumologic.logs.systemd.excludePriorityRegex` | A regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). | `""` | -| `sumologic.logs.systemd.excludeUnitRegex` | A regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). | `""` | -| `sumologic.logs.systemd.otelcol.extraProcessors` | Extra processors for systemd logs. See [/docs/collecting-systemd-logs.md](/docs/collecting-systemd-logs.md) for details. | `[]` | -| `sumologic.logs.kubelet.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"k8s_kubelet"` | -| `sumologic.logs.kubelet.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"kubelet"` | -| `sumologic.logs.kubelet.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `sumologic.logs.kubelet.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `sumologic.logs.kubelet.excludeFacilityRegex` | A regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). | `""` | -| `sumologic.logs.kubelet.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). | `""` | -| `sumologic.logs.kubelet.excludePriorityRegex` | A regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). | `""` | -| `sumologic.logs.kubelet.excludeUnitRegex` | A regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). | `""` | -| `sumologic.logs.kubelet.otelcol.extraProcessors` | Extra processors for systemd logs. See [/docs/collecting-systemd-logs.md](/docs/collecting-systemd-logs.md) for details. | `[]` | -| `sumologic.logs.defaultFluentd.sourceName` | Configuration option only for Fluentd, set the \_sourceName metadata field in Sumo Logic. | `k8s_default` | -| `sumologic.logs.defaultFluentd.sourceCategory` | Configuration option only for Fluentd, set the \_sourceCategory metadata field in Sumo Logic. | `default` | -| `sumologic.logs.defaultFluentd.sourceCategoryPrefix` | Configuration option only for Fluentd, set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `sumologic.logs.defaultFluentd.sourceCategoryReplaceDash` | Configuration option only for Fluentd, used to replace - with another character. | `"/"` | -| `sumologic.logs.defaultFluentd.excludeFacilityRegex` | Configuration option only for Fluentd, a regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to FluentD. | `""` | -| `sumologic.logs.defaultFluentd.excludeHostRegex` | Configuration option only for Fluentd, a regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to FluentD. | `""` | -| `sumologic.logs.defaultFluentd.excludePriorityRegex` | Configuration option only for Fluentd, a regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to FluentD. | `""` | -| `sumologic.logs.defaultFluentd.excludeUnitRegex` | Configuration option only for Fluentd, a regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to FluentD. . | `""` | -| `sumologic.logs.fields` | Fields to be created at Sumo Logic to ensure logs are tagged with relevant metadata. [Sumo Logic help](https://help.sumologic.com/docs/manage/fields/#manage-fields) | `["cluster", "container", "daemonset", "deployment", "host", "namespace", "node", "pod", "service", "statefulset"]` | -| `sumologic.logs.metadata.provider` | Defines logs metadata enrichment provider - `otelcol` or `fluentd`. `otelcol` is the default and is recommended. `fluentd` is deprecated. | `otelcol` | -| `sumologic.logs.sourceType` | The type of the Sumo Logic source being used for logs ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | -| `sumologic.metrics.enabled` | Set the enabled flag to false for disabling metrics ingestion altogether. | `true` | -| `sumologic.metrics.metadata.provider` | Defines metrics metadata enrichment provider - `otelcol` or `fluentd`. `otelcol` is the default and is recommended. `fluentd` is deprecated. | `otelcol` | -| `sumologic.metrics.otelcol.extraProcessors` | Extra processors configuration for metrics pipeline. See [/docs/collecting-application-metrics.md#metrics-modifications](/docs/collecting-application-metrics.md#metrics-modifications) for more information. | `[]` | -| `sumologic.metrics.remoteWriteProxy.enabled` | Enable a load balancing proxy for Prometheus remote writes. [See docs for more information.](/docs/prometheus.md#using-a-load-balancing-proxy-for-prometheus-remote-write) | `true` | -| `sumologic.metrics.remoteWriteProxy.config.clientBodyBufferSize` | See the [nginx documentation](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size). Increase if you've also increased samples per send in Prometheus remote write. | `64k` | -| `sumologic.metrics.remoteWriteProxy.config.workerCountAutotune` | This feature autodetects how much CPU is assigned to the nginx instance and setsthe right amount of workers based on that. Disable to use the default of 8 workers. | `true` | -| `sumologic.metrics.remoteWriteProxy.config.enableAccessLogs` | Enable nginx access logs. | `false` | -| `sumologic.metrics.remoteWriteProxy.replicaCount` | Number of replicas in the remote write proxy deployment. | `3` | -| `sumologic.metrics.remoteWriteProxy.image` | Nginx docker image for the remote write proxy. | `{"repository": "public.ecr.aws/sumologic/nginx-unprivileged", "tag": "1.25.2-alpine", "pullPolicy": "IfNotPresent"}` | -| `sumologic.metrics.remoteWriteProxy.resources` | Resource requests and limits for the remote write proxy container. | `{"limits": {"cpu": "1000m", "memory": "256Mi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}` | -| `sumologic.metrics.remoteWriteProxy.livenessProbe` | Liveness probe settings for the remote write proxy container. | `{"initialDelaySeconds": 30, "periodSeconds": 10, "timeoutSeconds": 5, "successThreshold": 1, "failureThreshold": 6}` | -| `sumologic.metrics.remoteWriteProxy.readinessProbe` | Readiness probe settings for the remote write proxy container. | `{"initialDelaySeconds": 5, "periodSeconds": 5, "timeoutSeconds": 3, "successThreshold": 1, "failureThreshold": 3}` | -| `sumologic.metrics.remoteWriteProxy.securityContext` | The securityContext configuration for the remote write proxy. | `{}` | -| `sumologic.metrics.remoteWriteProxy.nodeSelector` | Node selector for the remote write proxy deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `sumologic.metrics.remoteWriteProxy.tolerations` | Tolerations for the remote write proxy deployment. | `[]` | -| `sumologic.metrics.remoteWriteProxy.affinity` | Affinity for the remote write proxy deployment. | `{}` | -| `sumologic.metrics.remoteWriteProxy.priorityClassName` | Priority class name for the remote write proxy deployment. | `Nil` | -| `sumologic.metrics.remoteWriteProxy.podLabels` | Additional labels for the remote write proxy container. | `{}` | -| `sumologic.metrics.remoteWriteProxy.podAnnotations` | Additional annotations for for the remote write proxy container. | `{}` | -| `sumologic.metrics.remoteWriteProxy.config.port` | Port on which remote write proxy is going to be exposed | `8080` | -| `sumologic.metrics.serviceMonitors` | Configuration of Sumo Logic Kubernetes Collection components serviceMonitors | See [values.yaml] | -| `sumologic.metrics.collector.otelcol.enabled` | Enable experimental otelcol metrics collector | See [values.yaml] | -| `sumologic.metrics.collector.otelcol.scrapeInterval` | The default scrape interval for the collector. | `30s` | -| `sumologic.metrics.collector.otelcol.replicaCount` | Replica count for the experimental otelcol metrics collector | `1` | -| `sumologic.metrics.collector.otelcol.resources` | Resource requests and limits for the experimental otelcol metrics collector | See [values.yaml] | -| `sumologic.metrics.collector.otelcol.autoscaling.enabled` | Option to turn autoscaling on for the experimental otelcol metrics and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. collector | `false` | -| `sumologic.metrics.collector.otelcol.autoscaling.maxReplicas` | Default max replicas for autoscaling. collector | `10` | -| `sumologic.metrics.collector.otelcol.autoscaling.minReplicas` | Default min replicas for autoscaling. collector | `3` | -| `sumologic.metrics.collector.otelcol.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `70` | -| `sumologic.metrics.collector.otelcol.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `70` | -| `sumologic.metrics.collector.otelcol.serviceMonitorSelector` | Selector for ServiceMonitors used for target discovery. By default, we select ServiceMonitors created by the Chart. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `Nil` | -| `sumologic.metrics.collector.otelcol.podMonitorSelector` | Selector for PodMonitors used for target discovery. By default, we select PodMonitors created by the Chart. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `Nil` | -| `sumologic.metrics.collector.otelcol.nodeSelector` | Node selector for the experimental otelcol metrics. [See docs/best-practices.md for more information.](/docs/best-practices.md). | `{}` | -| `sumologic.metrics.collector.otelcol.podAnnotations` | Additional annotations for the experimental otelcol metrics pods. | `{}` | -| `sumologic.metrics.collector.otelcol.podLabels` | Additional labels for the experimental otelcol metrics pods. | `{}` | -| `sumologic.metrics.collector.otelcol.priorityClassName` | Priority class name for the experimental otelcol metrics. | `null` | -| `sumologic.metrics.collector.otelcol.securityContext` | The securityContext configuration for the experimental otelcol metrics. | `{"fsGroup": 999}` | -| `sumologic.metrics.collector.otelcol.tolerations` | Tolerations for the experimental otelcol metrics. | `[]` | -| `sumologic.metrics.enableDefaultFilters` | Enable default metric filters for Sumo Apps. | `false` | -| `sumologic.metrics.collector.otelcol.kubelet.enabled` | Enable collection of kubelet metrics. | `true` | -| `sumologic.metrics.collector.otelcol.cAdvisor.enabled` | Enable collection of cAdvisor metrics. | `true` | -| `sumologic.metrics.collector.otelcol.annotatedPods.enabled` | Enable collection of metrics from Pods annotated with prometheus.io/\* keys. See [docs/collecting-application-metrics.md](/docs/collecting-application-metrics.md#application-metrics-are-exposed-one-endpoint-scenario) for more information. | `true` | -| `sumologic.metrics.collector.otelcol.allocationStrategy` | Allocation strategy for the scrape target allocator. Valid values are: least-weighted and consistent-hashing. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocator | `least-weighted` | -| `sumologic.metrics.dropHistogramBuckets` | Drop buckets from select high-cardinality histogram metrics, leaving only the sum and count components. | `true` | -| `sumologic.metrics.sourceType` | The type of the Sumo Logic source being used for metrics ingestion. Can be `http` or `otlp`. | `http` | -| `sumologic.traces.enabled` | Set the enabled flag to true to enable tracing ingestion. _Tracing must be enabled for the account first. Please contact your Sumo representative for activation details_ | `true` | -| `sumologic.traces.spans_per_request` | Maximum number of spans sent in single batch | `100` | -| `sumologic.traces.sourceType` | The type of the Sumo Logic source being used for traces ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/traces/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | -| `sumologic.envFromSecret` | If enabled, accessId and accessKey will be sourced from Secret Name given. Be sure to include at least the following env variables in your secret (1) SUMOLOGIC_ACCESSID, (2) SUMOLOGIC_ACCESSKEY | `sumo-api-secret` | -| `sumologic.accessId` | Sumo access ID. | `Nil` | -| `sumologic.accessKey` | Sumo access key. | `Nil` | -| `sumologic.endpoint` | Sumo API endpoint; Leave blank for automatic endpoint discovery and redirection. | `Nil` | -| `sumologic.collectionMonitoring` | If you set it to false, it would set `EXCLUDE_NAMESPACE=` and not add the FluentD/Fluent Bit logs and Prometheus remotestorage metrics. | `true` | -| `sumologic.collectorName` | The name of the Sumo Logic collector that will be created in the SetUp job. Defaults to `clusterName` if not specified. | `Nil` | -| `sumologic.clusterName` | An identifier for the Kubernetes cluster. Whitespaces in the cluster name will be replaced with dashes. | `kubernetes` | -| `sumologic.cluster` | Configuration of Kubernetes for [Terraform client](https://www.terraform.io/docs/providers/kubernetes/index.html#argument-reference). | See [values.yaml] | -| `sumologic.collector.sources` | Configuration of HTTP sources. [See docs/Terraform.md for more information](/docs/terraform.md). All double quotes should be escaped here regarding Terraform syntax. | See [values.yaml] | -| `sumologic.collector.fields` | Configuration of Sumo Logic fields. [See Sumo Logic Terraform Plugin documentation for more information](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/collector#fields). All double quotes should be escaped here regarding Terraform syntax. | See [values.yaml] | -| `sumologic.httpProxy` | HTTP proxy URL | `Nil` | -| `sumologic.httpsProxy` | HTTPS proxy URL | `Nil` | -| `sumologic.noProxy` | List of comma separated hostnames which should be excluded from the proxy | `kubernetes.default.svc` | -| `sumologic.pullSecrets` | Optional list of secrets that will be used for pulling images for Sumo Logic's deployments and statefulsets. | `Nil` | -| `sumologic.otelcolImage.repository` | Default image repository for OpenTelemetry Collector. This can be overridden for specific components. | `public.ecr.aws/sumologic/sumologic-otel-collector` | -| `sumologic.otelcolImage.tag` | Default image tag for OpenTelemetry Collector. This can be overridden for specific components. | `0.85.0-sumo-0` | -| `sumologic.otelcolImage.addFipsSuffix` | Add a `-fips` suffix to all image tags. See [docs/security-best-practices.md](/docs/security-best-practices.md) for more information. | `false` | -| `sumologic.podLabels` | Additional labels for the pods. | `{}` | -| `sumologic.podAnnotations` | Additional annotations for the pods. | `{}` | -| `sumologic.scc.create` | Create OpenShift's Security Context Constraint | `false` | -| `sumologic.serviceAccount.annotations` | Add custom annotations to sumologic serviceAccounts | `{}` | -| `sumologic.setup.job.pullSecrets` | Optional list of secrets that will be used for pulling images for Sumo Logic's setup job. | `Nil` | -| `sumologic.setup.job.podLabels` | Additional labels for the setup Job pod. | `{}` | -| `sumologic.setup.job.podAnnotations` | Additional annotations for the setup Job pod. | `{}` | -| `sumologic.setup.job.image.repository` | Image repository for Sumo Logic setup job docker container. | `public.ecr.aws/sumologic/kubernetes-setup` | -| `sumologic.setup.job.image.tag` | Image tag for Sumo Logic setup job docker container. | `3.10.0` | -| `sumologic.setup.job.image.pullPolicy` | Image pullPolicy for Sumo Logic docker container. | `IfNotPresent` | -| `sumologic.setup.job.nodeSelector` | Node selector for sumologic setup job. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `sumologic.setup.job.tolerations` | Add tolerations for the setup Job. | `[]` | -| `sumologic.setup.job.affinity` | Add affinity and anti-affinity for the setup Job. | `{}` | -| `sumologic.setup.debug` | Enable debug mode (disables the automatic execution of the setup.sh script) | `Nil` | -| `sumologic.setup.force` | Force collection installation (disables k8s version verification) | `Nil` | -| `sumologic.setup.job.resources` | Resource requests and limits for the setup Job. | `{"limits": {"memory": "256Mi", "cpu": "2000m"}, "requests": {"memory": "64Mi", "cpu": "200m"}}` | -| `sumologic.setup.monitors.enabled` | If enabled, a pre-install hook will create k8s monitors in Sumo Logic. | `true` | -| `sumologic.setup.monitors.monitorStatus` | The installed monitors default status: enabled/disabled. | `enabled` | -| `sumologic.setup.monitors.notificationEmails` | A list of emails to send notifications from monitors. | `[]` | -| `sumologic.setup.dashboards.enabled` | If enabled, a pre-install hook will install k8s dashboards in Sumo Logic. | `true` | -| `fluentd.image.repository` | Image repository for Sumo Logic docker container. | `public.ecr.aws/sumologic/kubernetes-fluentd` | -| `fluentd.image.tag` | Image tag for Sumo Logic docker container. | `1.16.2-sumo-0` | -| `fluentd.image.pullPolicy` | Image pullPolicy for Sumo Logic docker container. | `IfNotPresent` | -| `fluentd.logLevelFilter` | Do not send fluentd logs if set to `true`. | `true` | -| `fluentd.additionalPlugins` | Additional Fluentd plugins to install from RubyGems. Please see our [documentation](/docs/fluent/additional-fluentd-plugins.md) for more information. | `[]` | -| `fluentd.compression.enabled` | Flag to control if data is sent to Sumo Logic compressed or not | `true` | -| `fluentd.compression.encoding` | Specifies which encoding should be used to compress data (either `gzip` or `deflate`) | `gzip` | -| `fluentd.logLevel` | Sets the fluentd log level. The default log level, if not specified, is info. Sumo will only ingest the error log level and some specific warnings, the info logs can be seen in kubectl logs. | `info` | -| `fluentd.verifySsl` | Verify SumoLogic HTTPS certificates. | `true` | -| `fluentd.proxyUri` | Proxy URI for sumologic output plugin. | `Nil` | -| `fluentd.securityContext` | The securityContext configuration for Fluentd | `{"fsGroup": 999}` | -| `fluentd.podLabels` | Additional labels for all fluentd pods | `{}` | -| `fluentd.pvcLabels` | Additional labels for all fluentd PVCs | `{}` | -| `fluentd.podAnnotations` | Additional annotations for all fluentd pods | `{}` | -| `fluentd.persistence.enabled` | Persist data to a persistent volume; When enabled, fluentd uses the file buffer instead of memory buffer. After changing this value follow steps described in [Fluentd Persistence](/docs/fluent/fluentd-persistence.md). | `true` | -| `fluentd.persistence.storageClass` | If defined, storageClassName: . If undefined (the default) or set to an empty string, no storageClassName spec is set, choosing the default provisioner. (gp2 on AWS, standard on GKE, Azure & OpenStack) | `Nil` | -| `fluentd.persistence.accessMode` | The accessMode for persistence. | `ReadWriteOnce` | -| `fluentd.persistence.size` | The size needed for persistence. | `10Gi` | -| `fluentd.buffer.type` | Option to specify the Fluentd buffer as file/memory. If `fluentd.persistence.enabled` is `true`, this will be ignored. | `memory` | -| `fluentd.buffer.flushInterval` | How frequently to push logs to Sumo Logic. | `5s` | -| `fluentd.buffer.numThreads` | Increase number of http threads to Sumo. May be required in heavy logging/high DPM clusters. | `8` | -| `fluentd.buffer.chunkLimitSize` | The max size of each chunks: events will be written into chunks until the size of chunks become this size. | `1m` | -| `fluentd.buffer.queueChunkLimitSize` | Limit the number of queued chunks. | `128` | -| `fluentd.buffer.totalLimitSize` | The size limitation of this buffer plugin instance. | `128m` | -| `fluentd.buffer.filePaths` | File paths to buffer to, if Fluentd buffer type is specified as file above. Each sumologic output plugin buffers to its own unique file. | See [values.yaml] | -| `fluentd.buffer.extraConf` | Additional config for buffer settings | `Nil` | -| `fluentd.buffer.compress` | Compression type for Fluentd buffer. | `gzip` | -| `fluentd.buffer.retryForever` | If true, Fluentd will be retrying forever. | `true` | -| `fluentd.buffer.retryMaxInterval` | The maximum interval (seconds) for exponential backoff between retries. | `10m` | -| `fluentd.metadata.addOwners` | Option to control the enrichment of logs and metrics with pod owner metadata like `daemonset`, `deployment`, `replicaset`, `statefulset`. | `true` | -| `fluentd.metadata.addService` | Option to control the enrichment of logs and metrics with `service` metadata. | `true` | -| `fluentd.metadata.annotation_match` | Option to control capturing of annotations by metadata filter plugin. | `["sumologic\\.com.*"]` | -| `fluentd.metadata.apiGroups` | List of supported kubernetes API groups. | `["apps/v1"]` | -| `fluentd.metadata.apiServerUrl` | Option to specify custom API server URL instead of the default, that is taken from KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT environment variables. Example: `"https://kubernetes.default.svc:443"`. | `""` | -| `fluentd.metadata.coreApiVersions` | List of supported kubernetes API versions. | `["v1"]` | -| `fluentd.metadata.cacheSize` | Option to control the enabling of metadata filter plugin cache_size. | `10000` | -| `fluentd.metadata.cacheTtl` | Option to control the enabling of metadata filter plugin cache_ttl (in seconds). | `7200` | -| `fluentd.metadata.cacheRefresh` | Option to control the interval at which metadata cache is asynchronously refreshed (in seconds). | `3600` | -| `fluentd.metadata.cacheRefreshVariation` | Option to control the variation in seconds by which the cacheRefresh option is changed for each pod separately. For example, if cache refresh is 1 hour and variation is 15 minutes, then actual cache refresh interval will be a random value between 45 minutes and 1 hour 15 minutes, different for each pod. Setting this to 0 disables cache refresh variation. | `900` | -| `fluentd.metadata.cacheRefreshApiserverRequestDelay` | Option to control the delay with which cache refresh calls hit the api server.For example, if 0 then all metadata enrichment happen immediately. Setting this to a non-zero values ensures the traffic to api server is more distributed. | `0` | -| `fluentd.metadata.cacheRefreshExcludePodRegex` | Option to add regex for selectively disabling refresh for metadata in fluentd cache. For example, if regex is `(command-[a-z0-9]*)` then all pods starting with name `command` will not have their metadata refreshed and will be cleaned up from cache | `""` | -| `fluentd.metadata.pluginLogLevel` | Option to give plugin specific log level. | `error` | -| `fluentd.logs.enabled` | Flag to control deploying the Fluentd logs statefulsets. | `true` | -| `fluentd.logs.podDisruptionBudget` | Pod Disruption Budget for logs metadata enrichment. statefulset. | `{"minAvailable": 2}` | -| `fluentd.logs.statefulset.nodeSelector` | Node selector for Fluentd log statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `fluentd.logs.statefulset.tolerations` | Tolerations for Fluentd log statefulset. | `[]` | -| `fluentd.logs.statefulset.affinity` | Affinity for Fluentd log statefulset. | `{}` | -| `fluentd.logs.statefulset.podAntiAffinity` | PodAntiAffinity for Fluentd log statefulset. | `soft` | -| `fluentd.logs.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for Fluentd logs metadata enrichment statefulset. | `[]` | -| `fluentd.logs.statefulset.replicaCount` | Replica count for Fluentd log statefulset. | `3` | -| `fluentd.logs.statefulset.resources` | Resources for Fluentd log statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | -| `fluentd.logs.statefulset.podLabels` | Additional labels for fluentd log pods. | `{}` | -| `fluentd.logs.statefulset.podAnnotations` | Additional annotations for fluentd log pods. | `{}` | -| `fluentd.logs.statefulset.priorityClassName` | Priority class name for fluentd log pods. | `Nil` | -| `fluentd.logs.statefulset.initContainers` | Define init containers that will be run for fluentd logs statefulset. | `[]` | -| `fluentd.logs.statefulset.containers.fluentd.securityContext` | The securityContext configuration for Fluentd logs metadata containers. | `{}` | -| `fluentd.logs.autoscaling.enabled` | Option to turn autoscaling on for fluentd and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `fluentd.logs.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `fluentd.logs.autoscaling.maxReplicas` | Default max replicas for autoscaling. | `10` | -| `fluentd.logs.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | -| `fluentd.logs.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `Nil` | -| `fluentd.logs.rawConfig` | Default log configuration. | See [values.yaml] | -| `fluentd.logs.output.addTimestamp` | Option to control adding timestamp to logs. | `true` | -| `fluentd.logs.output.timestampKey` | Field name when add_timestamp is on. | `timestamp` | -| `fluentd.logs.output.pluginLogLevel` | Option to give plugin specific log level. | `error` | -| `fluentd.logs.output.extraConf` | Additional config parameters for sumologic output plugin | `Nil` | -| `fluentd.logs.extraLogs` | Additional config for custom log pipelines. | `Nil` | -| `fluentd.logs.containers.overrideRawConfig` | To override the entire contents of logs.source.containers.conf file. Leave empty for the default pipeline. | `Nil` | -| `fluentd.logs.containers.outputConf` | Default output configuration for container logs. | `@include logs.output.conf` | -| `fluentd.logs.containers.overrideOutputConf` | Override output section for container logs. Leave empty for the default output section. | `Nil` | -| `fluentd.logs.containers.k8sMetadataFilter.watch` | Option to control the enabling of metadata filter plugin watch. | `true` | -| `fluentd.logs.containers.k8sMetadataFilter.caFile` | path to CA file for Kubernetes server certificate validation. | `Nil` | -| `fluentd.logs.containers.k8sMetadataFilter.verifySsl` | Validate SSL certificates. | `true` | -| `fluentd.logs.containers.k8sMetadataFilter.clientCert` | Path to a client cert file to authenticate to the API server. | `Nil` | -| `fluentd.logs.containers.k8sMetadataFilter.clientKey` | Path to a client key file to authenticate to the API server. | `Nil` | -| `fluentd.logs.containers.k8sMetadataFilter.bearerTokenFile` | Path to a file containing the bearer token to use for authentication. | `Nil` | -| `fluentd.logs.containers.k8sMetadataFilter.tagToMetadataRegexp` | The regular expression used to extract kubernetes metadata (pod name, container name, namespace) from the current fluentd tag. | `.+?\.containers\.(?[^_]+)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\.log$` | -| `fluentd.logs.containers.extraFilterPluginConf` | To use additional filter plugins. | `Nil` | -| `fluentd.logs.containers.extraOutputPluginConf` | To use additional output plugins. | `Nil` | -| `fluentd.logs.containers.multiline.enabled` | Archaic mulitiline detection flow. Please do not change this option until the documentation says to do that | `true` | -| `fluentd.logs.input.forwardExtraConf` | Configuration for the forward input plugin that receives logs from FluentBit. | `` | -| `fluentd.logs.kubelet.enabled` | Collect kubelet logs. | `true` | -| `fluentd.logs.kubelet.extraFilterPluginConf` | To use additional filter plugins. | `Nil` | -| `fluentd.logs.kubelet.extraOutputPluginConf` | To use additional output plugins. | `Nil` | -| `fluentd.logs.kubelet.outputConf` | Output configuration for kubelet. | `@include logs.output.conf` | -| `fluentd.logs.kubelet.overrideOutputConf` | Override output section for kubelet logs. Leave empty for the default output section. | `Nil` | -| `fluentd.logs.systemd.enabled` | Collect systemd logs. | `true` | -| `fluentd.logs.systemd.extraFilterPluginConf` | To use additional filter plugins. | `Nil` | -| `fluentd.logs.systemd.extraOutputPluginConf` | To use additional output plugins. | `Nil` | -| `fluentd.logs.systemd.outputConf` | Output configuration for systemd. | `@include logs.output.conf` | -| `fluentd.logs.systemd.overrideOutputConf` | Override output section for systemd logs. Leave empty for the default output section. | `Nil` | -| `fluentd.logs.default.extraFilterPluginConf` | To use additional filter plugins. | `Nil` | -| `fluentd.logs.default.extraOutputPluginConf` | To use additional output plugins. | `Nil` | -| `fluentd.logs.default.outputConf` | Default log configuration (catch-all). | `@include logs.output.conf` | -| `fluentd.logs.default.overrideOutputConf` | Override output section for untagged logs. Leave empty for the default output section. | `Nil` | -| `fluentd.logs.extraEnvVars` | Additional environment variables for Fluentd logs metadata enrichment | `{}` | -| `fluentd.logs.extraVolumeMounts` | Additional volume mounts for Fluentd logs metadata enrichment | `{}` | -| `fluentd.logs.extraVolumes` | Additional volumes for Fluentd logs metadata enrichment | `{}` | -| `fluentd.metrics.enabled` | Flag to control deploying the Fluentd metrics statefulsets. | `true` | -| `fluentd.metrics.podDisruptionBudget` | Pod Disruption Budget for metrics metadata enrichment. statefulset. | `{"minAvailable": 2}` | -| `fluentd.metrics.statefulset.nodeSelector` | Node selector for Fluentd metrics statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `fluentd.metrics.statefulset.tolerations` | Tolerations for Fluentd metrics statefulset. | `[]` | -| `fluentd.metrics.statefulset.affinity` | Affinity for Fluentd metrics statefulset. | `{}` | -| `fluentd.metrics.statefulset.podAntiAffinity` | PodAntiAffinity for Fluentd metrics statefulset. | `soft` | -| `fluentd.metrics.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for Fluentd metrics metadata enrichment statefulset. | `[]` | -| `fluentd.metrics.statefulset.replicaCount` | Replica count for Fluentd metrics statefulset. | `3` | -| `fluentd.metrics.statefulset.resources` | Resources for Fluentd metrics statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | -| `fluentd.metrics.statefulset.podLabels` | Additional labels for fluentd metrics pods. | `{}` | -| `fluentd.metrics.statefulset.podAnnotations` | Additional annotations for fluentd metrics pods. | `{}` | -| `fluentd.metrics.statefulset.priorityClassName` | Priority class name for fluentd metrics pods. | `Nil` | -| `fluentd.metrics.statefulset.initContainers` | Define init containers that will be run for fluentd metrics statefulset. | `[]` | -| `fluentd.metrics.statefulset.containers.fluentd.securityContext` | The securityContext configuration for Fluentd metrics metadata containers. | `{}` | -| `fluentd.metrics.autoscaling.enabled` | Option to turn autoscaling on for fluentd and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `fluentd.metrics.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `fluentd.metrics.autoscaling.maxReplicas` | Default max replicas for autoscaling. | `10` | -| `fluentd.metrics.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | -| `fluentd.metrics.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `Nil` | -| `fluentd.metrics.rawConfig` | Raw config for fluentd metrics. | See [values.yaml] | -| `fluentd.metrics.outputConf` | Configuration for sumologic output plugin. | `@include metrics.output.conf` | -| `fluentd.metrics.extraEnvVars` | Additional environment variables for metrics metadata enrichment pods. | `Nil` | -| `fluentd.metrics.extraVolumes` | Additional volumes for metrics metadata enrichment pods. | `Nil` | -| `fluentd.metrics.extraVolumeMounts` | Additional volume mounts for metrics metadata enrichment pods. | `Nil` | -| `fluentd.metrics.extraOutputConf` | Additional config parameters for sumologic output plugin | `Nil` | -| `fluentd.metrics.extraFilterPluginConf` | To use additional filter plugins. | `Nil` | -| `fluentd.metrics.extraOutputPluginConf` | To use additional output plugins. | `Nil` | -| `fluentd.metrics.overrideOutputConf` | Override output section for metrics. Leave empty for the default output section. | `Nil` | -| `fluentd.metrics.output` | Output configuration. See [values.yaml] for more details. | See [values.yaml] | -| `fluentd.monitoring` | Configuration of fluentd monitoring metrics. Adds the `fluentd_input_status_num_records_total` metric for input and the `fluentd_output_status_num_records_total` metric for output. | `{"input": false, "output": false}` | -| `fluentd.events.statefulset.nodeSelector` | Node selector for Fluentd events statefulset. [See docs/Best_Practices.md for more information.](/docs/best-practices.md) | `{}` | -| `fluentd.events.statefulset.affinity` | Affinity for Fluentd events statefulset. | `{}` | -| `fluentd.events.statefulset.tolerations` | Tolerations for Fluentd events statefulset. | `[]` | -| `fluentd.events.statefulset.resources` | Resources for Fluentd log statefulset. | `{"limits": {"memory": "512Mi", "cpu": "200m"}, "requests": {"memory": "256Mi", "cpu": "100m"}}` | -| `fluentd.events.statefulset.podLabels` | Additional labels for fluentd events pods. | `{}` | -| `fluentd.events.statefulset.podAnnotations` | Additional annotations for fluentd events pods. | `{}` | -| `fluentd.events.statefulset.priorityClassName` | Priority class name for fluentd events pods. | `Nil` | -| `fluentd.events.statefulset.initContainers` | Define init containers that will be run for fluentd events statefulset. | `[]` | -| `fluentd.events.overrideOutputConf` | Override output section for events. Leave empty for the default output section. | `Nil` | -| `fluentd.events.extraEnvVars` | Additional environment variables for Fluentd event pod. | `` | -| `fluentd.events.extraVolumeMounts` | Additional volume mounts for Fluentd event pod. | `` | -| `fluentd.events.extraVolumes` | Additional volumes for Fluentd event pod. | `` | -| `fluentd.events.sourceCategory` | Source category for the Events source. | `kubernetes/events` | -| `fluentd.events.sourceName` | Source name for the Events source. | `events` | -| `fluentd.events.statefulset.containers.fluentd.securityContext` | The securityContext configuration for Fluentd events containers. | `{}` | -| `metrics-server.enabled` | Set the enabled flag to true for enabling metrics-server. This is required before enabling fluentd autoscaling unless you have an existing metrics-server in the cluster. | `false` | -| `fluentd.serviceLabels` | Additional labels for all FluentD services | `{}` | -| `metrics-server.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `metrics-server.apiService.create` | Specifies whether the v1beta1.metrics.k8s.io API service should be created. | `true` | -| `metrics-server.extraArgs` | Extra arguments to pass to metrics-server on start up. | `["--kubelet-insecure-tls=true", "--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname"]` | -| `metrics-server.image.pullSecrets` | Pull secrets for metrics-server images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `Nil` | -| `fluent-bit.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `fluent-bit.resources` | Resources for Fluent-bit daemonsets. | `{"limits": {"cpu": "100m", "memory": "128Mi"}, "requests": {"cpu": "10m", "memory": "8Mi"}}` | -| `fluent-bit.enabled` | Flag to control deploying Fluent-bit Helm sub-chart. | `true` | -| `fluent-bit.config.service` | Configure Fluent-bit Helm sub-chart service. | See [values.yaml] | -| `fluent-bit.config.inputs` | Configure Fluent-bit Helm sub-chart inputs. Configuration for logs from different container runtimes is described in [Container log parsing](/docs/fluent/container-logs.md). | See [values.yaml] | -| `fluent-bit.config.filters` | Configure Fluent-bit Helm sub-chart filters. | `""` | -| `fluent-bit.config.outputs` | Configure Fluent-bit Helm sub-chart outputs. | See [values.yaml] | -| `fluent-bit.config.customParsers` | Configure Fluent-bit Helm sub-chart customParsers. | See [values.yaml] | -| `fluent-bit.extraVolumeMounts` | Additional volume mounts for Fluent Bit pods. | `[{"mountPath": "/tail-db", "name": "tail-db"}]` | -| `fluent-bit.extraVolumes` | Additional volumes for Fluent Bit pods. | `[{"hostPath": {"path": "/var/lib/fluent-bit", "type": "DirectoryOrCreate"}, "name": "tail-db"}]` | -| `fluent-bit.image.pullPolicy` | Image pullPolicy for Fluent Bit docker container. | `IfNotPresent` | -| `fluent-bit.image.repository` | Image repository for Fluent Bit docker container. | `public.ecr.aws/sumologic/fluent-bit` | -| `fluent-bit.image.tag` | Image tag for Fluent Bit docker container. | `2.1.6` | -| `fluent-bit.imagePullSecrets` | Pull secrets for Fluent Bit images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[{"name": "image-pull-secret"}]` | -| `fluent-bit.securityContext` | The securityContext configuration for Fluent Bit. | `{"capabilities": {"drop": ["ALL"]}, "privileged": true}` | -| `fluent-bit.service.labels` | Labels for Fluent Bit service. | `{"sumologic.com/scrape": "true"}` | -| `fluent-bit.podLabels` | Additional labels for fluent-bit pods. | `{}` | -| `fluent-bit.podAnnotations` | Additional annotations for fluent-bit pods. | `{}` | -| `fluent-bit.env` | Environment variables for fluent-bit. | See [values.yaml] | -| `fluent-bit.tolerations` | Optional daemonset tolerations. | `[{"effect": "NoSchedule", "operator": "Exists"}]` | -| `fluent-bit.nodeSelector` | Node selector for fluent-bit. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `fluent-bit.priorityClassName` | Priority Class name for `fluent-bit` pods. | `Nil` | -| `kube-prometheus-stack.kubeTargetVersionOverride` | Provide a target gitVersion of K8S, in case .Capabilites.KubeVersion is not available (e.g. helm template). Changing this may break Sumo Logic apps. | `Nil` | -| `kube-prometheus-stack.enabled` | Flag to control deploying Prometheus Operator Helm sub-chart. | `true` | -| `kube-prometheus-stack.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `kube-prometheus-stack.namespaceOverride` | Used to override the chart's default namespace. | `Nil` | -| `kube-prometheus-stack.defaultRules.rules` | Control which default recording and alerting rules are enabled. | See [values.yaml] | -| `kube-prometheus-stack.alertmanager.enabled` | Deploy alertmanager. | `false` | -| `kube-prometheus-stack.grafana.enabled` | If true, deploy the grafana sub-chart. | `false` | -| `kube-prometheus-stack.grafana.defaultDashboardsEnabled` | Deploy default dashboards. These are loaded using the sidecar. | `false` | -| `kube-prometheus-stack.prometheusOperator.podLabels` | Additional labels for prometheus operator pods. | `{}` | -| `kube-prometheus-stack.prometheusOperator.podAnnotations` | Additional annotations for prometheus operator pods. | `{}` | -| `kube-prometheus-stack.prometheusOperator.resources` | Resource limits for prometheus operator. Uses sub-chart defaults. | `{"limits": {"cpu": "200m", "memory": "200Mi"}, "requests": {"cpu": "100m", "memory": "100Mi"}}` | -| `kube-prometheus-stack.prometheusOperator.admissionWebhooks.enabled` | Create PrometheusRules admission webhooks. Mutating webhook will patch PrometheusRules objects indicating they were validated. Validating webhook will check the rules syntax. | `false` | -| `kube-prometheus-stack.prometheusOperator.tls.enabled` | Enable TLS in prometheus operator. | `false` | -| `kube-prometheus-stack.kube-state-metrics.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `kube-prometheus-stack.kube-state-metrics.resources` | Resource limits for kube state metrics. Uses sub-chart defaults. | `{"limits": {"cpu": "100m", "memory": "64Mi"}, "requests": {"cpu": "10m", "memory": "32Mi"}}` | -| `kube-prometheus-stack.kube-state-metrics.customLabels` | Custom labels to apply to service, deployment and pods. Uses sub-chart defaults. | `{}` | -| `kube-prometheus-stack.kube-state-metrics.podAnnotations` | Additional annotations for pods in the DaemonSet. Uses sub-chart defaults. | `{}` | -| `kube-prometheus-stack.prometheus.additionalServiceMonitors` | List of ServiceMonitor objects to create. | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.resources` | Resource limits for prometheus. Uses sub-chart defaults. | `{"limits": {"cpu": "2000m", "memory": "8Gi"}, "requests": {"cpu": "500m", "memory": "1Gi"}}` | -| `kube-prometheus-stack.prometheus.prometheusSpec.containers` | Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod. | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.podMetadata.labels` | Add custom pod labels to prometheus pods | `{}` | -| `kube-prometheus-stack.prometheus.prometheusSpec.podMetadata.annotations` | Add custom pod annotations to prometheus pods | `{}` | -| `kube-prometheus-stack.prometheus.prometheusSpec.remoteWrite` | If specified, the remote_write spec. | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.additionalRemoteWrite` | `additionalRemoteWrite` is appended to `kube-prometheus-stack.prometheus.prometheusSpec.remoteWrite` | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.walCompression` | Enables walCompression in Prometheus | `true` | -| `kube-prometheus-stack.prometheus-node-exporter.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `kube-prometheus-stack.prometheus-node-exporter.podLabels` | Additional labels for prometheus-node-exporter pods. | `{}` | -| `kube-prometheus-stack.prometheus-node-exporter.podAnnotations` | Additional annotations for prometheus-node-exporter pods. | `{}` | -| `kube-prometheus-stack.prometheus-node-exporter.resources` | Resource limits for node exporter. Uses sub-chart defaults. | `{"limits": {"cpu": "200m", "memory": "50Mi"}, "requests": {"cpu": "100m", "memory": "30Mi"}}` | -| `kube-prometheus-stack.prometheus-node-exporter.nodeSelector` | Node selector for prometheus node exporter. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `kube-prometheus-stack.kube-state-metrics.nodeSelector` | Node selector for kube-state-metrics. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `kube-prometheus-stack.kube-state-metrics.image.tag` | Tag for kube-state-metrics Docker image. | `v2.7.0` | -| `kube-prometheus-stack.additionalPrometheusRulesMap` | Custom recording or alerting rules to be deployed into the cluster | See [values.yaml] | -| `kube-prometheus-stack.commonLabels` | Labels to apply to all Kube Prometheus Stack resources | `{}` | -| `kube-prometheus-stack.coreDns.serviceMonitor.interval` | Core DNS metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.coreDns.serviceMonitor.metricRelabelings` | Core DNS MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.global.imagePullSecrets` | Pull secrets for Kube Prometheus Stack images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | -| `kube-prometheus-stack.kubeApiServer.serviceMonitor.interval` | Kubernetes API Server metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubeApiServer.serviceMonitor.metricRelabelings` | Kubernetes API Server MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubeControllerManager.serviceMonitor.interval` | Kubernetes Controller Manager metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubeControllerManager.serviceMonitor.metricRelabelings` | Kubernetes Controller Manager MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubeEtcd.serviceMonitor.interval` | Kubernetes Etcd metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubeEtcd.serviceMonitor.metricRelabelings` | Kubernetes Etcd MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubeScheduler.serviceMonitor.interval` | Kubernetes Scheduler metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubeScheduler.serviceMonitor.metricRelabelings` | Kubernetes Scheduler MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kube-state-metrics.prometheus.monitor.interval` | Kubernetes State Metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kube-state-metrics.prometheus.monitor.metricRelabelings` | Kubernetes State Metrics MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Kubelet CAdvisor MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubelet.serviceMonitor.interval` | Kubelet metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.kubelet.serviceMonitor.metricRelabelings` | Kubelet MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.kubelet.serviceMonitor.probes` | Enable scraping /metrics/probes from kubelet's service | `false` | -| `kube-prometheus-stack.kubelet.serviceMonitor.resource` | Enable scraping /metrics/resource from kubelet's service | `false` | -| `kube-prometheus-stack.prometheus-node-exporter.prometheus.monitor.interval` | Node Exporter scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | -| `kube-prometheus-stack.prometheus-node-exporter.prometheus.monitor.metricRelabelings` | Node Exporter MetricRelabelConfigs | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.additionalScrapeConfigs` | Additional Prometheus scrape configurations | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.initContainers` | InitContainers allows injecting additional Prometheus initContainers. | See [values.yaml] | -| `kube-prometheus-stack.prometheus.prometheusSpec.retention` | How long to retain metrics in Prometheus | `1d` | -| `kube-prometheus-stack.prometheus.prometheusSpec.scrapeInterval` | Prometheus metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `30s` | -| `kube-prometheus-stack.prometheus.serviceMonitor.selfMonitor` | Enable scraping Prometheus metrics | `false` | -| `falco.enabled` | Flag to control deploying Falco Helm sub-chart. | `false` | -| `falco.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `falco.addKernelDevel` | Flag to control installation of `kernel-devel` on nodes using MachineConfig, required to build falco modules (only for OpenShift) | `true` | -| `falco.extra.initContainers` | InitContainers for Falco pod | See [values.yaml] | -| `falco.falco.json_output` | Output events in json. | `true` | -| `falco.imagePullSecrets` | Pull secrets for falco images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | -| `falco.customRules` | Additional falco rules related to Sumo Logic Kubernetes Collection | See [values.yaml] | -| `falco.driver.kind` | Tell Falco which driver to use. Available options: module (kernel driver) and ebpf (eBPF probe). Set to `ebpf` for GKE | `module` | -| `falco.driver.loader.initContainer.image` | Init container image configuration for falco driver loader. | `{"registry": "public.ecr.aws", "repository": "falcosecurity/falco-driver-loader"}` | -| `falco.falco.load_plugins` | Names of the plugins to be loaded by Falco. | `["json", "k8saudit"]` | -| `falco.falco.rules_file` | The location of the rules files that will be consumed by Falco. | `["/etc/falco/falco_rules.yaml", "/etc/falco/falco_rules.local.yaml", "/etc/falco/k8s_audit_rules.yaml", "/etc/falco/rules.d", "/etc/falco/rules.available/application_rules.yaml"]` | -| `falco.image.registry` | Image registry for falco docker container. | `public.ecr.aws` | -| `falco.image.repository` | Image repository for falco docker container. | `falcosecurity/falco-no-driver` | -| `falco.falcoctl` | Falcoctl configuration. We don't use it for now due to breaking changes. [See this issue](https://github.com/SumoLogic/sumologic-kubernetes-collection/issues/3144). | `{"artifact": {"follow": {"enabled": false}, "install": {"enabled": false}}}` | -| `telegraf-operator.enabled` | Flag to control deploying Telegraf Operator Helm sub-chart. | `false` | -| `telegraf-operator.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `telegraf-operator.replicaCount` | Replica count for Telegraf Operator pods. | 1 | -| `telegraf-operator.classes.secretName` | Secret name in which the Telegraf Operator configuration will be stored. | `telegraf-operator-classes` | -| `telegraf-operator.classes.data` | Telegraf sidecar configuration. | See [values.yaml] | -| `telegraf-operator.classes.default` | Name of the default output configuration. | `sumologic-prometheus` | -| `telegraf-operator.image.sidecarImage` | Telegraf Operator sidecar image. | `public.ecr.aws/sumologic/telegraf:1.21.2` | -| `telegraf-operator.imagePullSecrets` | Pull secrets for Telegraf Operator images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | -| `opentelemetry-operator.enabled` | Flag to control deploying OpenTelemetry Operator Helm sub-chart. | `false` | -| `opentelemetry-operator.createDefaultInstrumentation` | Flag to control creation of default Instrumentation object | `false` | -| `opentelemetry-operator.instrumentation.dotnet.metrics.enabled` | Flag to control metrics export from DotNet instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.dotnet.traces.enabled` | Flag to control traces export from DotNet instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.java.metrics.enabled` | Flag to control metrics export from Java instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.java.traces.enabled` | Flag to control traces export from Java instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.python.metrics.enabled` | Flag to control metrics export from Python instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.instrumentation.python.traces.enabled` | Flag to control traces export from Python instrumentation in `Instrumentation` resource. | `true` | -| `opentelemetry-operator.manager.collectorImage.repository` | The default collector image repository for OpenTelemetryCollector CRDs. | `public.ecr.aws/sumologic/sumologic-otel-collector` | -| `opentelemetry-operator.manager.collectorImage.tag` | The default collector image tag for OpenTelemetryCollector CRDs. | `0.85.0-sumo-0` | -| `opentelemetry-operator.manager.resources.limits.cpu` | Used to set limit CPU for OpenTelemetry-Operator Manager. | `250m` | -| `opentelemetry-operator.manager.resources.limits.memory` | Used to set limit Memory for OpenTelemetry-Operator Manager. | `512Mi` | -| `opentelemetry-operator.manager.resources.requests.cpu` | Used to set requested CPU for OpenTelemetry-Operator Manager. | `150m` | -| `opentelemetry-operator.manager.resources.requests.memory` | Used to set requested Memory for OpenTelemetry-Operator Manager. | `256Mi` | -| `opentelemetry-operator.instrumentationNamespaces` | Used to create `Instrumentation` resources in specified namespaces. | `Nil` | -| `opentelemetry-operator.instrumentationJobImage.image.repository` | Name of the image repository used to apply Instrumentation resource | `sumologic/kubernetes-tools` | -| `opentelemetry-operator.instrumentationJobImage.image.tag` | Name of the image tag used to apply Instrumentation resource | `2.14.0` | -| `opentelemetry-operator.admissionWebhooks` | Admission webhooks make sure only requests with correctly formatted rules will get into the Operator. They also enable the sidecar injection for OpenTelemetryCollector and Instrumentation CR's. | See [values.yaml] | -| `opentelemetry-operator.manager.env` | Additional environment variables for opentelemetry-operator helm chart. | `Nil` | -| `otelcolInstrumentation.enabled` | Enables Sumo Otel Distro Collector StatefulSet to collect telemetry data. [See docs for more information.](/docs/opentelemetry-collector/traces.md) | `true` | -| `otelcolInstrumentation.autoscaling.enabled` | Option to turn autoscaling on for Sumo Otel Distro Collector StatefulSet and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `otelcolInstrumentation.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `otelcolInstrumentation.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | -| `otelcolInstrumentation.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | -| `otelcolInstrumentation.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | -| `otelcolInstrumentation.statefulset.replicaCount` | Set the number of otelcol-instrumentation replicasets. | `3` | -| `otelcolInstrumentation.statefulset.nodeSelector` | Node selector for otelcol-instrumentation statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `otelcolInstrumentation.statefulset.priorityClassName` | Priority class name for otelcol-instrumentation pods. | If not provided then set to `RELEASE-NAME-sumologic-priorityclass`. | -| `otelcolInstrumentation.statefulset.affinity` | Affinity for otelcol-instrumentation statefulset. | `{}` | -| `otelcolInstrumentation.statefulset.extraEnvVars` | Additional environment variables for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.extraVolumeMounts` | Additional volume mounts for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.extraVolumes` | Additional volumes for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.image.pullPolicy` | Image pullPolicy for otelcol-instrumentation docker container. | `IfNotPresent` | -| `otelcolInstrumentation.statefulset.image.repository` | Image repository for otelcol-instrumentation docker container. | `` | -| `otelcolInstrumentation.statefulset.image.tag` | Image tag for otelcol-instrumentation docker container. | `` | -| `otelcolInstrumentation.statefulset.podAnnotations` | Additional annotations for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.podAntiAffinity` | PodAntiAffinity for otelcol-instrumentation statefulset. | `soft` | -| `otelcolInstrumentation.statefulset.podLabels` | Additional labels for otelcol-instrumentation pods. | `{}` | -| `otelcolInstrumentation.statefulset.resources` | Resources for otelcol-instrumentation statefulset. | `{"limits": {"memory": "4Gi", "cpu": "2000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | -| `otelcolInstrumentation.statefulset.tolerations` | Tolerations for otelcol-instrumentation statefulset. | `[]` | -| `otelcolInstrumentation.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for otelcol-instrumentation statefulset. | `[]` | -| `otelcolInstrumentation.sourceMetadata.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{k8s.namespace.name}.%{k8s.pod.pod_name}.%{k8s.container.name}"` | -| `otelcolInstrumentation.sourceMetadata.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"%{k8s.namespace.name}/%{k8s.pod.pod_name}"` | -| `otelcolInstrumentation.sourceMetadata.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | -| `otelcolInstrumentation.sourceMetadata.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | -| `otelcolInstrumentation.sourceMetadata.excludeContainerRegex` | A regular expression for containers. Matching containers will be excluded from Sumo. | `""` | -| `otelcolInstrumentation.sourceMetadata.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. | `""` | -| `otelcolInstrumentation.sourceMetadata.excludeNamespaceRegex` | A regular expression for namespaces. Matching namespaces will be excluded from Sumo. | `""` | -| `otelcolInstrumentation.sourceMetadata.excludePodRegex` | A regular expression for pods. Matching pods will be excluded from Sumo. | `""` | -| `otelcolInstrumentation.logLevelFilter` | Do not send otelcol-instrumentation logs if `true`. | `false` | -| `otelcolInstrumentation.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | -| `otelcolInstrumentation.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | -| `otelcolInstrumentation.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | -| `otelcolInstrumentation.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | -| `otelcolInstrumentation.config` | Configuration for otelcol-instrumentation | See [values.yaml] | -| `otelcolInstrumentation.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for the otelcol-instrumentation container. | `{"periodSeconds": 3, "failureThreshold": 60}` | -| `otelcolInstrumentation.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the otelcol-instrumentation container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | -| `otelcolInstrumentation.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the otelcol-instrumentation container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | -| `otelcolInstrumentation.statefulset.containers.otelcol.securityContext` | The securityContext configuration for the otelcol-instrumentation container. | `{}` | -| `tracesGateway.enabled` | Flag to control deploying traces-gateway. [See docs for more information.](/docs/opentelemetry-collector/traces.md) | `true` | -| `tracesGateway.autoscaling.enabled` | Option to turn autoscaling on for traces-gateway and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `tracesGateway.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `tracesGateway.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | -| `tracesGateway.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | -| `tracesGateway.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | -| `tracesGateway.deployment.replicas` | Set the number of OpenTelemetry Collector replicas. | `1` | -| `tracesGateway.deployment.nodeSelector` | Node selector for otelcol deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `tracesGateway.deployment.priorityClassName` | Priority class name for OpenTelemetry Collector log pods. | `Nil` | -| `tracesGateway.logLevelFilter` | Do not send traces-gateway logs if `true`. | `false` | -| `tracesGateway.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | -| `tracesGateway.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | -| `tracesGateway.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | -| `tracesGateway.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | -| `tracesGateway.config` | Configuration for traces-gateway. | See [values.yaml] | -| `tracesGateway.deployment.extraEnvVars` | Additional environment variables for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.extraVolumeMounts` | Additional volume mounts for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.extraVolumes` | Additional volumes for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.image.pullPolicy` | Image pullPolicy for traces-gateway docker container. | `IfNotPresent` | -| `tracesGateway.deployment.image.repository` | Image repository for traces-gateway docker container. | `` | -| `tracesGateway.deployment.image.tag` | Image tag for traces-gateway docker container. | `` | -| `tracesGateway.deployment.livenessProbe` | Liveness probe settings for the traces-gateway container. | `{"periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | -| `tracesGateway.deployment.podAnnotations` | Additional annotations for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.podLabels` | Additional labels for traces-gateway pods. | `{}` | -| `tracesGateway.deployment.readinessProbe` | Readiness probe settings for the traces-gateway container. | `{"periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | -| `tracesGateway.deployment.resources` | Resources for traces-gateway statefulset. | `{"limits": {"memory": "2Gi", "cpu": "1000m"}, "requests": {"memory": "196Mi", "cpu": "50m"}}` | -| `tracesGateway.deployment.startupProbe` | Startup probe configuration for the traces-gateway container. | `{"periodSeconds": 5, "timeoutSeconds": 3, "failureThreshold": 60}` | -| `tracesGateway.deployment.tolerations` | Tolerations for traces-gateway statefulset. | `[]` | -| `tracesSampler.deployment.replicas` | Set the number of OpenTelemetry Collector replicas. | `1` | -| `tracesSampler.deployment.nodeSelector` | Node selector for otelcol deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `tracesSampler.deployment.priorityClassName` | Priority class name for OpenTelemetry Collector log pods. | `Nil` | -| `tracesSampler.logLevelFilter` | Do not send traces-sampler logs if `true`. | `false` | -| `tracesSampler.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | -| `tracesSampler.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | -| `tracesSampler.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | -| `tracesSampler.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | -| `tracesSampler.config` | Configuration for traces-sampler. | See [values.yaml] | -| `tracesSampler.deployment.extraEnvVars` | Additional environment variables for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.extraVolumeMounts` | Additional volume mounts for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.extraVolumes` | Additional volumes for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.image.pullPolicy` | Image pullPolicy for traces-sampler docker container. | `IfNotPresent` | -| `tracesSampler.deployment.image.repository` | Image repository for traces-sampler docker container. | `` | -| `tracesSampler.deployment.image.tag` | Image tag for traces-sampler docker container. | `` | -| `tracesSampler.deployment.podAnnotations` | Additional annotations for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.podLabels` | Additional labels for traces-sampler pods. | `{}` | -| `tracesSampler.deployment.resources` | Resources for traces-sampler statefulset. | `{"limits": {"memory": "4Gi", "cpu": "2000m"}, "requests": {"memory": "384Mi", "cpu": "200m"}}` | -| `tracesSampler.deployment.tolerations` | Tolerations for traces-sampler statefulset. | `[]` | -| `otellogs.image.repository` | Image repository for otelcol docker container. | `` | -| `otellogs.image.tag` | Image tag for otelcol docker container. | `` | -| `otellogs.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | -| `otellogs.logLevel` | Log level for the OpenTelemtry Collector. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | -| `otellogs.config.merge` | Configuration for log collector otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `otellogs.config.override` | Configuration for log collector otelcol, replaces defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `otellogs.daemonset` | OpenTelemetry Collector Daemonset customization options. See [values.yaml] for more details. | See [values.yaml] | -| `otelcloudwatch.statefulset` | OpenTelemetry Cloudwatch Collector statefulset customization options. See [values.yaml] for more details. | See [values.yaml] | -| `otellogs.additionalDaemonSets` | OpenTelemetry Collector Daemonset per node customization options. See [Best Practices](/docs/best-practices.md#setting-different-resources-on-different-nodes-for-logs-collector). | `{}` | -| `otellogs.metrics.enabled` | Enable OpenTelemetry Collector metrics | `true` | -| `otellogs.serviceLabels` | Add custom labels to OpenTelemetry Collector Service | `{}` | -| `metadata.image.repository` | Image repository for otelcol docker container. | `` | -| `metadata.image.tag` | Image tag for otelcol docker container. | `` | -| `metadata.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | -| `metadata.securityContext` | The securityContext configuration for otelcol. | `{"fsGroup": 999}` | -| `metadata.podLabels` | Additional labels for all otelcol pods. | `{}` | -| `metadata.podAnnotations` | Additional annotations for all otelcol pods. | `{}` | -| `metadata.serviceLabels` | Additional labels for all otelcol pods. | `{}` | -| `metadata.persistence.enabled` | Flag to control persistence for OpenTelemetry Collector. | `true` | -| `metadata.persistence.storageClass` | Defines storageClassName for the PersistentVolumeClaim which is used to provide persistence for OpenTelemetry Collector. | `Nil` | -| `metadata.persistence.accessMode` | The accessMode for the volume which is used to provide persistence for OpenTelemetry Collector. | `ReadWriteOnce` | -| `metadata.persistence.size` | Size of the volume which is used to provide persistence for OpenTelemetry Collector. | `10Gi` | -| `metadata.persistence.pvcLabels` | Additional PersistentVolumeClaim labels for all OpenTelemetry Collector pods. | `{}` | -| `metadata.metrics.enabled` | Flag to control deploying the otelcol metrics statefulsets. | `true` | -| `metadata.metrics.logLevel` | Flag to control logging level for OpenTelemetry Collector for metrics. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | -| `metadata.metrics.config.merge` | Configuration for metrics metadata otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `metadata.metrics.config.override` | Configuration for metrics metadata otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `metadata.metrics.config.additionalEndpoints` | List of additional endpoints for Open Telemetry Metadata Pod. | `[]` | -| `metadata.metrics.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for metrics otelcol container. | `{"periodSeconds": 3, "failureThreshold": 60}` | -| `metadata.metrics.statefulset.nodeSelector` | Node selector for metrics metadata enrichment (otelcol) statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `metadata.metrics.statefulset.tolerations` | Tolerations for metrics metadata enrichment (otelcol) statefulset. | `[]` | -| `metadata.metrics.statefulset.affinity` | Affinity for metrics metadata enrichment (otelcol) statefulset. | `{}` | -| `metadata.metrics.statefulset.podAntiAffinity` | PodAntiAffinity for metrics metadata enrichment (otelcol) statefulset. | `soft` | -| `metadata.metrics.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for metrics metadata enrichment (otelcol) statefulset. | `[]` | -| `metadata.metrics.statefulset.replicaCount` | Replica count for metrics metadata enrichment (otelcol) statefulset. | `3` | -| `metadata.metrics.statefulset.resources` | Resources for metrics metadata enrichment (otelcol) statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | -| `metadata.metrics.statefulset.priorityClassName` | Priority class name for metrics metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.metrics.statefulset.podLabels` | Additional labels for metrics metadata enrichment (otelcol) pods. | `{}` | -| `metadata.metrics.statefulset.podAnnotations` | Additional annotations for metrics metadata enrichment (otelcol) pods. | `{}` | -| `metadata.metrics.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | -| `metadata.metrics.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | -| `metadata.metrics.statefulset.containers.otelcol.securityContext` | The securityContext configuration for otelcol container for metrics metadata enrichment statefulset. | `{}` | -| `metadata.metrics.statefulset.extraEnvVars` | Additional environment variables for metrics metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.metrics.statefulset.extraVolumes` | Additional volumes for metrics metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.metrics.statefulset.extraVolumeMounts` | Additional volume mounts for metrics metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.metrics.autoscaling.enabled` | Option to turn autoscaling on for metrics metadata enrichment (otelcol) and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `metadata.metrics.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `metadata.metrics.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | -| `metadata.metrics.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `80` | -| `metadata.metrics.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `Nil` | -| `metadata.metrics.podDisruptionBudget` | Pod Disruption Budget for metrics metadata enrichment (otelcol) statefulset and for experimental otelcol metrics collector. | `{"minAvailable": 2}` | -| `metadata.logs.enabled` | Flag to control deploying the otelcol logs statefulsets. | `true` | -| `metadata.logs.logLevel` | Flag to control logging level for OpenTelemetry Collector for logs. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | -| `metadata.logs.config.merge` | Configuration for logs metadata otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `metadata.logs.config.override` | Configuration for logs metadata otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | -| `metadata.logs.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for the logs otelcol container. | `{"periodSeconds": 3, "failureThreshold": 60}` | -| `metadata.logs.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | -| `metadata.logs.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | -| `metadata.logs.statefulset.containers.otelcol.securityContext` | The securityContext configuration for the logs otelcol container. | `{}` | -| `metadata.logs.statefulset.nodeSelector` | Node selector for logs metadata enrichment (otelcol) statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `metadata.logs.statefulset.tolerations` | Tolerations for logs metadata enrichment (otelcol) statefulset. | `[]` | -| `metadata.logs.statefulset.affinity` | Affinity for logs metadata enrichment (otelcol) statefulset. | `{}` | -| `metadata.logs.statefulset.podAntiAffinity` | PodAntiAffinity for logs metadata enrichment (otelcol) statefulset. | `soft` | -| `metadata.logs.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for logs metadata enrichment (otelcol) statefulset. | `[]` | -| `metadata.logs.statefulset.replicaCount` | Replica count for logs metadata enrichment (otelcol) statefulset. | `3` | -| `metadata.logs.statefulset.resources` | Resources for logs metadata enrichment (otelcol) statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | -| `metadata.logs.statefulset.priorityClassName` | Priority class name for logs metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.logs.statefulset.podLabels` | Additional labels for logs metadata enrichment (otelcol) pods. | `{}` | -| `metadata.logs.statefulset.podAnnotations` | Additional annotations for logs metadata enrichment (otelcol) pods. | `{}` | -| `metadata.logs.statefulset.extraEnvVars` | Additional environment variables for logs metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.logs.statefulset.extraVolumes` | Additional volumes for logs metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.logs.statefulset.extraVolumeMounts` | Additional volume mounts for logs metadata enrichment (otelcol) pods. | `Nil` | -| `metadata.logs.statefulset.extraPorts` | Additional exposed ports in logs metadata enrichment (otelcol) pods and service. | `Nil` | -| `metadata.logs.statefulset.extraArgs` | Additional arguments to otelcol container. | `Nil` | -| `metadata.logs.autoscaling.enabled` | Option to turn autoscaling on for logs metadata enrichment (otelcol) and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | -| `metadata.logs.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | -| `metadata.logs.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | -| `metadata.logs.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `80` | -| `metadata.logs.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `Nil` | -| `metadata.logs.podDisruptionBudget` | Pod Disruption Budget for logs metadata enrichment (otelcol) statefulset. | `{"minAvailable": 2}` | -| `otelevents.image.repository` | Image repository for otelcol docker container. | `` | -| `otelevents.image.tag` | Image tag for otelcol docker container. | `` | -| `otelevents.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | -| `otelevents.logLevel` | Log level for the OpenTelemtry Collector. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | -| `otelevents.config.merge` | Configuration for events otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | -| `otelevents.config.override` | Configuration for events otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | -| `otelevents.statefulset` | OpenTelemetry Collector StatefulSet customization options. See values.yaml for more details. | See [values.yaml] | -| `tailing-sidecar-operator.enabled` | Flag to control deploying Tailing Sidecar Operator Helm sub-chart. | `false` | -| `tailing-sidecar-operator.fullnameOverride` | Used to override the chart's full name. | `Nil` | -| `tailing-sidecar-operator.scc.create` | Create OpenShift's Security Context Constraint | `false` | -| `kube-prometheus-stack.prometheus.prometheusSpec.nodeSelector` | Node selector for prometheus. [See docs/Best_Practices.md for more information.](/docs/best-practices.md) | `{}` | -| `pvcCleaner.metrics.enabled` | Flag to enable cleaning unused PVCs for otelcol metrics statefulsets. | `false` | -| `pvcCleaner.logs.enabled` | Flag to enable cleaning unused PVCs for otelcol logs statefulsets. | `false` | -| `pvcCleaner.job.image.repository` | Image repository for pvcCleaner docker containers. | `public.ecr.aws/sumologic/kubernetes-tools-kubectl` | -| `pvcCleaner.job.image.tag` | Image tag for pvcCleaner docker containers. | `2.20.0` | -| `pvcCleaner.job.image.pullPolicy` | Image pullPolicy for pvcCleaner docker containers. | `IfNotPresent` | -| `pvcCleaner.job.resources` | Resource requests and limits for the pvcCleaner containers. | `{"limits": {"memory": "256Mi", "cpu": "2000m"}, "requests": {"memory": "64Mi", "cpu": "100m"}}` | -| `pvcCleaner.job.nodeSelector` | Node selector for pvcCleaner job. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | -| `pvcCleaner.job.tolerations` | Add tolerations for the pvcCleaner job. | `[]` | -| `pvcCleaner.job.affinity` | Add affinity and anti-affinity for the pvcCleaner job. | `{}` | -| `pvcCleaner.job.podLabels` | Additional labels for the pvcCleaner container. | `{}` | -| `pvcCleaner.job.podAnnotations` | Additional annotations for for the pvcCleaner container. | `{}` | -| `pvcCleaner.job.schedule` | Schedule for cronJobs | `*/15 * * * *` | -| `pvcCleaner.job.securityContext` | The securityContext configuration for the pvcCleaner. | `{"runAsUser": 1000}` | +| Parameter | Description | Default | +| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `nameOverride` | Used to override the Chart name. | `Nil` | +| `fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `namespaceOverride` | Used to override the chart's default target namepace. | `Nil` | +| `sumologic.setupEnabled` | If enabled, a pre-install hook will create Collector and Sources in Sumo Logic. | `true` | +| `sumologic.cleanupEnabled` | If enabled, a pre-delete hook will destroy Kubernetes secret and Sumo Logic Collector. | `false` | +| `sumologic.events.enabled` | Defines whether collection of Kubernetes events is enabled. | `true` | +| `sumologic.events.sourceName` | Source name for the Events source. | `events` | +| `sumologic.events.sourceCategory` | Source category for the Events source. | `{clusterName}/events` | +| `sumologic.events.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | +| `sumologic.events.persistence.enabled` | Enable persistence for the event collector. Persistence lets the collector avoid reingesting events on restart and buffer them locally if unable to reach the backend. | `true` | +| `sumologic.events.persistence.persistentVolume.path` | Local filesystem path the persistent storage volume will be mounted at. | `/var/lib/storage/events` | +| `sumologic.events.persistence.size` | Size of the persistent storage volume | `10Gi` | +| `sumologic.events.persistence.persistentVolume.storageClass` | The storageClassName for the persistent storage volume | `Nil` | +| `sumologic.events.persistence.persistentVolume.accessMode` | The accessMode for the persistent storage volume | `ReadWriteOnce` | +| `sumologic.events.persistence.persistentVolume.pvcLabels` | Additional PersistentVolumeClaim labels for persistent storage volumes | `{}` | +| `sumologic.events.sourceType` | The type of the Sumo Logic source being used for events ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | +| `sumologic.logs.enabled` | Set the enabled flag to false for disabling logs ingestion altogether. | `true` | +| `sumologic.logs.collector.otelcol.enabled` | Enable OpenTelemetry logs collector. | `true` | +| `sumologic.logs.collector.otelcloudwatch.enabled` | Flag to enable CloudWatch Collection | `false` | +| `sumologic.logs.collector.otelcloudwatch.logGroups` | Log Groups configuration for AWS CloudWatch receiver | `{}` | +| `sumologic.logs.collector.otelcloudwatch.persistence.enabled` | Flag to control persistence for the CloudWatch collector | `true` | +| `sumologic.logs.collector.otelcloudwatch.pollInterval` | CloudWatch poll interval | `1m` | +| `sumologic.logs.collector.otelcloudwatch.region` | EKS Fargate cluster region | `""` | +| `sumologic.logs.collector.otelcloudwatch.roleArn` | AWS role ARN, to authenticate with CloudWatch | `""` | +| `sumologic.logs.container.enabled` | Enable collecting logs from Kubernetes containers. | `true` | +| `sumologic.logs.container.format` | Format for container logs. | `fields` | +| `sumologic.logs.multiline.enabled` | Enable multiline detection for Kubernetes container logs. | `true` | +| `sumologic.logs.multiline.first_line_regex` | Regular expression to match first line of multiline logs. | `^\[?\d{4}-\d{1,2}-\d{1,2}.\d{2}:\d{2}:\d{2}` | +| `sumologic.logs.multiline.additional` | List of additional conditions and expressions to match first line of multiline logs. See [Multiline](/docs/collecting-container-logs.md#conditional-multiline-log-parsing) for more information. | `[]` | +| `sumologic.logs.systemd.enabled` | Enable collecting systemd logs from Kubernets nodes. | `true` | +| `sumologic.logs.systemd.units` | List of systemd units to collect logs from. | See [values.yaml] | +| `sumologic.logs.container.keep_time_attribute` | When set to `true`, preserves the `time` attribute, which is a string representation of the `timestamp` attribute. | `false` | +| `sumologic.logs.container.sourceHost` | Set the \_sourceHost metadata field in Sumo Logic. | `""` | +| `sumologic.logs.container.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{namespace}.%{pod}.%{container}"` | +| `sumologic.logs.container.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"%{namespace}/%{pod_name}"` | +| `sumologic.logs.container.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | +| `sumologic.logs.container.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | +| `sumologic.logs.container.excludeContainerRegex` | A regular expression for container names. Logs from matching containers will not be sent to Sumo. | `""` | +| `sumologic.logs.container.excludeHostRegex` | A regular expression for Kubernetes node names. Logs from pods running on matching nodes will not be sent to Sumo. | `""` | +| `sumologic.logs.container.excludeNamespaceRegex` | A regular expression for Kubernetes namespace names. Logs from pods running in matching namespaces will not be sent to Sumo. | `""` | +| `sumologic.logs.container.excludePodRegex` | A regular expression for pod names. Logs from matching pods will not be sent to Sumo. | `""` | +| `sumologic.logs.container.otelcol.extraProcessors` | Extra processors for container logs. See [/docs/collecting-container-logs.md](/docs/collecting-container-logs.md) for details. | `[]` | +| `sumologic.logs.container.perContainerAnnotationsEnabled` | Enable container-level pod annotations. | `false` | +| `sumologic.logs.container.perContainerAnnotationPrefixes` | Defines the list of prefixes of container-level pod annotations. | `[]` | +| `sumologic.logs.systemd.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{_sourceName}"` | +| `sumologic.logs.systemd.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"system"` | +| `sumologic.logs.systemd.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | +| `sumologic.logs.systemd.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | +| `sumologic.logs.systemd.excludeFacilityRegex` | A regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | +| `sumologic.logs.systemd.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `Nil` | +| `sumologic.logs.systemd.excludePriorityRegex` | A regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | +| `sumologic.logs.systemd.excludeUnitRegex` | A regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | +| `sumologic.logs.systemd.otelcol.extraProcessors` | Extra processors for systemd logs. See [/docs/collecting-systemd-logs.md](/docs/collecting-systemd-logs.md) for details. | `[]` | +| `sumologic.logs.kubelet.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"k8s_kubelet"` | +| `sumologic.logs.kubelet.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"kubelet"` | +| `sumologic.logs.kubelet.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | +| `sumologic.logs.kubelet.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | +| `sumologic.logs.kubelet.excludeFacilityRegex` | A regular expression for facility. Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | +| `sumologic.logs.kubelet.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | +| `sumologic.logs.kubelet.excludePriorityRegex` | A regular expression for priority. Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | +| `sumologic.logs.kubelet.excludeUnitRegex` | A regular expression for unit. Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). | `""` | +| `sumologic.logs.kubelet.otelcol.extraProcessors` | Extra processors for systemd logs. See [/docs/collecting-systemd-logs.md](/docs/collecting-systemd-logs.md) for details. | `[]` | +| `sumologic.logs.fields` | Fields to be created at Sumo Logic to ensure logs are tagged with relevant metadata. [Sumo Logic help](https://help.sumologic.com/docs/manage/fields/#manage-fields) | `["cluster", "container", "daemonset", "deployment", "host", "namespace", "node", "pod", "service", "statefulset"]` | +| `sumologic.logs.sourceType` | The type of the Sumo Logic source being used for logs ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/logs-metrics/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | +| `sumologic.metrics.enabled` | Set the enabled flag to false for disabling metrics ingestion altogether. | `true` | +| `sumologic.metrics.otelcol.extraProcessors` | Extra processors configuration for metrics pipeline. See [/docs/collecting-application-metrics.md#metrics-modifications](/docs/collecting-application-metrics.md#metrics-modifications) for more information. | `[]` | +| `sumologic.metrics.remoteWriteProxy.enabled` | Enable a load balancing proxy for Prometheus remote writes. [See docs for more information.](/docs/prometheus.md#using-a-load-balancing-proxy-for-prometheus-remote-write) | `true` | +| `sumologic.metrics.remoteWriteProxy.config.clientBodyBufferSize` | See the [nginx documentation](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size). Increase if you've also increased samples per send in Prometheus remote write. | `64k` | +| `sumologic.metrics.remoteWriteProxy.config.workerCountAutotune` | This feature autodetects how much CPU is assigned to the nginx instance and setsthe right amount of workers based on that. Disable to use the default of 8 workers. | `true` | +| `sumologic.metrics.remoteWriteProxy.config.enableAccessLogs` | Enable nginx access logs. | `false` | +| `sumologic.metrics.remoteWriteProxy.replicaCount` | Number of replicas in the remote write proxy deployment. | `3` | +| `sumologic.metrics.remoteWriteProxy.image` | Nginx docker image for the remote write proxy. | `{"repository": "public.ecr.aws/sumologic/nginx-unprivileged", "tag": "1.25.2-alpine", "pullPolicy": "IfNotPresent"}` | +| `sumologic.metrics.remoteWriteProxy.resources` | Resource requests and limits for the remote write proxy container. | `{"limits": {"cpu": "1000m", "memory": "256Mi"}, "requests": {"cpu": "100m", "memory": "128Mi"}}` | +| `sumologic.metrics.remoteWriteProxy.livenessProbe` | Liveness probe settings for the remote write proxy container. | `{"initialDelaySeconds": 30, "periodSeconds": 10, "timeoutSeconds": 5, "successThreshold": 1, "failureThreshold": 6}` | +| `sumologic.metrics.remoteWriteProxy.readinessProbe` | Readiness probe settings for the remote write proxy container. | `{"initialDelaySeconds": 5, "periodSeconds": 5, "timeoutSeconds": 3, "successThreshold": 1, "failureThreshold": 3}` | +| `sumologic.metrics.remoteWriteProxy.securityContext` | The securityContext configuration for the remote write proxy. | `{}` | +| `sumologic.metrics.remoteWriteProxy.nodeSelector` | Node selector for the remote write proxy deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `sumologic.metrics.remoteWriteProxy.tolerations` | Tolerations for the remote write proxy deployment. | `[]` | +| `sumologic.metrics.remoteWriteProxy.affinity` | Affinity for the remote write proxy deployment. | `{}` | +| `sumologic.metrics.remoteWriteProxy.priorityClassName` | Priority class name for the remote write proxy deployment. | `Nil` | +| `sumologic.metrics.remoteWriteProxy.podLabels` | Additional labels for the remote write proxy container. | `{}` | +| `sumologic.metrics.remoteWriteProxy.podAnnotations` | Additional annotations for for the remote write proxy container. | `{}` | +| `sumologic.metrics.remoteWriteProxy.config.port` | Port on which remote write proxy is going to be exposed | `8080` | +| `sumologic.metrics.serviceMonitors` | Configuration of Sumo Logic Kubernetes Collection components serviceMonitors | See [values.yaml] | +| `sumologic.metrics.collector.otelcol.enabled` | Enable experimental otelcol metrics collector | See [values.yaml] | +| `sumologic.metrics.collector.otelcol.scrapeInterval` | The default scrape interval for the collector. | `30s` | +| `sumologic.metrics.collector.otelcol.replicaCount` | Replica count for the experimental otelcol metrics collector | `1` | +| `sumologic.metrics.collector.otelcol.resources` | Resource requests and limits for the experimental otelcol metrics collector | See [values.yaml] | +| `sumologic.metrics.collector.otelcol.autoscaling.enabled` | Option to turn autoscaling on for the experimental otelcol metrics and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. collector | `false` | +| `sumologic.metrics.collector.otelcol.autoscaling.maxReplicas` | Default max replicas for autoscaling. collector | `10` | +| `sumologic.metrics.collector.otelcol.autoscaling.minReplicas` | Default min replicas for autoscaling. collector | `3` | +| `sumologic.metrics.collector.otelcol.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `70` | +| `sumologic.metrics.collector.otelcol.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `70` | +| `sumologic.metrics.collector.otelcol.serviceMonitorSelector` | Selector for ServiceMonitors used for target discovery. By default, we select ServiceMonitors created by the Chart. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `Nil` | +| `sumologic.metrics.collector.otelcol.podMonitorSelector` | Selector for PodMonitors used for target discovery. By default, we select PodMonitors created by the Chart. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `Nil` | +| `sumologic.metrics.collector.otelcol.nodeSelector` | Node selector for the experimental otelcol metrics. [See docs/best-practices.md for more information.](/docs/best-practices.md). | `{}` | +| `sumologic.metrics.collector.otelcol.podAnnotations` | Additional annotations for the experimental otelcol metrics pods. | `{}` | +| `sumologic.metrics.collector.otelcol.podLabels` | Additional labels for the experimental otelcol metrics pods. | `{}` | +| `sumologic.metrics.collector.otelcol.priorityClassName` | Priority class name for the experimental otelcol metrics. | `null` | +| `sumologic.metrics.collector.otelcol.securityContext` | The securityContext configuration for the experimental otelcol metrics. | `{"fsGroup": 999}` | +| `sumologic.metrics.collector.otelcol.tolerations` | Tolerations for the experimental otelcol metrics. | `[]` | +| `sumologic.metrics.enableDefaultFilters` | Enable default metric filters for Sumo Apps. | `false` | +| `sumologic.metrics.collector.otelcol.kubelet.enabled` | Enable collection of kubelet metrics. | `true` | +| `sumologic.metrics.collector.otelcol.cAdvisor.enabled` | Enable collection of cAdvisor metrics. | `true` | +| `sumologic.metrics.collector.otelcol.annotatedPods.enabled` | Enable collection of metrics from Pods annotated with prometheus.io/\* keys. See [docs/collecting-application-metrics.md](/docs/collecting-application-metrics.md#application-metrics-are-exposed-one-endpoint-scenario) for more information. | `true` | +| `sumologic.metrics.collector.otelcol.allocationStrategy` | Allocation strategy for the scrape target allocator. Valid values are: least-weighted and consistent-hashing. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocator | `least-weighted` | +| `sumologic.metrics.dropHistogramBuckets` | Drop buckets from select high-cardinality histogram metrics, leaving only the sum and count components. | `true` | +| `sumologic.metrics.sourceType` | The type of the Sumo Logic source being used for metrics ingestion. Can be `http` or `otlp`. | `http` | +| `sumologic.traces.enabled` | Set the enabled flag to true to enable tracing ingestion. _Tracing must be enabled for the account first. Please contact your Sumo representative for activation details_ | `true` | +| `sumologic.traces.spans_per_request` | Maximum number of spans sent in single batch | `100` | +| `sumologic.traces.sourceType` | The type of the Sumo Logic source being used for traces ingestion. Can be `http` for [HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/traces/) or `otlp` for [OTLP/HTTP Source](https://help.sumologic.com/docs/send-data/hosted-collectors/http-source/otlp/). | `http` | +| `sumologic.envFromSecret` | If enabled, accessId and accessKey will be sourced from Secret Name given. Be sure to include at least the following env variables in your secret (1) SUMOLOGIC_ACCESSID, (2) SUMOLOGIC_ACCESSKEY | `sumo-api-secret` | +| `sumologic.accessId` | Sumo access ID. | `Nil` | +| `sumologic.accessKey` | Sumo access key. | `Nil` | +| `sumologic.endpoint` | Sumo API endpoint; Leave blank for automatic endpoint discovery and redirection. | `Nil` | +| `sumologic.collectionMonitoring` | If you set it to false, it would set `EXCLUDE_NAMESPACE=` and not add the Prometheus remotestorage metrics. | `true` | +| `sumologic.collectorName` | The name of the Sumo Logic collector that will be created in the SetUp job. Defaults to `clusterName` if not specified. | `Nil` | +| `sumologic.clusterName` | An identifier for the Kubernetes cluster. Whitespaces in the cluster name will be replaced with dashes. | `kubernetes` | +| `sumologic.cluster` | Configuration of Kubernetes for [Terraform client](https://www.terraform.io/docs/providers/kubernetes/index.html#argument-reference). | See [values.yaml] | +| `sumologic.collector.sources` | Configuration of HTTP sources. [See docs/Terraform.md for more information](/docs/terraform.md). All double quotes should be escaped here regarding Terraform syntax. | See [values.yaml] | +| `sumologic.collector.fields` | Configuration of Sumo Logic fields. [See Sumo Logic Terraform Plugin documentation for more information](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/collector#fields). All double quotes should be escaped here regarding Terraform syntax. | See [values.yaml] | +| `sumologic.httpProxy` | HTTP proxy URL | `Nil` | +| `sumologic.httpsProxy` | HTTPS proxy URL | `Nil` | +| `sumologic.noProxy` | List of comma separated hostnames which should be excluded from the proxy | `kubernetes.default.svc` | +| `sumologic.pullSecrets` | Optional list of secrets that will be used for pulling images for Sumo Logic's deployments and statefulsets. | `Nil` | +| `sumologic.otelcolImage.repository` | Default image repository for OpenTelemetry Collector. This can be overridden for specific components. | `public.ecr.aws/sumologic/sumologic-otel-collector` | +| `sumologic.otelcolImage.tag` | Default image tag for OpenTelemetry Collector. This can be overridden for specific components. | `0.85.0-sumo-0` | +| `sumologic.otelcolImage.addFipsSuffix` | Add a `-fips` suffix to all image tags. See [docs/security-best-practices.md](/docs/security-best-practices.md) for more information. | `false` | +| `sumologic.podLabels` | Additional labels for the pods. | `{}` | +| `sumologic.podAnnotations` | Additional annotations for the pods. | `{}` | +| `sumologic.scc.create` | Create OpenShift's Security Context Constraint | `false` | +| `sumologic.serviceAccount.annotations` | Add custom annotations to sumologic serviceAccounts | `{}` | +| `sumologic.setup.job.pullSecrets` | Optional list of secrets that will be used for pulling images for Sumo Logic's setup job. | `Nil` | +| `sumologic.setup.job.podLabels` | Additional labels for the setup Job pod. | `{}` | +| `sumologic.setup.job.podAnnotations` | Additional annotations for the setup Job pod. | `{}` | +| `sumologic.setup.job.image.repository` | Image repository for Sumo Logic setup job docker container. | `public.ecr.aws/sumologic/kubernetes-setup` | +| `sumologic.setup.job.image.tag` | Image tag for Sumo Logic setup job docker container. | `3.10.0` | +| `sumologic.setup.job.image.pullPolicy` | Image pullPolicy for Sumo Logic docker container. | `IfNotPresent` | +| `sumologic.setup.job.nodeSelector` | Node selector for sumologic setup job. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `sumologic.setup.job.tolerations` | Add tolerations for the setup Job. | `[]` | +| `sumologic.setup.job.affinity` | Add affinity and anti-affinity for the setup Job. | `{}` | +| `sumologic.setup.debug` | Enable debug mode (disables the automatic execution of the setup.sh script) | `Nil` | +| `sumologic.setup.force` | Force collection installation (disables k8s version verification) | `Nil` | +| `sumologic.setup.job.resources` | Resource requests and limits for the setup Job. | `{"limits": {"memory": "256Mi", "cpu": "2000m"}, "requests": {"memory": "64Mi", "cpu": "200m"}}` | +| `sumologic.setup.monitors.enabled` | If enabled, a pre-install hook will create k8s monitors in Sumo Logic. | `true` | +| `sumologic.setup.monitors.monitorStatus` | The installed monitors default status: enabled/disabled. | `enabled` | +| `sumologic.setup.monitors.notificationEmails` | A list of emails to send notifications from monitors. | `[]` | +| `sumologic.setup.dashboards.enabled` | If enabled, a pre-install hook will install k8s dashboards in Sumo Logic. | `true` | +| `metrics-server.enabled` | Set the enabled flag to true for enabling metrics-server. This is required before enabling fluentd autoscaling unless you have an existing metrics-server in the cluster. | `false` | +| `metrics-server.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `metrics-server.apiService.create` | Specifies whether the v1beta1.metrics.k8s.io API service should be created. | `true` | +| `metrics-server.extraArgs` | Extra arguments to pass to metrics-server on start up. | `["--kubelet-insecure-tls=true", "--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname"]` | +| `metrics-server.image.pullSecrets` | Pull secrets for metrics-server images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `Nil` | +| `kube-prometheus-stack.kubeTargetVersionOverride` | Provide a target gitVersion of K8S, in case .Capabilites.KubeVersion is not available (e.g. helm template). Changing this may break Sumo Logic apps. | `Nil` | +| `kube-prometheus-stack.enabled` | Flag to control deploying Prometheus Operator Helm sub-chart. | `true` | +| `kube-prometheus-stack.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `kube-prometheus-stack.namespaceOverride` | Used to override the chart's default namespace. | `Nil` | +| `kube-prometheus-stack.defaultRules.rules` | Control which default recording and alerting rules are enabled. | See [values.yaml] | +| `kube-prometheus-stack.alertmanager.enabled` | Deploy alertmanager. | `false` | +| `kube-prometheus-stack.grafana.enabled` | If true, deploy the grafana sub-chart. | `false` | +| `kube-prometheus-stack.grafana.defaultDashboardsEnabled` | Deploy default dashboards. These are loaded using the sidecar. | `false` | +| `kube-prometheus-stack.prometheusOperator.podLabels` | Additional labels for prometheus operator pods. | `{}` | +| `kube-prometheus-stack.prometheusOperator.podAnnotations` | Additional annotations for prometheus operator pods. | `{}` | +| `kube-prometheus-stack.prometheusOperator.resources` | Resource limits for prometheus operator. Uses sub-chart defaults. | `{"limits": {"cpu": "200m", "memory": "200Mi"}, "requests": {"cpu": "100m", "memory": "100Mi"}}` | +| `kube-prometheus-stack.prometheusOperator.admissionWebhooks.enabled` | Create PrometheusRules admission webhooks. Mutating webhook will patch PrometheusRules objects indicating they were validated. Validating webhook will check the rules syntax. | `false` | +| `kube-prometheus-stack.prometheusOperator.tls.enabled` | Enable TLS in prometheus operator. | `false` | +| `kube-prometheus-stack.kube-state-metrics.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `kube-prometheus-stack.kube-state-metrics.resources` | Resource limits for kube state metrics. Uses sub-chart defaults. | `{"limits": {"cpu": "100m", "memory": "64Mi"}, "requests": {"cpu": "10m", "memory": "32Mi"}}` | +| `kube-prometheus-stack.kube-state-metrics.customLabels` | Custom labels to apply to service, deployment and pods. Uses sub-chart defaults. | `{}` | +| `kube-prometheus-stack.kube-state-metrics.podAnnotations` | Additional annotations for pods in the DaemonSet. Uses sub-chart defaults. | `{}` | +| `kube-prometheus-stack.prometheus.additionalServiceMonitors` | List of ServiceMonitor objects to create. | See [values.yaml] | +| `kube-prometheus-stack.prometheus.prometheusSpec.resources` | Resource limits for prometheus. Uses sub-chart defaults. | `{"limits": {"cpu": "2000m", "memory": "8Gi"}, "requests": {"cpu": "500m", "memory": "1Gi"}}` | +| `kube-prometheus-stack.prometheus.prometheusSpec.containers` | Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod. | See [values.yaml] | +| `kube-prometheus-stack.prometheus.prometheusSpec.podMetadata.labels` | Add custom pod labels to prometheus pods | `{}` | +| `kube-prometheus-stack.prometheus.prometheusSpec.podMetadata.annotations` | Add custom pod annotations to prometheus pods | `{}` | +| `kube-prometheus-stack.prometheus.prometheusSpec.remoteWrite` | If specified, the remote_write spec. | See [values.yaml] | +| `kube-prometheus-stack.prometheus.prometheusSpec.additionalRemoteWrite` | `additionalRemoteWrite` is appended to `kube-prometheus-stack.prometheus.prometheusSpec.remoteWrite` | See [values.yaml] | +| `kube-prometheus-stack.prometheus.prometheusSpec.walCompression` | Enables walCompression in Prometheus | `true` | +| `kube-prometheus-stack.prometheus-node-exporter.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `kube-prometheus-stack.prometheus-node-exporter.podLabels` | Additional labels for prometheus-node-exporter pods. | `{}` | +| `kube-prometheus-stack.prometheus-node-exporter.podAnnotations` | Additional annotations for prometheus-node-exporter pods. | `{}` | +| `kube-prometheus-stack.prometheus-node-exporter.resources` | Resource limits for node exporter. Uses sub-chart defaults. | `{"limits": {"cpu": "200m", "memory": "50Mi"}, "requests": {"cpu": "100m", "memory": "30Mi"}}` | +| `kube-prometheus-stack.prometheus-node-exporter.nodeSelector` | Node selector for prometheus node exporter. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `kube-prometheus-stack.kube-state-metrics.nodeSelector` | Node selector for kube-state-metrics. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `kube-prometheus-stack.kube-state-metrics.image.tag` | Tag for kube-state-metrics Docker image. | `v2.7.0` | +| `kube-prometheus-stack.additionalPrometheusRulesMap` | Custom recording or alerting rules to be deployed into the cluster | See [values.yaml] | +| `kube-prometheus-stack.commonLabels` | Labels to apply to all Kube Prometheus Stack resources | `{}` | +| `kube-prometheus-stack.coreDns.serviceMonitor.interval` | Core DNS metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.coreDns.serviceMonitor.metricRelabelings` | Core DNS MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.global.imagePullSecrets` | Pull secrets for Kube Prometheus Stack images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | +| `kube-prometheus-stack.kubeApiServer.serviceMonitor.interval` | Kubernetes API Server metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubeApiServer.serviceMonitor.metricRelabelings` | Kubernetes API Server MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.kubeControllerManager.serviceMonitor.interval` | Kubernetes Controller Manager metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubeControllerManager.serviceMonitor.metricRelabelings` | Kubernetes Controller Manager MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.kubeEtcd.serviceMonitor.interval` | Kubernetes Etcd metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubeEtcd.serviceMonitor.metricRelabelings` | Kubernetes Etcd MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.kubeScheduler.serviceMonitor.interval` | Kubernetes Scheduler metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubeScheduler.serviceMonitor.metricRelabelings` | Kubernetes Scheduler MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.kube-state-metrics.prometheus.monitor.interval` | Kubernetes State Metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kube-state-metrics.prometheus.monitor.metricRelabelings` | Kubernetes State Metrics MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Kubelet CAdvisor MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.kubelet.serviceMonitor.interval` | Kubelet metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.kubelet.serviceMonitor.metricRelabelings` | Kubelet MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.kubelet.serviceMonitor.probes` | Enable scraping /metrics/probes from kubelet's service | `false` | +| `kube-prometheus-stack.kubelet.serviceMonitor.resource` | Enable scraping /metrics/resource from kubelet's service | `false` | +| `kube-prometheus-stack.prometheus-node-exporter.prometheus.monitor.interval` | Node Exporter scrape interval. If not set, the Prometheus default scrape interval is used. | `Nil` | +| `kube-prometheus-stack.prometheus-node-exporter.prometheus.monitor.metricRelabelings` | Node Exporter MetricRelabelConfigs | See [values.yaml] | +| `kube-prometheus-stack.prometheus.prometheusSpec.additionalScrapeConfigs` | Additional Prometheus scrape configurations | See [values.yaml] | +| `kube-prometheus-stack.prometheus.prometheusSpec.initContainers` | InitContainers allows injecting additional Prometheus initContainers. | See [values.yaml] | +| `kube-prometheus-stack.prometheus.prometheusSpec.retention` | How long to retain metrics in Prometheus | `1d` | +| `kube-prometheus-stack.prometheus.prometheusSpec.scrapeInterval` | Prometheus metrics scrape interval. If not set, the Prometheus default scrape interval is used. | `30s` | +| `kube-prometheus-stack.prometheus.serviceMonitor.selfMonitor` | Enable scraping Prometheus metrics | `false` | +| `falco.enabled` | Flag to control deploying Falco Helm sub-chart. | `false` | +| `falco.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `falco.addKernelDevel` | Flag to control installation of `kernel-devel` on nodes using MachineConfig, required to build falco modules (only for OpenShift) | `true` | +| `falco.extra.initContainers` | InitContainers for Falco pod | See [values.yaml] | +| `falco.falco.json_output` | Output events in json. | `true` | +| `falco.imagePullSecrets` | Pull secrets for falco images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | +| `falco.customRules` | Additional falco rules related to Sumo Logic Kubernetes Collection | See [values.yaml] | +| `falco.driver.kind` | Tell Falco which driver to use. Available options: module (kernel driver) and ebpf (eBPF probe). Set to `ebpf` for GKE | `module` | +| `falco.driver.loader.initContainer.image` | Init container image configuration for falco driver loader. | `{"registry": "public.ecr.aws", "repository": "falcosecurity/falco-driver-loader"}` | +| `falco.falco.load_plugins` | Names of the plugins to be loaded by Falco. | `["json", "k8saudit"]` | +| `falco.falco.rules_file` | The location of the rules files that will be consumed by Falco. | `["/etc/falco/falco_rules.yaml", "/etc/falco/falco_rules.local.yaml", "/etc/falco/k8s_audit_rules.yaml", "/etc/falco/rules.d", "/etc/falco/rules.available/application_rules.yaml"]` | +| `falco.image.registry` | Image registry for falco docker container. | `public.ecr.aws` | +| `falco.image.repository` | Image repository for falco docker container. | `falcosecurity/falco-no-driver` | +| `falco.falcoctl` | Falcoctl configuration. We don't use it for now due to breaking changes. [See this issue](https://github.com/SumoLogic/sumologic-kubernetes-collection/issues/3144). | `{"artifact": {"follow": {"enabled": false}, "install": {"enabled": false}}}` | +| `telegraf-operator.enabled` | Flag to control deploying Telegraf Operator Helm sub-chart. | `false` | +| `telegraf-operator.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `telegraf-operator.replicaCount` | Replica count for Telegraf Operator pods. | 1 | +| `telegraf-operator.classes.secretName` | Secret name in which the Telegraf Operator configuration will be stored. | `telegraf-operator-classes` | +| `telegraf-operator.classes.data` | Telegraf sidecar configuration. | See [values.yaml] | +| `telegraf-operator.classes.default` | Name of the default output configuration. | `sumologic-prometheus` | +| `telegraf-operator.image.sidecarImage` | Telegraf Operator sidecar image. | `public.ecr.aws/sumologic/telegraf:1.21.2` | +| `telegraf-operator.imagePullSecrets` | Pull secrets for Telegraf Operator images. For more information on using Kubernetes secrets with container registries please refer to [Creating a Secret with a Docker config at kubernetes.io](https://kubernetes.io/docs/concepts/containers/images/#creating-a-secret-with-a-docker-config). | `[]` | +| `opentelemetry-operator.enabled` | Flag to control deploying OpenTelemetry Operator Helm sub-chart. | `false` | +| `opentelemetry-operator.createDefaultInstrumentation` | Flag to control creation of default Instrumentation object | `false` | +| `opentelemetry-operator.instrumentation.dotnet.metrics.enabled` | Flag to control metrics export from DotNet instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.dotnet.traces.enabled` | Flag to control traces export from DotNet instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.java.metrics.enabled` | Flag to control metrics export from Java instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.java.traces.enabled` | Flag to control traces export from Java instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.python.metrics.enabled` | Flag to control metrics export from Python instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.instrumentation.python.traces.enabled` | Flag to control traces export from Python instrumentation in `Instrumentation` resource. | `true` | +| `opentelemetry-operator.manager.collectorImage.repository` | The default collector image repository for OpenTelemetryCollector CRDs. | `public.ecr.aws/sumologic/sumologic-otel-collector` | +| `opentelemetry-operator.manager.collectorImage.tag` | The default collector image tag for OpenTelemetryCollector CRDs. | `0.85.0-sumo-0` | +| `opentelemetry-operator.manager.resources.limits.cpu` | Used to set limit CPU for OpenTelemetry-Operator Manager. | `250m` | +| `opentelemetry-operator.manager.resources.limits.memory` | Used to set limit Memory for OpenTelemetry-Operator Manager. | `512Mi` | +| `opentelemetry-operator.manager.resources.requests.cpu` | Used to set requested CPU for OpenTelemetry-Operator Manager. | `150m` | +| `opentelemetry-operator.manager.resources.requests.memory` | Used to set requested Memory for OpenTelemetry-Operator Manager. | `256Mi` | +| `opentelemetry-operator.instrumentationNamespaces` | Used to create `Instrumentation` resources in specified namespaces. | `Nil` | +| `opentelemetry-operator.instrumentationJobImage.image.repository` | Name of the image repository used to apply Instrumentation resource | `sumologic/kubernetes-tools` | +| `opentelemetry-operator.instrumentationJobImage.image.tag` | Name of the image tag used to apply Instrumentation resource | `2.14.0` | +| `opentelemetry-operator.admissionWebhooks` | Admission webhooks make sure only requests with correctly formatted rules will get into the Operator. They also enable the sidecar injection for OpenTelemetryCollector and Instrumentation CR's. | See [values.yaml] | +| `opentelemetry-operator.manager.env` | Additional environment variables for opentelemetry-operator helm chart. | `Nil` | +| `otelcolInstrumentation.enabled` | Enables Sumo Otel Distro Collector StatefulSet to collect telemetry data. [See docs for more information.](/docs/opentelemetry-collector/traces.md) | `true` | +| `otelcolInstrumentation.autoscaling.enabled` | Option to turn autoscaling on for Sumo Otel Distro Collector StatefulSet and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | +| `otelcolInstrumentation.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | +| `otelcolInstrumentation.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | +| `otelcolInstrumentation.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | +| `otelcolInstrumentation.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | +| `otelcolInstrumentation.statefulset.replicaCount` | Set the number of otelcol-instrumentation replicasets. | `3` | +| `otelcolInstrumentation.statefulset.nodeSelector` | Node selector for otelcol-instrumentation statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `otelcolInstrumentation.statefulset.priorityClassName` | Priority class name for otelcol-instrumentation pods. | If not provided then set to `RELEASE-NAME-sumologic-priorityclass`. | +| `otelcolInstrumentation.statefulset.affinity` | Affinity for otelcol-instrumentation statefulset. | `{}` | +| `otelcolInstrumentation.statefulset.extraEnvVars` | Additional environment variables for otelcol-instrumentation pods. | `{}` | +| `otelcolInstrumentation.statefulset.extraVolumeMounts` | Additional volume mounts for otelcol-instrumentation pods. | `{}` | +| `otelcolInstrumentation.statefulset.extraVolumes` | Additional volumes for otelcol-instrumentation pods. | `{}` | +| `otelcolInstrumentation.statefulset.image.pullPolicy` | Image pullPolicy for otelcol-instrumentation docker container. | `IfNotPresent` | +| `otelcolInstrumentation.statefulset.image.repository` | Image repository for otelcol-instrumentation docker container. | `` | +| `otelcolInstrumentation.statefulset.image.tag` | Image tag for otelcol-instrumentation docker container. | `` | +| `otelcolInstrumentation.statefulset.podAnnotations` | Additional annotations for otelcol-instrumentation pods. | `{}` | +| `otelcolInstrumentation.statefulset.podAntiAffinity` | PodAntiAffinity for otelcol-instrumentation statefulset. | `soft` | +| `otelcolInstrumentation.statefulset.podLabels` | Additional labels for otelcol-instrumentation pods. | `{}` | +| `otelcolInstrumentation.statefulset.resources` | Resources for otelcol-instrumentation statefulset. | `{"limits": {"memory": "4Gi", "cpu": "2000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | +| `otelcolInstrumentation.statefulset.tolerations` | Tolerations for otelcol-instrumentation statefulset. | `[]` | +| `otelcolInstrumentation.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for otelcol-instrumentation statefulset. | `[]` | +| `otelcolInstrumentation.sourceMetadata.sourceName` | Set the \_sourceName metadata field in Sumo Logic. | `"%{k8s.namespace.name}.%{k8s.pod.pod_name}.%{k8s.container.name}"` | +| `otelcolInstrumentation.sourceMetadata.sourceCategory` | Set the \_sourceCategory metadata field in Sumo Logic. | `"%{k8s.namespace.name}/%{k8s.pod.pod_name}"` | +| `otelcolInstrumentation.sourceMetadata.sourceCategoryPrefix` | Set the prefix, for \_sourceCategory metadata. | `"kubernetes/"` | +| `otelcolInstrumentation.sourceMetadata.sourceCategoryReplaceDash` | Used to replace - with another character. | `"/"` | +| `otelcolInstrumentation.sourceMetadata.excludeContainerRegex` | A regular expression for containers. Matching containers will be excluded from Sumo. | `""` | +| `otelcolInstrumentation.sourceMetadata.excludeHostRegex` | A regular expression for hosts. Matching hosts will be excluded from Sumo. | `""` | +| `otelcolInstrumentation.sourceMetadata.excludeNamespaceRegex` | A regular expression for namespaces. Matching namespaces will be excluded from Sumo. | `""` | +| `otelcolInstrumentation.sourceMetadata.excludePodRegex` | A regular expression for pods. Matching pods will be excluded from Sumo. | `""` | +| `otelcolInstrumentation.logLevelFilter` | Do not send otelcol-instrumentation logs if `true`. | `false` | +| `otelcolInstrumentation.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | +| `otelcolInstrumentation.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | +| `otelcolInstrumentation.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | +| `otelcolInstrumentation.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | +| `otelcolInstrumentation.config` | Configuration for otelcol-instrumentation | See [values.yaml] | +| `otelcolInstrumentation.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for the otelcol-instrumentation container. | `{"periodSeconds": 3, "failureThreshold": 60}` | +| `otelcolInstrumentation.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the otelcol-instrumentation container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | +| `otelcolInstrumentation.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the otelcol-instrumentation container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | +| `otelcolInstrumentation.statefulset.containers.otelcol.securityContext` | The securityContext configuration for the otelcol-instrumentation container. | `{}` | +| `tracesGateway.enabled` | Flag to control deploying traces-gateway. [See docs for more information.](/docs/opentelemetry-collector/traces.md) | `true` | +| `tracesGateway.autoscaling.enabled` | Option to turn autoscaling on for traces-gateway and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | +| `tracesGateway.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | +| `tracesGateway.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | +| `tracesGateway.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `100` | +| `tracesGateway.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | +| `tracesGateway.deployment.replicas` | Set the number of OpenTelemetry Collector replicas. | `1` | +| `tracesGateway.deployment.nodeSelector` | Node selector for otelcol deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `tracesGateway.deployment.priorityClassName` | Priority class name for OpenTelemetry Collector log pods. | `Nil` | +| `tracesGateway.logLevelFilter` | Do not send traces-gateway logs if `true`. | `false` | +| `tracesGateway.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | +| `tracesGateway.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | +| `tracesGateway.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | +| `tracesGateway.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | +| `tracesGateway.config` | Configuration for traces-gateway. | See [values.yaml] | +| `tracesGateway.deployment.extraEnvVars` | Additional environment variables for traces-gateway pods. | `{}` | +| `tracesGateway.deployment.extraVolumeMounts` | Additional volume mounts for traces-gateway pods. | `{}` | +| `tracesGateway.deployment.extraVolumes` | Additional volumes for traces-gateway pods. | `{}` | +| `tracesGateway.deployment.image.pullPolicy` | Image pullPolicy for traces-gateway docker container. | `IfNotPresent` | +| `tracesGateway.deployment.image.repository` | Image repository for traces-gateway docker container. | `` | +| `tracesGateway.deployment.image.tag` | Image tag for traces-gateway docker container. | `` | +| `tracesGateway.deployment.livenessProbe` | Liveness probe settings for the traces-gateway container. | `{"periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | +| `tracesGateway.deployment.podAnnotations` | Additional annotations for traces-gateway pods. | `{}` | +| `tracesGateway.deployment.podLabels` | Additional labels for traces-gateway pods. | `{}` | +| `tracesGateway.deployment.readinessProbe` | Readiness probe settings for the traces-gateway container. | `{"periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | +| `tracesGateway.deployment.resources` | Resources for traces-gateway statefulset. | `{"limits": {"memory": "2Gi", "cpu": "1000m"}, "requests": {"memory": "196Mi", "cpu": "50m"}}` | +| `tracesGateway.deployment.startupProbe` | Startup probe configuration for the traces-gateway container. | `{"periodSeconds": 5, "timeoutSeconds": 3, "failureThreshold": 60}` | +| `tracesGateway.deployment.tolerations` | Tolerations for traces-gateway statefulset. | `[]` | +| `tracesSampler.deployment.replicas` | Set the number of OpenTelemetry Collector replicas. | `1` | +| `tracesSampler.deployment.nodeSelector` | Node selector for otelcol deployment. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `tracesSampler.deployment.priorityClassName` | Priority class name for OpenTelemetry Collector log pods. | `Nil` | +| `tracesSampler.logLevelFilter` | Do not send traces-sampler logs if `true`. | `false` | +| `tracesSampler.config.processors.batch.send_batch_size` | Sets the preferred size of batch. | `256` | +| `tracesSampler.config.processors.batch.send_batch_max_size` | Sets the maximum allowed size of a batch. Use with caution, setting too large value might cause 413 Payload Too Large errors. | `512` | +| `tracesSampler.config.processors.memory_limiter.limit_percentage` | Sets the maximum amount of memory, in %, targeted to be allocated by the process heap. | `75` | +| `tracesSampler.config.processors.memory_limiter.spike_limit_percentage` | Sets the maximum spike expected between the measurements of memory usage, in %. | `20` | +| `tracesSampler.config` | Configuration for traces-sampler. | See [values.yaml] | +| `tracesSampler.deployment.extraEnvVars` | Additional environment variables for traces-sampler pods. | `{}` | +| `tracesSampler.deployment.extraVolumeMounts` | Additional volume mounts for traces-sampler pods. | `{}` | +| `tracesSampler.deployment.extraVolumes` | Additional volumes for traces-sampler pods. | `{}` | +| `tracesSampler.deployment.image.pullPolicy` | Image pullPolicy for traces-sampler docker container. | `IfNotPresent` | +| `tracesSampler.deployment.image.repository` | Image repository for traces-sampler docker container. | `` | +| `tracesSampler.deployment.image.tag` | Image tag for traces-sampler docker container. | `` | +| `tracesSampler.deployment.podAnnotations` | Additional annotations for traces-sampler pods. | `{}` | +| `tracesSampler.deployment.podLabels` | Additional labels for traces-sampler pods. | `{}` | +| `tracesSampler.deployment.resources` | Resources for traces-sampler statefulset. | `{"limits": {"memory": "4Gi", "cpu": "2000m"}, "requests": {"memory": "384Mi", "cpu": "200m"}}` | +| `tracesSampler.deployment.tolerations` | Tolerations for traces-sampler statefulset. | `[]` | +| `otellogs.image.repository` | Image repository for otelcol docker container. | `` | +| `otellogs.image.tag` | Image tag for otelcol docker container. | `` | +| `otellogs.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | +| `otellogs.logLevel` | Log level for the OpenTelemtry Collector. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | +| `otellogs.config.merge` | Configuration for log collector otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | +| `otellogs.config.override` | Configuration for log collector otelcol, replaces defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | +| `otellogs.daemonset` | OpenTelemetry Collector Daemonset customization options. See [values.yaml] for more details. | See [values.yaml] | +| `otelcloudwatch.statefulset` | OpenTelemetry Cloudwatch Collector statefulset customization options. See [values.yaml] for more details. | See [values.yaml] | +| `otellogs.additionalDaemonSets` | OpenTelemetry Collector Daemonset per node customization options. See [Best Practices](/docs/best-practices.md#setting-different-resources-on-different-nodes-for-logs-collector). | `{}` | +| `otellogs.metrics.enabled` | Enable OpenTelemetry Collector metrics | `true` | +| `otellogs.serviceLabels` | Add custom labels to OpenTelemetry Collector Service | `{}` | +| `metadata.image.repository` | Image repository for otelcol docker container. | `` | +| `metadata.image.tag` | Image tag for otelcol docker container. | `` | +| `metadata.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | +| `metadata.securityContext` | The securityContext configuration for otelcol. | `{"fsGroup": 999}` | +| `metadata.podLabels` | Additional labels for all otelcol pods. | `{}` | +| `metadata.podAnnotations` | Additional annotations for all otelcol pods. | `{}` | +| `metadata.serviceLabels` | Additional labels for all otelcol pods. | `{}` | +| `metadata.persistence.enabled` | Flag to control persistence for OpenTelemetry Collector. | `true` | +| `metadata.persistence.storageClass` | Defines storageClassName for the PersistentVolumeClaim which is used to provide persistence for OpenTelemetry Collector. | `Nil` | +| `metadata.persistence.accessMode` | The accessMode for the volume which is used to provide persistence for OpenTelemetry Collector. | `ReadWriteOnce` | +| `metadata.persistence.size` | Size of the volume which is used to provide persistence for OpenTelemetry Collector. | `10Gi` | +| `metadata.persistence.pvcLabels` | Additional PersistentVolumeClaim labels for all OpenTelemetry Collector pods. | `{}` | +| `metadata.metrics.enabled` | Flag to control deploying the otelcol metrics statefulsets. | `true` | +| `metadata.metrics.logLevel` | Flag to control logging level for OpenTelemetry Collector for metrics. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | +| `metadata.metrics.config.merge` | Configuration for metrics metadata otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | +| `metadata.metrics.config.override` | Configuration for metrics metadata otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | +| `metadata.metrics.config.additionalEndpoints` | List of additional endpoints for Open Telemetry Metadata Pod. | `[]` | +| `metadata.metrics.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for metrics otelcol container. | `{"periodSeconds": 3, "failureThreshold": 60}` | +| `metadata.metrics.statefulset.nodeSelector` | Node selector for metrics metadata enrichment (otelcol) statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `metadata.metrics.statefulset.tolerations` | Tolerations for metrics metadata enrichment (otelcol) statefulset. | `[]` | +| `metadata.metrics.statefulset.affinity` | Affinity for metrics metadata enrichment (otelcol) statefulset. | `{}` | +| `metadata.metrics.statefulset.podAntiAffinity` | PodAntiAffinity for metrics metadata enrichment (otelcol) statefulset. | `soft` | +| `metadata.metrics.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for metrics metadata enrichment (otelcol) statefulset. | `[]` | +| `metadata.metrics.statefulset.replicaCount` | Replica count for metrics metadata enrichment (otelcol) statefulset. | `3` | +| `metadata.metrics.statefulset.resources` | Resources for metrics metadata enrichment (otelcol) statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | +| `metadata.metrics.statefulset.priorityClassName` | Priority class name for metrics metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.metrics.statefulset.podLabels` | Additional labels for metrics metadata enrichment (otelcol) pods. | `{}` | +| `metadata.metrics.statefulset.podAnnotations` | Additional annotations for metrics metadata enrichment (otelcol) pods. | `{}` | +| `metadata.metrics.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | +| `metadata.metrics.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | +| `metadata.metrics.statefulset.containers.otelcol.securityContext` | The securityContext configuration for otelcol container for metrics metadata enrichment statefulset. | `{}` | +| `metadata.metrics.statefulset.extraEnvVars` | Additional environment variables for metrics metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.metrics.statefulset.extraVolumes` | Additional volumes for metrics metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.metrics.statefulset.extraVolumeMounts` | Additional volume mounts for metrics metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.metrics.autoscaling.enabled` | Option to turn autoscaling on for metrics metadata enrichment (otelcol) and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | +| `metadata.metrics.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | +| `metadata.metrics.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | +| `metadata.metrics.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `80` | +| `metadata.metrics.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `Nil` | +| `metadata.metrics.podDisruptionBudget` | Pod Disruption Budget for metrics metadata enrichment (otelcol) statefulset and for experimental otelcol metrics collector. | `{"minAvailable": 2}` | +| `metadata.logs.enabled` | Flag to control deploying the otelcol logs statefulsets. | `true` | +| `metadata.logs.logLevel` | Flag to control logging level for OpenTelemetry Collector for logs. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | +| `metadata.logs.config.merge` | Configuration for logs metadata otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | +| `metadata.logs.config.override` | Configuration for logs metadata otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | {} | +| `metadata.logs.statefulset.containers.otelcol.startupProbe` | Startup probe configuration for the logs otelcol container. | `{"periodSeconds": 3, "failureThreshold": 60}` | +| `metadata.logs.statefulset.containers.otelcol.livenessProbe` | Liveness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 15, "periodSeconds": 15, "timeoutSeconds": 10, "failureThreshold": 3}` | +| `metadata.logs.statefulset.containers.otelcol.readinessProbe` | Readiness probe settings for the logs otelcol container. | `{"initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 3, "failureThreshold": 3}` | +| `metadata.logs.statefulset.containers.otelcol.securityContext` | The securityContext configuration for the logs otelcol container. | `{}` | +| `metadata.logs.statefulset.nodeSelector` | Node selector for logs metadata enrichment (otelcol) statefulset. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `metadata.logs.statefulset.tolerations` | Tolerations for logs metadata enrichment (otelcol) statefulset. | `[]` | +| `metadata.logs.statefulset.affinity` | Affinity for logs metadata enrichment (otelcol) statefulset. | `{}` | +| `metadata.logs.statefulset.podAntiAffinity` | PodAntiAffinity for logs metadata enrichment (otelcol) statefulset. | `soft` | +| `metadata.logs.statefulset.topologySpreadConstraints` | TopologySpreadConstraints for logs metadata enrichment (otelcol) statefulset. | `[]` | +| `metadata.logs.statefulset.replicaCount` | Replica count for logs metadata enrichment (otelcol) statefulset. | `3` | +| `metadata.logs.statefulset.resources` | Resources for logs metadata enrichment (otelcol) statefulset. | `{"limits": {"memory": "1Gi", "cpu": "1000m"}, "requests": {"memory": "768Mi", "cpu": "500m"}}` | +| `metadata.logs.statefulset.priorityClassName` | Priority class name for logs metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.logs.statefulset.podLabels` | Additional labels for logs metadata enrichment (otelcol) pods. | `{}` | +| `metadata.logs.statefulset.podAnnotations` | Additional annotations for logs metadata enrichment (otelcol) pods. | `{}` | +| `metadata.logs.statefulset.extraEnvVars` | Additional environment variables for logs metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.logs.statefulset.extraVolumes` | Additional volumes for logs metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.logs.statefulset.extraVolumeMounts` | Additional volume mounts for logs metadata enrichment (otelcol) pods. | `Nil` | +| `metadata.logs.statefulset.extraPorts` | Additional exposed ports in logs metadata enrichment (otelcol) pods and service. | `Nil` | +| `metadata.logs.statefulset.extraArgs` | Additional arguments to otelcol container. | `Nil` | +| `metadata.logs.autoscaling.enabled` | Option to turn autoscaling on for logs metadata enrichment (otelcol) and specify params for HPA. Autoscaling needs metrics-server to access cpu metrics. | `false` | +| `metadata.logs.autoscaling.minReplicas` | Default min replicas for autoscaling. | `3` | +| `metadata.logs.autoscaling.maxReplicas` | Default max replicas for autoscaling | `10` | +| `metadata.logs.autoscaling.targetCPUUtilizationPercentage` | The desired target CPU utilization for autoscaling. | `80` | +| `metadata.logs.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `Nil` | +| `metadata.logs.podDisruptionBudget` | Pod Disruption Budget for logs metadata enrichment (otelcol) statefulset. | `{"minAvailable": 2}` | +| `otelevents.image.repository` | Image repository for otelcol docker container. | `` | +| `otelevents.image.tag` | Image tag for otelcol docker container. | `` | +| `otelevents.image.pullPolicy` | Image pullPolicy for otelcol docker container. | `IfNotPresent` | +| `otelevents.logLevel` | Log level for the OpenTelemtry Collector. Can be `debug`, `info`, `warn`, `error`, `dpanic`, `panic`, `fatal`. | `info` | +| `otelevents.config.merge` | Configuration for events otelcol, merged with defaults. See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `otelevents.config.override` | Configuration for events otelcol, replaces defaults.See also https://github.com/SumoLogic/sumologic-otel-collector/blob/main/docs/configuration.md. | `{}` | +| `otelevents.statefulset` | OpenTelemetry Collector StatefulSet customization options. See values.yaml for more details. | See [values.yaml] | +| `tailing-sidecar-operator.enabled` | Flag to control deploying Tailing Sidecar Operator Helm sub-chart. | `false` | +| `tailing-sidecar-operator.fullnameOverride` | Used to override the chart's full name. | `Nil` | +| `tailing-sidecar-operator.scc.create` | Create OpenShift's Security Context Constraint | `false` | +| `kube-prometheus-stack.prometheus.prometheusSpec.nodeSelector` | Node selector for prometheus. [See docs/Best_Practices.md for more information.](/docs/best-practices.md) | `{}` | +| `pvcCleaner.metrics.enabled` | Flag to enable cleaning unused PVCs for otelcol metrics statefulsets. | `false` | +| `pvcCleaner.logs.enabled` | Flag to enable cleaning unused PVCs for otelcol logs statefulsets. | `false` | +| `pvcCleaner.job.image.repository` | Image repository for pvcCleaner docker containers. | `public.ecr.aws/sumologic/kubernetes-tools-kubectl` | +| `pvcCleaner.job.image.tag` | Image tag for pvcCleaner docker containers. | `2.20.0` | +| `pvcCleaner.job.image.pullPolicy` | Image pullPolicy for pvcCleaner docker containers. | `IfNotPresent` | +| `pvcCleaner.job.resources` | Resource requests and limits for the pvcCleaner containers. | `{"limits": {"memory": "256Mi", "cpu": "2000m"}, "requests": {"memory": "64Mi", "cpu": "100m"}}` | +| `pvcCleaner.job.nodeSelector` | Node selector for pvcCleaner job. [See docs/best-practices.md for more information.](/docs/best-practices.md) | `{}` | +| `pvcCleaner.job.tolerations` | Add tolerations for the pvcCleaner job. | `[]` | +| `pvcCleaner.job.affinity` | Add affinity and anti-affinity for the pvcCleaner job. | `{}` | +| `pvcCleaner.job.podLabels` | Additional labels for the pvcCleaner container. | `{}` | +| `pvcCleaner.job.podAnnotations` | Additional annotations for for the pvcCleaner container. | `{}` | +| `pvcCleaner.job.schedule` | Schedule for cronJobs | `*/15 * * * *` | +| `pvcCleaner.job.securityContext` | The securityContext configuration for the pvcCleaner. | `{"runAsUser": 1000}` | [values.yaml]: values.yaml diff --git a/deploy/helm/sumologic/conf/events/fluentd/events.conf b/deploy/helm/sumologic/conf/events/fluentd/events.conf deleted file mode 100644 index 8b2706cf93..0000000000 --- a/deploy/helm/sumologic/conf/events/fluentd/events.conf +++ /dev/null @@ -1,87 +0,0 @@ -{{- if .Values.fluentd.events.watchResourceEventsOverrides }} -{{- range $name, $version := .Values.fluentd.events.watchResourceEventsOverrides }} - - @type events - deploy_namespace {{ template "sumologic.namespace" $ }} - resource_name {{ $name }} - api_version {{ $version }} -{{- if $.Values.fluentd.apiServerUrl }} - kubernetes_url {{ $.Values.fluentd.apiServerUrl | quote }} -{{- end }} - -{{- end }} -{{- else }} - - @type events - deploy_namespace {{ template "sumologic.namespace" $ }} -{{- if .Values.fluentd.apiServerUrl }} - kubernetes_url {{ .Values.fluentd.apiServerUrl | quote }} -{{- end }} - -{{- end }} -# Prevent fluentd from handling records containing its own logs. - - @type null - -# Set `cluster` metadata field - - @type record_modifier - - _sumo_metadata ${ {:fields => "cluster={{ template "sumologic.clusterNameReplaceSpaceWithDash" . }}"} } - - -# expose the Fluentd metrics to Prometheus - - @type prometheus - metrics_path /metrics - port 24231 - - - @type prometheus_output_monitor - - - @type http - port 9880 - bind 0.0.0.0 - -{{- if .Values.fluentd.monitoring.input }} -{{ include "fluentd.prometheus-metrics.input" (dict "Tag" "kubernetes.**") | nindent 2}} -{{- end }} -{{- if .Values.fluentd.events.overrideOutputConf }} -{{ .Values.fluentd.events.overrideOutputConf | nindent 4 }} -{{- else }} - - @type copy - - @type sumologic - @id sumologic.endpoint.events - sumo_client {{ include "sumologic.sumo_client" . | quote }} - endpoint "#{ENV['SUMO_ENDPOINT_DEFAULT_EVENTS_SOURCE']}" - source_name {{ .Values.sumologic.events.sourceName }} - source_category {{ .Values.sumologic.events.sourceCategory | default (printf "%s/%s" (include "sumologic.clusterNameReplaceSpaceWithDash" .) (.Values.sumologic.events.sourceName ))}} - data_type logs - disable_cookies true - verify_ssl {{ .Values.fluentd.verifySsl | quote }} - proxy_uri {{ .Values.fluentd.proxyUri | quote }} - compress {{ .Values.fluentd.compression.enabled | quote }} - compress_encoding {{ .Values.fluentd.compression.encoding | quote }} - - {{- if .Values.sumologic.events.persistence.enabled }} - @type file - path {{ .Values.sumologic.events.persistence.persistentVolume.path }} - {{- else }} - @type memory - {{- end }} - @include buffer.output.conf - - - {{- if .Values.fluentd.monitoring.output }} - {{ include "fluentd.prometheus-metrics.output" . | nindent 4 }} - {{- end }} - -{{- end }} -{{- if .Values.fluentd.logLevel }} - - log_level {{ .Values.fluentd.logLevel }} - -{{- end }} diff --git a/deploy/helm/sumologic/conf/events/otelcol/config.yaml b/deploy/helm/sumologic/conf/events/otelcol/config.yaml index 966cae8589..0daacb5d61 100644 --- a/deploy/helm/sumologic/conf/events/otelcol/config.yaml +++ b/deploy/helm/sumologic/conf/events/otelcol/config.yaml @@ -34,7 +34,7 @@ processors: value: {{ .Values.sumologic.clusterName | quote }} source: collector: {{ .Values.sumologic.collectorName | default .Values.sumologic.clusterName | quote }} - source_category: {{ .Values.sumologic.events.sourceCategory | default (printf "%s/%s" (include "sumologic.clusterNameReplaceSpaceWithDash" .) (.Values.fluentd.events.sourceName )) | quote}} + source_category: {{ .Values.sumologic.events.sourceCategory | default (printf "%s/%s" (include "sumologic.clusterNameReplaceSpaceWithDash" .) (.Values.sumologic.events.sourceName )) | quote}} source_category_prefix: "" source_category_replace_dash: {{ .Values.sumologic.events.sourceCategoryReplaceDash | quote}} source_name: {{ .Values.sumologic.events.sourceName | quote}} diff --git a/deploy/helm/sumologic/conf/fluentd/buffer.output.conf b/deploy/helm/sumologic/conf/fluentd/buffer.output.conf deleted file mode 100644 index 073f9e2ccd..0000000000 --- a/deploy/helm/sumologic/conf/fluentd/buffer.output.conf +++ /dev/null @@ -1,12 +0,0 @@ -compress {{ .Values.fluentd.buffer.compress | quote }} -flush_interval {{ .Values.fluentd.buffer.flushInterval | quote }} -flush_thread_count {{ .Values.fluentd.buffer.numThreads | quote }} -chunk_limit_size {{ .Values.fluentd.buffer.chunkLimitSize | quote }} -total_limit_size {{ .Values.fluentd.buffer.totalLimitSize | quote }} -queued_chunks_limit_size {{ .Values.fluentd.buffer.queueChunkLimitSize | quote }} -overflow_action drop_oldest_chunk -retry_max_interval {{ .Values.fluentd.buffer.retryMaxInterval | quote }} -retry_forever {{ .Values.fluentd.buffer.retryForever | quote }} -{{- if .Values.fluentd.buffer.extraConf }} -{{- .Values.fluentd.buffer.extraConf | nindent 2 }} -{{- end }} diff --git a/deploy/helm/sumologic/conf/fluentd/common.conf b/deploy/helm/sumologic/conf/fluentd/common.conf deleted file mode 100644 index eca73e1c43..0000000000 --- a/deploy/helm/sumologic/conf/fluentd/common.conf +++ /dev/null @@ -1,29 +0,0 @@ -# Prevent fluentd from handling records containing its own logs and health checks. - - @type relabel - @label @FLUENT_LOG - - -# expose the Fluentd metrics to Prometheus - - @type prometheus - metrics_path /metrics - port 24231 - - - @type prometheus_output_monitor - - - @type http - port 9880 - bind 0.0.0.0 - -{{- if .Values.fluentd.logLevel }} - - log_level {{ .Values.fluentd.logLevel }} - -{{- end }} \ No newline at end of file diff --git a/deploy/helm/sumologic/conf/logs/fluentd/logs.conf b/deploy/helm/sumologic/conf/logs/fluentd/logs.conf deleted file mode 100644 index 0125475728..0000000000 --- a/deploy/helm/sumologic/conf/logs/fluentd/logs.conf +++ /dev/null @@ -1,12 +0,0 @@ - - @type forward - port 24321 - bind 0.0.0.0 -{{- .Values.fluentd.logs.input.forwardExtraConf | nindent 4 }} - -@include logs.source.containers.conf -@include logs.source.systemd.conf -{{- if .Values.fluentd.logs.extraLogs }} -{{- .Values.fluentd.logs.extraLogs | nindent 2 }} -{{- end }} -@include logs.source.default.conf diff --git a/deploy/helm/sumologic/conf/logs/fluentd/logs.enhance.k8s.metadata.filter.conf b/deploy/helm/sumologic/conf/logs/fluentd/logs.enhance.k8s.metadata.filter.conf deleted file mode 100644 index 8adc8994eb..0000000000 --- a/deploy/helm/sumologic/conf/logs/fluentd/logs.enhance.k8s.metadata.filter.conf +++ /dev/null @@ -1,16 +0,0 @@ -cache_size {{ .Values.fluentd.metadata.cacheSize | quote }} -cache_ttl {{ .Values.fluentd.metadata.cacheTtl | quote }} -cache_refresh {{ .Values.fluentd.metadata.cacheRefresh | quote }} -cache_refresh_variation {{ .Values.fluentd.metadata.cacheRefreshVariation | quote }} -in_namespace_path '$.kubernetes.namespace_name' -in_pod_path '$.kubernetes.pod_name' -core_api_versions {{ join "," .Values.fluentd.metadata.coreApiVersions }} -api_groups {{ join "," .Values.fluentd.metadata.apiGroups }} -data_type logs -add_owners {{ .Values.fluentd.metadata.addOwners }} -add_service {{ .Values.fluentd.metadata.addService }} -cache_refresh_apiserver_request_delay {{ .Values.fluentd.metadata.cacheRefreshApiserverRequestDelay | quote }} -cache_refresh_exclude_pod_regex {{ .Values.fluentd.metadata.cacheRefreshExcludePodRegex | quote }} -{{- if .Values.fluentd.apiServerUrl }} - kubernetes_url {{ .Values.fluentd.apiServerUrl | quote }} -{{- end }} diff --git a/deploy/helm/sumologic/conf/logs/fluentd/logs.kubernetes.metadata.filter.conf b/deploy/helm/sumologic/conf/logs/fluentd/logs.kubernetes.metadata.filter.conf deleted file mode 100644 index ed50f54a9c..0000000000 --- a/deploy/helm/sumologic/conf/logs/fluentd/logs.kubernetes.metadata.filter.conf +++ /dev/null @@ -1,14 +0,0 @@ -annotation_match {{ template "fluentd.metadata.annotations_match.quotes" . }} -de_dot false -watch {{ .Values.fluentd.logs.containers.k8sMetadataFilter.watch | quote }} -ca_file {{ .Values.fluentd.logs.containers.k8sMetadataFilter.caFile | quote }} -verify_ssl {{ .Values.fluentd.logs.containers.k8sMetadataFilter.verifySsl | quote }} -client_cert {{ .Values.fluentd.logs.containers.k8sMetadataFilter.clientCert | quote }} -client_key {{ .Values.fluentd.logs.containers.k8sMetadataFilter.clientKey | quote }} -bearer_token_file {{ .Values.fluentd.logs.containers.k8sMetadataFilter.bearerTokenFile | quote }} -cache_size {{ .Values.fluentd.metadata.cacheSize | quote }} -cache_ttl {{ .Values.fluentd.metadata.cacheTtl | quote }} -tag_to_kubernetes_name_regexp {{ .Values.fluentd.logs.containers.k8sMetadataFilter.tagToMetadataRegexp | quote }} -{{- if .Values.fluentd.apiServerUrl }} - kubernetes_url {{ .Values.fluentd.apiServerUrl | quote }} -{{- end }} diff --git a/deploy/helm/sumologic/conf/logs/fluentd/logs.kubernetes.sumologic.filter.conf b/deploy/helm/sumologic/conf/logs/fluentd/logs.kubernetes.sumologic.filter.conf deleted file mode 100644 index 967abbbd98..0000000000 --- a/deploy/helm/sumologic/conf/logs/fluentd/logs.kubernetes.sumologic.filter.conf +++ /dev/null @@ -1,11 +0,0 @@ -source_name {{ .Values.sumologic.logs.container.sourceName | quote }} -source_host {{ .Values.sumologic.logs.container.sourceHost | quote }} -log_format {{ .Values.sumologic.logs.container.format | quote }} -source_category {{ .Values.sumologic.logs.container.sourceCategory | quote }} -source_category_prefix {{ .Values.sumologic.logs.container.sourceCategoryPrefix | quote }} -source_category_replace_dash {{ .Values.sumologic.logs.container.sourceCategoryReplaceDash | quote }} -exclude_pod_regex {{ .Values.sumologic.logs.container.excludePodRegex | quote }} -exclude_container_regex {{ .Values.sumologic.logs.container.excludeContainerRegex | quote }} -exclude_host_regex {{ .Values.sumologic.logs.container.excludeHostRegex | quote }} -per_container_annotations_enabled {{ .Values.sumologic.logs.container.perContainerAnnotationsEnabled }} -per_container_annotation_prefixes {{ join "," .Values.sumologic.logs.container.perContainerAnnotationPrefixes | default "[]" }} diff --git a/deploy/helm/sumologic/conf/logs/fluentd/logs.output.conf b/deploy/helm/sumologic/conf/logs/fluentd/logs.output.conf deleted file mode 100644 index dd8d4f0060..0000000000 --- a/deploy/helm/sumologic/conf/logs/fluentd/logs.output.conf +++ /dev/null @@ -1,13 +0,0 @@ -data_type logs -log_key log -endpoint "#{ENV['SUMO_ENDPOINT_DEFAULT_LOGS_SOURCE']}" -verify_ssl {{ .Values.fluentd.verifySsl | quote }} -log_format {{ .Values.sumologic.logs.container.format | quote }} -add_timestamp {{ .Values.fluentd.logs.output.addTimestamp | quote }} -timestamp_key {{ .Values.fluentd.logs.output.timestampKey | quote }} -proxy_uri {{ .Values.fluentd.proxyUri | quote }} -compress {{ .Values.fluentd.compression.enabled | quote }} -compress_encoding {{ .Values.fluentd.compression.encoding | quote }} -{{- if .Values.fluentd.logs.output.extraConf }} -{{- .Values.fluentd.logs.output.extraConf | nindent 2 }} -{{- end }} diff --git a/deploy/helm/sumologic/conf/logs/fluentd/logs.source.containers.conf b/deploy/helm/sumologic/conf/logs/fluentd/logs.source.containers.conf deleted file mode 100644 index 73b9075734..0000000000 --- a/deploy/helm/sumologic/conf/logs/fluentd/logs.source.containers.conf +++ /dev/null @@ -1,130 +0,0 @@ -{{ if .Values.fluentd.logs.containers.overrideRawConfig }} -{{ .Values.fluentd.logs.containers.overrideRawConfig | nindent 2}} -{{- else -}} -{{- if .Values.fluentd.monitoring.input }} -{{ include "fluentd.prometheus-metrics.input" (dict "Tag" "containers.**") | nindent 2}} -{{- end }} -{{ if .Values.fluentd.logs.containers.multiline.enabled }} - - @type record_transformer - enable_ruby - renew_record true - - # Converts {"log" => "{\"log\": \"foo \", \"stream\": \"stdout\", \"time\": \"1\"}\n\t{\"log\": \"bar\", \"stream\": \"stderr\", \"time\": \"2\"}\n\t"} to "foo bar" - log ${record["log"].split(/[\n\t]+/).map! {|item| JSON.parse(item)["log"]}.any? ? record["log"].split(/[\n\t]+/).map! {|item| JSON.parse(item)["log"]}.join("") : record["log"] rescue record["log"]} - # Converts {"log" => "{\"log\": \"foo \", \"stream\": \"stdout\", \"time\": \"1\"}\n\t{\"log\": \"bar\", \"stream\": \"stderr\", \"time\": \"2\"}\n\t"} to "stderr" - stream ${[record["log"].split(/[\n\t]+/)[0]].map! {|item| JSON.parse(item)["stream"]}.any? ? [record["log"].split(/[\n\t]+/)[0]].map! {|item| JSON.parse(item)["stream"]}.join("") : record["stream"] rescue record["stream"]} - # Converts {"log" => "{\"log\": \"foo \", \"stream\": \"stdout\", \"time\": \"1\"}\n\t{\"log\": \"bar\", \"stream\": \"stderr\", \"time\": \"2\"}\n\t"} to "1" - time ${[record["log"].split(/[\n\t]+/)[0]].map! {|item| JSON.parse(item)["time"]}.any? ? [record["log"].split(/[\n\t]+/)[0]].map! {|item| JSON.parse(item)["time"]}.join("") : record["time"] rescue record["time"]} - - -{{- end }} -# match all container logs and label them @NORMAL - - @type relabel - @label @NORMAL - - -{{- end }} diff --git a/deploy/helm/sumologic/conf/logs/fluentd/logs.source.default.conf b/deploy/helm/sumologic/conf/logs/fluentd/logs.source.default.conf deleted file mode 100644 index 90ed2fab34..0000000000 --- a/deploy/helm/sumologic/conf/logs/fluentd/logs.source.default.conf +++ /dev/null @@ -1,54 +0,0 @@ -{{ if .Values.fluentd.logs.default.overrideOutputConf }} -{{ .Values.fluentd.logs.default.overrideOutputConf | nindent 2}} -{{- else -}} -{{- if .Values.fluentd.monitoring.input }} -{{ include "fluentd.prometheus-metrics.input" (dict "Tag" "**") | nindent 2}} -{{- end }} - - @type grep - - key message - pattern /disable filter chain optimization/ - - -{{- .Values.fluentd.logs.default.extraFilterPluginConf | nindent 4 }} - - @type kubernetes_sumologic - source_name {{ .Values.sumologic.logs.defaultFluentd.sourceName | quote }} - source_category {{ .Values.sumologic.logs.defaultFluentd.sourceCategory | quote }} - source_category_prefix {{ .Values.sumologic.logs.defaultFluentd.sourceCategoryPrefix | quote }} - source_category_replace_dash {{ .Values.sumologic.logs.defaultFluentd.sourceCategoryReplaceDash | quote }} - exclude_facility_regex {{ .Values.sumologic.logs.defaultFluentd.excludeFacilityRegex | quote }} - exclude_host_regex {{ .Values.sumologic.logs.defaultFluentd.excludeHostRegex | quote }} - exclude_priority_regex {{ .Values.sumologic.logs.defaultFluentd.excludePriorityRegex | quote }} - exclude_unit_regex {{ .Values.sumologic.logs.defaultFluentd.excludeUnitRegex | quote }} - - - @type record_modifier - - _sumo_metadata ${record["_sumo_metadata"][:fields] = record["_sumo_metadata"].fetch(:fields, "").split(",").append("cluster={{ template "sumologic.clusterNameReplaceSpaceWithDash" . }}").join(","); record["_sumo_metadata"]} - - -{{- .Values.fluentd.logs.default.extraOutputPluginConf | nindent 4 }} - - @type copy - - @type sumologic - @id sumologic.endpoint.logs.default - sumo_client {{ include "sumologic.sumo_client" . | quote }} - {{- .Values.fluentd.logs.default.outputConf | nindent 6 }} - - {{- if or .Values.fluentd.persistence.enabled (eq .Values.fluentd.buffer.type "file") }} - @type file - path {{ .Values.fluentd.buffer.filePaths.logs.default }} - {{- else }} - @type memory - {{- end }} - @include buffer.output.conf - - - {{- if .Values.fluentd.monitoring.output }} - {{ include "fluentd.prometheus-metrics.output" . | nindent 4 }} - {{- end }} - -{{- end }} diff --git a/deploy/helm/sumologic/conf/logs/fluentd/logs.source.systemd.conf b/deploy/helm/sumologic/conf/logs/fluentd/logs.source.systemd.conf deleted file mode 100644 index fe2ed9f39c..0000000000 --- a/deploy/helm/sumologic/conf/logs/fluentd/logs.source.systemd.conf +++ /dev/null @@ -1,124 +0,0 @@ -{{ if .Values.fluentd.logs.kubelet.enabled }} -{{- if .Values.fluentd.monitoring.input }} -{{ include "fluentd.prometheus-metrics.input" (dict "Tag" "host.kubelet.**") | nindent 2 }} -{{- end }} - - @type relabel - @label @KUBELET - - -{{- else }} - - @type null - -{{- end }} -{{ if .Values.fluentd.logs.systemd.enabled }} -{{- if .Values.fluentd.monitoring.input }} -{{ include "fluentd.prometheus-metrics.input" (dict "Tag" "host.**") | nindent 2 }} -{{- end }} - - @type relabel - @label @SYSTEMD - - -{{- else }} - - @type null - -{{- end }} diff --git a/deploy/helm/sumologic/conf/logs/otelcol/config.yaml b/deploy/helm/sumologic/conf/logs/otelcol/config.yaml index 68578ce498..8487eb5759 100644 --- a/deploy/helm/sumologic/conf/logs/otelcol/config.yaml +++ b/deploy/helm/sumologic/conf/logs/otelcol/config.yaml @@ -69,33 +69,6 @@ processors: key: _sourceHost {{ end }} -{{ if .Values.sumologic.logs.container.enabled }} - attributes/fluent_containers: - actions: - - action: extract - key: fluent.tag - pattern: ^containers\.var\.log\.containers\.(?P[^_]+)_(?P[^_]+)_(?P.+)-(?P[a-f0-9]{64})\.log$ - - action: insert - from_attribute: container_id - key: k8s.container.id - - action: delete - key: container_id - - action: insert - from_attribute: k8s_pod_name - key: k8s.pod.name - - action: delete - key: k8s_pod_name - - action: insert - from_attribute: k8s_namespace - key: k8s.namespace.name - - action: delete - key: k8s_namespace - - action: insert - from_attribute: k8s_container_name - key: k8s.container.name - - action: delete - key: k8s_container_name -{{ end }} attributes/remove_fluent_tag: actions: - action: delete @@ -210,16 +183,6 @@ processors: value: .+ {{ end }} -{{ if .Values.sumologic.logs.container.enabled }} - filter/include_fluent_tag_containers: - logs: - include: - match_type: regexp - record_attributes: - - key: fluent.tag - value: containers\..+ -{{ end }} - {{ if .Values.sumologic.logs.systemd.enabled }} filter/include_fluent_tag_host: logs: @@ -452,11 +415,6 @@ processors: {{- end }} receivers: -{{ if eq (include "logs.collector.fluentbit.enabled" .) "true" }} - fluentforward: - endpoint: 0.0.0.0:24321 -{{ end }} - {{ if or .Values.sumologic.logs.collector.otelcol.enabled .Values.sumologic.logs.collector.otelcloudwatch.enabled }} otlp: protocols: @@ -472,104 +430,8 @@ service: {{ end }} - pprof pipelines: -{{ if eq (include "logs.collector.fluentbit.enabled" .) "true" }} -{{ if .Values.sumologic.logs.container.enabled }} - logs/fluent/containers: - exporters: -{{ include "logs.otelcol.container.exporters" . | indent 8 }} - processors: - - memory_limiter - - filter/include_fluent_tag_containers - - attributes/fluent_containers - - groupbyattrs/containers - - k8s_tagger - - resource/add_cluster - - resource/set_empty_source_metadata - - resource/containers_copy_node_to_host - - sumologic_schema - - source/containers - - transform/containers_parse_json -{{- if .Values.sumologic.logs.container.otelcol.extraProcessors }} -{{- range $processor := .Values.sumologic.logs.container.otelcol.extraProcessors }} -{{ printf "- %s" ( $processor | keys | first ) | indent 8 }} -{{- end }} -{{- end }} - - resource/remove_pod_name - - resource/drop_annotations - - attributes/remove_fluent_tag -{{- if eq .Values.sumologic.logs.container.format "text" }} - - transform/remove_attributes -{{- else if eq .Values.sumologic.logs.container.format "json_merge" }} - - transform/flatten -{{- end }} - - transform/add_timestamp - - batch - receivers: - - fluentforward -{{ end }} - -{{ if .Values.sumologic.logs.systemd.enabled }} - logs/fluent/kubelet: - exporters: -{{ include "logs.otelcol.kubelet.exporters" . | indent 8 }} - processors: - - memory_limiter - - filter/include_fluent_tag_host - - filter/include_kubelet - - filter/exclude_kubelet_syslog - - filter/exclude_kubelet_hostname - - filter/exclude_kubelet_priority - - filter/exclude_kubelet_unit - - attributes/extract_systemd_source_fields - - attributes/remove_fluent_tag - - groupbyattrs/systemd - - resource/add_cluster - - source/kubelet - - transform/add_timestamp -{{- if .Values.sumologic.logs.kubelet.otelcol.extraProcessors }} -{{- range $processor := .Values.sumologic.logs.kubelet.otelcol.extraProcessors }} -{{ printf "- %s" ( $processor | keys | first ) | indent 8 }} -{{- end }} -{{- end }} - - batch - receivers: - - fluentforward - - logs/fluent/systemd: - exporters: -{{ include "logs.otelcol.systemd.exporters" . | indent 8 }} - processors: - - memory_limiter - - filter/include_fluent_tag_host - - filter/include_systemd - - filter/exclude_kubelet - - filter/exclude_systemd_syslog - - filter/exclude_systemd_hostname - - filter/exclude_systemd_priority - - filter/exclude_systemd_unit - - attributes/extract_systemd_source_fields - - attributes/remove_fluent_tag - - groupbyattrs/systemd - - resource/add_cluster - - source/systemd - - transform/add_timestamp -{{- if .Values.sumologic.logs.systemd.otelcol.extraProcessors }} -{{- range $processor := .Values.sumologic.logs.systemd.otelcol.extraProcessors }} -{{ printf "- %s" ( $processor | keys | first ) | indent 8 }} -{{- end }} -{{- end }} - - batch - receivers: - - fluentforward -{{ end }} -{{ end }} - {{ if or .Values.sumologic.logs.collector.otelcol.enabled .Values.sumologic.logs.collector.otelcloudwatch.enabled }} {{ if .Values.sumologic.logs.container.enabled }} - ## This is the same pipeline like for logs/fluent/containers with the following modifications: - ## - filter/include_fluent_tag_containers and attributes/remove_fluent_tag are being removed - ## as only containers log are being provided to otlp receiver - ## - attributes/fluent_containers functionality is being replaced by otellogs operators logs/otlp/containers: exporters: {{ include "logs.otelcol.container.exporters" . | indent 8 }} @@ -603,9 +465,6 @@ service: {{ end }} {{ if .Values.sumologic.logs.systemd.enabled }} - ## This is the same pipeline like logs/fluent/kubelet, but with the following changes: - ## - otlp receiver instead of fluentforward - ## - added transform/remove_attributes processor logs/otlp/kubelet: exporters: {{ include "logs.otelcol.kubelet.exporters" . | indent 8 }} @@ -634,9 +493,6 @@ service: receivers: - otlp - ## This is the same pipeline like logs/fluent/systemd, but with the following changes: - ## - otlp receiver instead of fluentforward - ## - added transform/remove_attributes processor logs/otlp/systemd: exporters: {{ include "logs.otelcol.systemd.exporters" . | indent 8 }} diff --git a/deploy/helm/sumologic/conf/metrics/fluentd/metrics.conf b/deploy/helm/sumologic/conf/metrics/fluentd/metrics.conf deleted file mode 100644 index 48a96993e7..0000000000 --- a/deploy/helm/sumologic/conf/metrics/fluentd/metrics.conf +++ /dev/null @@ -1,82 +0,0 @@ - - @type http - port 9888 - - @type protobuf - - -{{- if .Values.fluentd.monitoring.input }} -{{ include "fluentd.prometheus-metrics.input" (dict "Tag" "prometheus.metrics**") | nindent 2}} -{{- end }} - - @type datapoint - @label @DATAPOINT - - diff --git a/deploy/helm/sumologic/conf/metrics/fluentd/metrics.output.conf b/deploy/helm/sumologic/conf/metrics/fluentd/metrics.output.conf deleted file mode 100644 index 9893e7a23f..0000000000 --- a/deploy/helm/sumologic/conf/metrics/fluentd/metrics.output.conf +++ /dev/null @@ -1,9 +0,0 @@ -data_type metrics -metric_data_format prometheus -disable_cookies true -proxy_uri {{ .Values.fluentd.proxyUri | quote }} -compress {{ .Values.fluentd.compression.enabled | quote }} -compress_encoding {{ .Values.fluentd.compression.encoding | quote }} -{{- if .Values.fluentd.metrics.extraOutputConf }} -{{- .Values.fluentd.metrics.extraOutputConf | nindent 2 }} -{{- end }} diff --git a/deploy/helm/sumologic/templates/NOTES.txt b/deploy/helm/sumologic/templates/NOTES.txt index a700f306c7..5dc16f2e4e 100644 --- a/deploy/helm/sumologic/templates/NOTES.txt +++ b/deploy/helm/sumologic/templates/NOTES.txt @@ -13,19 +13,13 @@ A Collector with the name {{ .Values.sumologic.collectorName | default (include Check the release status by running: kubectl --namespace {{ template "sumologic.namespace" . }} get pods -l "release={{ .Release.Name }}" -{{- if eq .Values.fluentd.persistence.enabled false }} -WARNING: File persistence for fluentd is disabled. This might lead to loss of data in case of memory buffer overflow. We recommend turning this property on for production environments by setting fluentd.persistence.enabled=true -{{- end }} - {{- if eq .Values.metadata.persistence.enabled false }} -{{- if or (eq .Values.sumologic.metrics.metadata.provider "otelcol") (eq .Values.sumologic.logs.metadata.provider "otelcol") }} WARNING: Persistence for OpenTelemetry Collector is disabled. When persistence is enabled, the queue is being buffered to disk using file storage extension. If collector instance is killed while having some items in the persistent queue, on restart the items are being picked and the exporting is continued. We recommend turning this property on for production environments by setting metadata.persistence.enabled=true {{- end }} -{{- end }} {{- if .Values.sumologic.traces.enabled }} diff --git a/deploy/helm/sumologic/templates/_helpers/_common.tpl b/deploy/helm/sumologic/templates/_helpers/_common.tpl index 76ef205e55..190dda595e 100644 --- a/deploy/helm/sumologic/templates/_helpers/_common.tpl +++ b/deploy/helm/sumologic/templates/_helpers/_common.tpl @@ -49,10 +49,6 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this {{- template "sumologic.fullname" . }} {{- end -}} -{{- define "sumologic.labels.app.fluentd" -}} -{{- template "sumologic.fullname" . }}-fluentd -{{- end -}} - {{- define "sumologic.labels.app.opentelemetry.operator" -}} {{- template "sumologic.fullname" . }}-ot-operator {{- end -}} @@ -205,10 +201,6 @@ helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded {{- template "sumologic.fullname" . }}-scc {{- end -}} -{{- define "sumologic.metadata.name.fluentd" -}} -{{ template "sumologic.fullname" . }}-fluentd -{{- end -}} - {{- define "sumologic.metadata.name.setup" -}} {{ template "sumologic.fullname" . }}-setup {{- end -}} @@ -381,7 +373,7 @@ It returns `.Value.key1.key2` if it exists otherwise `default_value` {{/* -Generate fluentd envs for given source type: +Generate envs for given source type: Example: @@ -405,7 +397,7 @@ As a result, the user can upgrade without enabling setup until they actually ena {{- end -}} {{/* -Generate fluentd envs for given source type: +Generate envs for given source type: Example: @@ -451,30 +443,6 @@ Example: {{- print (regexFind "^\\d+" .Capabilities.KubeVersion.Minor) -}} {{- end -}} -{{- define "fluentd.metadata.annotations_match.quotes" -}} -{{- $matches_with_quotes := list -}} -{{- range $match := .Values.fluentd.metadata.annotation_match }} -{{- $match_with_quotes := printf "\"%s\"" $match }} -{{- $matches_with_quotes = append $matches_with_quotes $match_with_quotes }} -{{- end }} -{{- $matches_with_quotes_with_commas := join "," $matches_with_quotes }} -{{- $annotations_match := list $matches_with_quotes_with_commas }} -{{- print $annotations_match }} -{{- end -}} - -{{/* -Add service labels - -Example Usage: -{{- if eq (include "service.labels" dict("Provider" "fluentd" "Values" .Values)) "true" }} - -*/}} -{{- define "service.labels" -}} -{{- if (get (get .Values .Provider) "serviceLabels") }} -{{ toYaml (get (get .Values .Provider) "serviceLabels") }} -{{- end }} -{{- end -}} - {{/* Environment variables used to configure the HTTP proxy for programs using Go's net/http. See: https://pkg.go.dev/net/http#RoundTripper diff --git a/deploy/helm/sumologic/templates/_helpers/_events.tpl b/deploy/helm/sumologic/templates/_helpers/_events.tpl index 8407fd4e3a..71ef335f07 100644 --- a/deploy/helm/sumologic/templates/_helpers/_events.tpl +++ b/deploy/helm/sumologic/templates/_helpers/_events.tpl @@ -9,9 +9,6 @@ Example Usage: {{- if eq (include "events.otelcol.enabled" .) "true" }} {{- $enabled = true -}} {{- end -}} -{{- if eq (include "events.fluentd.enabled" .) "true" }} -{{- $enabled = true -}} -{{- end -}} {{ $enabled }} {{- end -}} @@ -23,30 +20,7 @@ Example Usage: */}} {{- define "events.otelcol.enabled" -}} -{{- $enabled := false -}} -{{- if eq .Values.sumologic.events.provider "otelcol" -}} -{{- $enabled = true -}} -{{- end -}} -{{- if hasKey .Values.sumologic.events "enabled" -}} -{{- if eq .Values.sumologic.events.enabled false -}} -{{- $enabled = false -}} -{{- end -}} -{{- end -}} -{{ $enabled }} -{{- end -}} - - -{{/* -Check if fluentd events provider is enabled -Example Usage: -{{- if eq (include "events.fluentd.enabled" .) "true" }} - -*/}} -{{- define "events.fluentd.enabled" -}} -{{- $enabled := false -}} -{{- if eq .Values.sumologic.events.provider "fluentd" -}} -{{- $enabled = true -}} -{{- end -}} +{{- $enabled := true -}} {{- if hasKey .Values.sumologic.events "enabled" -}} {{- if eq .Values.sumologic.events.enabled false -}} {{- $enabled = false -}} @@ -56,12 +30,8 @@ Example Usage: {{- end -}} {{- define "sumologic.labels.app.events" -}} -{{- if eq (include "events.fluentd.enabled" .) "true" -}} -{{ template "sumologic.labels.app.fluentd" . }}-events -{{- else if eq (include "events.otelcol.enabled" .) "true" -}} {{ template "sumologic.labels.app.otelcol" . }}-events {{- end -}} -{{- end -}} {{- define "sumologic.labels.app.events.pod" -}} {{- template "sumologic.labels.app.events" . }} @@ -84,12 +54,8 @@ Example Usage: {{- end -}} {{- define "sumologic.metadata.name.events" -}} -{{- if eq (include "events.fluentd.enabled" .) "true" -}} -{{ template "sumologic.metadata.name.fluentd" . }}-events -{{- else if eq (include "events.otelcol.enabled" .) "true" -}} {{ template "sumologic.metadata.name.otelcol" . }}-events {{- end -}} -{{- end -}} {{- define "sumologic.metadata.name.events.service" -}} {{ template "sumologic.metadata.name.events" . }} @@ -108,11 +74,7 @@ Example Usage: {{- end -}} {{- define "sumologic.labels.events" -}} -{{- if eq .Values.sumologic.events.provider "fluentd" -}} -sumologic.com/app: fluentd-events -{{- else -}} sumologic.com/app: otelcol-events -{{- end }} sumologic.com/component: events {{- end -}} diff --git a/deploy/helm/sumologic/templates/_helpers/_logs.tpl b/deploy/helm/sumologic/templates/_helpers/_logs.tpl index 8e180023f7..7517e5f41a 100644 --- a/deploy/helm/sumologic/templates/_helpers/_logs.tpl +++ b/deploy/helm/sumologic/templates/_helpers/_logs.tpl @@ -10,9 +10,6 @@ Example Usage: {{- if eq (include "logs.otelcol.enabled" .) "true" }} {{- $enabled = true -}} {{- end -}} -{{- if eq (include "logs.fluentd.enabled" .) "true" }} -{{- $enabled = true -}} -{{- end -}} {{ $enabled }} {{- end -}} @@ -26,35 +23,15 @@ Example Usage: */}} {{- define "logs.otelcol.enabled" -}} {{- $enabled := false -}} -{{- if eq .Values.sumologic.logs.enabled true -}} -{{- if and (eq .Values.sumologic.logs.metadata.provider "otelcol") (eq .Values.metadata.logs.enabled true) -}} +{{- if and (eq .Values.sumologic.logs.enabled true) (eq .Values.metadata.logs.enabled true) -}} {{- $enabled = true -}} {{- end -}} -{{- end -}} -{{ $enabled }} -{{- end -}} - -{{/* -Check if fluentd logs metadata provider is enabled - -Example Usage: -{{- if eq (include "logs.fluentd.enabled" .) "true" }} - -*/}} -{{- define "logs.fluentd.enabled" -}} -{{- $enabled := false -}} -{{- if eq .Values.sumologic.logs.enabled true -}} -{{- if and (eq .Values.sumologic.logs.metadata.provider "fluentd") (eq .Values.fluentd.logs.enabled true) -}} -{{- $enabled = true -}} -{{- end -}} -{{- end -}} {{ $enabled }} {{- end -}} {{/* Check if otelcol logs collector is enabled. It's enabled if both logs in general and the collector specifically are enabled. -If both the collector and Fluent-Bit are enabled, we error. Example Usage: {{- if eq (include "logs.collector.otelcol.enabled" .) "true" }} @@ -62,14 +39,6 @@ Example Usage: */}} {{- define "logs.collector.otelcol.enabled" -}} {{- $enabled := and (eq (include "logs.enabled" .) "true") (eq .Values.sumologic.logs.collector.otelcol.enabled true) -}} -{{- $fluentBitEnabled := index .Values "fluent-bit" "enabled" -}} -{{- if kindIs "invalid" $fluentBitEnabled -}} -{{- $fluentBitEnabled = true -}} -{{- end -}} -{{- $sideBySideAllowed := .Values.sumologic.logs.collector.allowSideBySide -}} -{{- if and $enabled $fluentBitEnabled (not $sideBySideAllowed) -}} -{{- fail "Fluent-Bit and Otel log collector can't be enabled at the same time. Set either `fluent-bit.enabled` or `sumologic.logs.collector.otelcol.enabled` to false" -}} -{{- end -}} {{ $enabled }} {{- end -}} @@ -77,28 +46,6 @@ Example Usage: {{- $enabled := and (eq (include "logs.enabled" .) "true") (eq .Values.sumologic.logs.collector.otelcloudwatch.enabled true) -}} {{- end -}} -{{/* -Check if Fluent-Bit logs collector is enabled. -It's enabled if logs in general are enabled and fluent-bit.enabled is set to true. - -Example Usage: -{{- if eq (include "logs.collector.fluentbit.enabled" .) "true" }} - -*/}} -{{- define "logs.collector.fluentbit.enabled" -}} -{{- $fluentBitEnabled := index .Values "fluent-bit" "enabled" -}} -{{- if kindIs "invalid" $fluentBitEnabled -}} -{{- $fluentBitEnabled = true -}} -{{- end -}} -{{- $enabled := and (eq (include "logs.enabled" .) "true") $fluentBitEnabled -}} -{{- $otelLogCollectorEnabled := .Values.sumologic.logs.collector.otelcol.enabled -}} -{{- $sideBySideAllowed := .Values.sumologic.logs.collector.allowSideBySide -}} -{{- if and $enabled $otelLogCollectorEnabled (not $sideBySideAllowed) -}} -{{- fail "Fluent-Bit and Otel log collector can't be enabled at the same time. Set either `fluent-bit.enabled` or `sumologic.logs.collector.otelcol.enabled` to false" -}} -{{- end -}} -{{ $enabled }} -{{- end -}} - {{/* Return the log format for the Sumologic exporter for container logs. @@ -161,12 +108,8 @@ Return the exporters for kubelet log pipeline. {{- end -}} {{- define "sumologic.labels.app.logs" -}} -{{- if eq .Values.sumologic.logs.metadata.provider "fluentd" -}} -{{ template "sumologic.labels.app.fluentd" . }}-logs -{{- else if eq .Values.sumologic.logs.metadata.provider "otelcol" -}} {{ template "sumologic.labels.app.otelcol" . }}-logs {{- end -}} -{{- end -}} {{- define "sumologic.metadata.name.logs.collector.configmap" -}} {{- template "sumologic.metadata.name.logs.collector" . }} @@ -257,12 +200,8 @@ Return the exporters for kubelet log pipeline. {{- end -}} {{- define "sumologic.metadata.name.logs" -}} -{{- if eq .Values.sumologic.logs.metadata.provider "fluentd" -}} -{{ template "sumologic.metadata.name.fluentd" . }}-logs -{{- else if eq .Values.sumologic.logs.metadata.provider "otelcol" -}} {{ template "sumologic.metadata.name.otelcol" . }}-logs {{- end -}} -{{- end -}} {{- define "sumologic.metadata.name.logs.service" -}} {{ template "sumologic.fullname" . }}-metadata-logs @@ -297,7 +236,7 @@ Return the exporters for kubelet log pipeline. {{- end -}} {{- define "sumologic.labels.logs" -}} -sumologic.com/app: fluentd-logs +sumologic.com/app: otelcol-logs sumologic.com/component: logs {{- end -}} diff --git a/deploy/helm/sumologic/templates/_helpers/_metrics.tpl b/deploy/helm/sumologic/templates/_helpers/_metrics.tpl index cf005e3e46..56871f5f04 100644 --- a/deploy/helm/sumologic/templates/_helpers/_metrics.tpl +++ b/deploy/helm/sumologic/templates/_helpers/_metrics.tpl @@ -9,9 +9,6 @@ Example Usage: {{- if eq (include "metrics.otelcol.enabled" .) "true" }} {{- $enabled = true -}} {{- end -}} -{{- if eq (include "metrics.fluentd.enabled" .) "true" }} -{{- $enabled = true -}} -{{- end -}} {{ $enabled }} {{- end -}} @@ -24,28 +21,9 @@ Example Usage: */}} {{- define "metrics.otelcol.enabled" -}} {{- $enabled := false -}} -{{- if eq .Values.sumologic.metrics.enabled true -}} -{{- if and (eq .Values.sumologic.metrics.metadata.provider "otelcol") (eq .Values.metadata.metrics.enabled true) -}} -{{- $enabled = true -}} -{{- end -}} -{{- end -}} -{{ $enabled }} -{{- end -}} - - -{{/* -Check if fluentd metrics provider is enabled -Example Usage: -{{- if eq (include "metrics.fluentd.enabled" .) "true" }} - -*/}} -{{- define "metrics.fluentd.enabled" -}} -{{- $enabled := false -}} -{{- if eq .Values.sumologic.metrics.enabled true -}} -{{- if and (eq .Values.sumologic.metrics.metadata.provider "fluentd") (eq .Values.fluentd.metrics.enabled true) -}} +{{- if and (eq .Values.sumologic.metrics.enabled true) (eq .Values.metadata.metrics.enabled true) -}} {{- $enabled = true -}} {{- end -}} -{{- end -}} {{ $enabled }} {{- end -}} @@ -82,12 +60,8 @@ Example Usage: {{- end -}} {{- define "sumologic.labels.app.metrics" -}} -{{- if eq .Values.sumologic.metrics.metadata.provider "fluentd" -}} -{{ template "sumologic.labels.app.fluentd" . }}-metrics -{{- else if eq .Values.sumologic.metrics.metadata.provider "otelcol" -}} {{ template "sumologic.labels.app.otelcol" . }}-metrics {{- end -}} -{{- end -}} {{- define "sumologic.labels.app.metrics.pod" -}} {{- template "sumologic.labels.app.metrics" . }} @@ -134,12 +108,8 @@ Example Usage: {{- end -}} {{- define "sumologic.metadata.name.metrics" -}} -{{- if eq .Values.sumologic.metrics.metadata.provider "fluentd" -}} -{{ template "sumologic.metadata.name.fluentd" . }}-metrics -{{- else if eq .Values.sumologic.metrics.metadata.provider "otelcol" -}} {{ template "sumologic.metadata.name.otelcol" . }}-metrics {{- end -}} -{{- end -}} {{- define "sumologic.metrics.metadata.endpoint" -}} {{- if .Values.sumologic.metrics.remoteWriteProxy.enabled -}} @@ -190,7 +160,7 @@ Example Usage: {{- end -}} {{- define "sumologic.labels.metrics" -}} -sumologic.com/app: fluentd-metrics +sumologic.com/app: otelcol-metrics sumologic.com/component: metrics {{- end -}} @@ -317,89 +287,3 @@ Return the endpoint for the default Sumologic exporter for metrics. {{- fail "`sumologic.metrics.sourceType` can only be `http` or `otlp`" -}} {{- end -}} {{- end -}} - -{{/* -Generate metrics match configuration - -Example usage (as one line): - -{{ include "utils.metrics.match" (dict - "Values" . - "Tag" "prometheus.metrics.kubelet" - "Endpoint" "SUMO_ENDPOINT_METRICS" - "Storage" .Values.fluentd.buffer.filePaths.metrics.default - "Id" sumologic.endpoint.metrics -)}} -*/}} -{{- define "utils.metrics.match" -}} - - @type copy - -{{- if .Drop }} - @type null -{{- else }} - @type sumologic - @id {{ .Id }} - sumo_client {{ include "sumologic.sumo_client" .Context | quote }} - endpoint "#{ENV['{{ include "terraform.sources.endpoint" .Endpoint}}']}" -{{- .Context.Values.fluentd.metrics.outputConf | nindent 2 }} - - {{- if or .Context.Values.fluentd.persistence.enabled (eq .Context.Values.fluentd.buffer.type "file") }} - @type file - path {{ .Storage }} - {{- else }} - @type memory - {{- end }} - @include buffer.output.conf - -{{- end }} - - {{- if .Context.Values.fluentd.monitoring.output }} - {{ include "fluentd.prometheus-metrics.output" . | nindent 2 }} - {{- end }} - -{{ end -}} - -{{/* -Generate fluentd prometheus filter configuration (input metrics) - -Example: - -{{ template "fluentd.prometheus-metrics.input" (dict "Tag" "kubernetes.**") }} -*/}} -{{- define "fluentd.prometheus-metrics.input" }} - - @type prometheus - - name fluentd_input_status_num_records_total - type counter - desc The total number of incoming records - - tag ${tag} - hostname ${hostname} - - - -{{- end -}} - -{{/* -Generate fluentd prometheus store configuration (output metrics) - -Example: - -{{ template "fluentd.prometheus-metrics.output" . }} -*/}} -{{- define "fluentd.prometheus-metrics.output" -}} - - @type prometheus - - name fluentd_output_status_num_records_total - type counter - desc The total number of outgoing records - - tag ${tag} - hostname ${hostname} - - - -{{- end -}} diff --git a/deploy/helm/sumologic/templates/checks.txt b/deploy/helm/sumologic/templates/checks.txt index c3933564c4..0edd41bd2f 100644 --- a/deploy/helm/sumologic/templates/checks.txt +++ b/deploy/helm/sumologic/templates/checks.txt @@ -5,12 +5,22 @@ {{- end -}} {{- end -}} -{{/* Check if metrics provider is set to either fluentd or otelcol */}} -{{- if not (or (eq .Values.sumologic.metrics.metadata.provider "fluentd") (eq .Values.sumologic.metrics.metadata.provider "otelcol")) -}} -{{- fail "\nsumologic.metrics.metadata.provider should be set to either fluentd or otelcol" -}} +{{/* Check if metrics metadata provider is set to unsupported Fluentd */}} +{{- if eq (dig "sumologic" "metrics" "metadata" "provider" "otelcol" .Values.AsMap) "fluentd" -}} +{{- fail "\nFluentd for metrics metadata has been removed. Please follow migration document to use Open Telemetry Collector instead: https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/v4-migration-doc.md#removing-support-for-fluent-bit-and-fluentd" -}} {{- end -}} -{{/* Check if logs provider is set to either fluentd or otelcol */}} -{{- if not (or (eq .Values.sumologic.logs.metadata.provider "fluentd") (eq .Values.sumologic.logs.metadata.provider "otelcol")) -}} -{{- fail "\nsumologic.logs.metadata.provider should be set to either fluentd or otelcol" -}} +{{/* Check if logs metadata provider is set to unsupported Fluentd */}} +{{- if eq (dig "sumologic" "logs" "metadata" "provider" "otelcol" .Values.AsMap) "fluentd" -}} +{{- fail "\nFluentd for logs metadata has been removed. Please follow migration document to use Open Telemetry Collector instead: https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/v4-migration-doc.md#removing-support-for-fluent-bit-and-fluentd" -}} +{{- end -}} + +{{/* Check if events metadata provider is set to unsupported Fluentd */}} +{{- if eq (dig "sumologic" "events" "provider" "otelcol" .Values.AsMap) "fluentd" -}} +{{- fail "\nFluentd for events has been removed. Please follow migration document to use Open Telemetry Collector instead: https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/v4-migration-doc.md#removing-support-for-fluent-bit-and-fluentd" -}} +{{- end -}} + +{{/* Check if Fluent Bit is enabled */}} +{{- if eq (dig "fluent-bit" "enabled" false .Values.AsMap) true -}} +{{- fail "\nFluent Bit has been removed. Please follow migration document to use Open Telemetry Collector instead: https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/v4-migration-doc.md#removing-support-for-fluent-bit-and-fluentd" -}} {{- end -}} diff --git a/deploy/helm/sumologic/templates/events/common/service-headless.yaml b/deploy/helm/sumologic/templates/events/common/service-headless.yaml index 74e253ccfd..9a64a641b7 100644 --- a/deploy/helm/sumologic/templates/events/common/service-headless.yaml +++ b/deploy/helm/sumologic/templates/events/common/service-headless.yaml @@ -8,8 +8,8 @@ metadata: app: {{ template "sumologic.labels.app.events.service-headless" . }} {{- include "sumologic.labels.common" . | nindent 4 }} {{- include "sumologic.labels.events" . | nindent 4 }} -{{- if .Values.fluentd.serviceLabels }} -{{ toYaml .Values.fluentd.serviceLabels | indent 4 }} +{{- if .Values.metadata.serviceLabels }} +{{ toYaml .Values.metadata.serviceLabels | indent 4 }} {{- end }} spec: selector: diff --git a/deploy/helm/sumologic/templates/events/common/service.yaml b/deploy/helm/sumologic/templates/events/common/service.yaml index af8e7d3a64..7c78a2ff3f 100644 --- a/deploy/helm/sumologic/templates/events/common/service.yaml +++ b/deploy/helm/sumologic/templates/events/common/service.yaml @@ -8,8 +8,8 @@ metadata: app: {{ template "sumologic.labels.app.events.service" . }} {{- include "sumologic.labels.scrape.events" . | nindent 4 }} {{- include "sumologic.labels.common" . | nindent 4 }} -{{- if .Values.fluentd.serviceLabels }} -{{ toYaml .Values.fluentd.serviceLabels | indent 4 }} +{{- if .Values.metadata.serviceLabels }} +{{ toYaml .Values.metadata.serviceLabels | indent 4 }} {{- end }} spec: selector: diff --git a/deploy/helm/sumologic/templates/events/fluentd/configmap.yaml b/deploy/helm/sumologic/templates/events/fluentd/configmap.yaml deleted file mode 100644 index 965ee9b1c7..0000000000 --- a/deploy/helm/sumologic/templates/events/fluentd/configmap.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{{- if eq (include "events.fluentd.enabled" .) "true" }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "sumologic.metadata.name.events.configmap" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.events.configmap" . }} - {{- include "sumologic.labels.common" . | nindent 4 }} -data: - fluent.conf: |- - @include events.conf - {{- (tpl (.Files.Glob "conf/events/fluentd/*.conf").AsConfig .) | nindent 2 }} - {{- (tpl (.Files.Glob "conf/fluentd/buffer.output.conf").AsConfig .) | nindent 2 }} -{{- end }} diff --git a/deploy/helm/sumologic/templates/events/fluentd/statefulset.yaml b/deploy/helm/sumologic/templates/events/fluentd/statefulset.yaml deleted file mode 100644 index 7084a7bbc9..0000000000 --- a/deploy/helm/sumologic/templates/events/fluentd/statefulset.yaml +++ /dev/null @@ -1,129 +0,0 @@ -{{- if eq (include "events.fluentd.enabled" .) "true" }} -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: {{ template "sumologic.metadata.name.events.statefulset" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.events.statefulset" . }} - {{- include "sumologic.labels.common" . | nindent 4 }} -spec: - selector: - matchLabels: - app: {{ template "sumologic.labels.app.events.pod" . }} - serviceName: {{ template "sumologic.metadata.name.events.service-headless" . }} - podManagementPolicy: "Parallel" - template: - metadata: - annotations: - checksum/config: {{ include (print $.Template.BasePath "/events/fluentd/configmap.yaml") . | sha256sum }} -{{- if .Values.sumologic.podAnnotations }} -{{ toYaml .Values.sumologic.podAnnotations | indent 8 }} -{{- end }} -{{- if .Values.fluentd.podAnnotations }} -{{ toYaml .Values.fluentd.podAnnotations | indent 8 }} -{{- end }} -{{- if .Values.fluentd.events.statefulset.podAnnotations }} -{{ toYaml .Values.fluentd.events.statefulset.podAnnotations | indent 8 }} -{{- end }} - labels: - app: {{ template "sumologic.labels.app.events.pod" . }} - {{- include "sumologic.labels.common" . | nindent 8 }} -{{- if .Values.sumologic.podLabels }} -{{ toYaml .Values.sumologic.podLabels | indent 8 }} -{{- end }} -{{- if .Values.fluentd.podLabels }} -{{ toYaml .Values.fluentd.podLabels | indent 8 }} -{{- end }} -{{- if .Values.fluentd.events.statefulset.podLabels }} -{{ toYaml .Values.fluentd.events.statefulset.podLabels | indent 8 }} -{{- end }} - spec: - serviceAccountName: {{ template "sumologic.metadata.name.roles.serviceaccount" . }} -{{- if .Values.fluentd.events.statefulset.nodeSelector }} - nodeSelector: -{{ toYaml .Values.fluentd.events.statefulset.nodeSelector | indent 8 }} -{{- end }} -{{- if or .Values.fluentd.events.statefulset.affinity }} - affinity: -{{ toYaml .Values.fluentd.events.statefulset.affinity | indent 8 }} -{{- end }} -{{- if .Values.fluentd.events.statefulset.tolerations }} - tolerations: -{{ toYaml .Values.fluentd.events.statefulset.tolerations | indent 8 }} -{{- end }} - volumes: - - name: config-volume - configMap: - name: {{ template "sumologic.metadata.name.events.configmap" . }} -{{- if .Values.fluentd.events.extraVolumes }} -{{ toYaml .Values.fluentd.events.extraVolumes | indent 6 }} -{{- end }} - securityContext: - {{- toYaml .Values.fluentd.securityContext | nindent 8 }} - {{- if .Values.fluentd.events.statefulset.priorityClassName }} - priorityClassName: {{ .Values.fluentd.events.statefulset.priorityClassName | quote }} - {{- end }} -{{- with .Values.fluentd.events.statefulset.initContainers }} - initContainers: - {{- if kindIs "string" . }} - {{- tpl . $ | nindent 8 }} - {{- else }} - {{- toYaml . | nindent 8 }} - {{- end -}} -{{- end }} - containers: - - name: fluentd-events - image: {{ .Values.fluentd.image.repository }}:{{ .Values.fluentd.image.tag }} - imagePullPolicy: {{ .Values.fluentd.image.pullPolicy }} - resources: - {{- toYaml .Values.fluentd.events.statefulset.resources | nindent 10 }} - {{- if .Values.fluentd.events.statefulset.containers.fluentd.securityContext }} - securityContext: - {{- toYaml .Values.fluentd.events.statefulset.containers.fluentd.securityContext | nindent 10 }} - {{- end }} - volumeMounts: - - name: config-volume - mountPath: /fluentd/etc/ -{{- if .Values.sumologic.events.persistence.enabled }} - - name: buffer - mountPath: {{ .Values.sumologic.events.persistence.persistentVolume.path | quote }} -{{- end }} -{{- if .Values.fluentd.events.extraVolumeMounts }} -{{ toYaml .Values.fluentd.events.extraVolumeMounts | indent 8 }} -{{- end }} - livenessProbe: - httpGet: - path: /fluentd.pod.healthcheck?json=%7B%22log%22%3A+%22health+check%22%7D - port: 9880 - initialDelaySeconds: 300 - periodSeconds: 30 - timeoutSeconds: 3 - readinessProbe: - httpGet: - path: /fluentd.pod.healthcheck?json=%7B%22log%22%3A+%22health+check%22%7D - port: 9880 - initialDelaySeconds: 30 - periodSeconds: 5 - env: -{{- $ctx := .Values -}} -{{- include "kubernetes.sources.envs" (dict "Context" $ctx "Type" "events") | nindent 8 -}} -{{- if .Values.fluentd.events.extraEnvVars }} -{{ toYaml .Values.fluentd.events.extraEnvVars | nindent 8 }} -{{- end }} -{{- if .Values.sumologic.events.persistence.enabled }} - volumeClaimTemplates: - - metadata: - name: buffer -{{- if .Values.sumologic.events.persistence.persistentVolume.pvcLabels }} - labels: -{{ toYaml .Values.sumologic.events.persistence.persistentVolume.pvcLabels | indent 8 }} -{{- end }} - spec: - accessModes: [{{ .Values.sumologic.events.persistence.persistentVolume.accessMode }}] - storageClassName: {{ .Values.sumologic.events.persistence.persistentVolume.storageClass }} - resources: - requests: - storage: {{ .Values.sumologic.events.persistence.size }} -{{- end }} -{{- end }} diff --git a/deploy/helm/sumologic/templates/logs/fluentd/configmap.yaml b/deploy/helm/sumologic/templates/logs/fluentd/configmap.yaml deleted file mode 100644 index ebf2e113ed..0000000000 --- a/deploy/helm/sumologic/templates/logs/fluentd/configmap.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{{- if eq (include "logs.fluentd.enabled" .) "true" }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "sumologic.metadata.name.logs.configmap" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.logs.configmap" . }} - {{- include "sumologic.labels.common" . | nindent 4 }} -data: - fluent.conf: |- -{{- .Values.fluentd.logs.rawConfig | nindent 4 }} -{{- (tpl (.Files.Glob "conf/fluentd/*.conf").AsConfig .) | nindent 2 }} -{{- (tpl (.Files.Glob "conf/logs/fluentd/*.conf").AsConfig .) | nindent 2 }} -{{- end }} diff --git a/deploy/helm/sumologic/templates/logs/fluentd/hpa.yaml b/deploy/helm/sumologic/templates/logs/fluentd/hpa.yaml deleted file mode 100644 index 325707eb85..0000000000 --- a/deploy/helm/sumologic/templates/logs/fluentd/hpa.yaml +++ /dev/null @@ -1,36 +0,0 @@ -{{- if and (eq (include "logs.fluentd.enabled" .) "true") (.Values.fluentd.logs.autoscaling.enabled) }} -{{- if and (eq .Capabilities.KubeVersion.Major "1") (lt (int (include "kubernetes.minor" .)) 23) }} -apiVersion: autoscaling/v2beta2 -{{- else }} -apiVersion: autoscaling/v2 -{{- end }} -kind: HorizontalPodAutoscaler -metadata: - name: {{ template "sumologic.metadata.name.logs.hpa" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.logs.hpa" . }} - {{- include "sumologic.labels.common" . | nindent 4 }} -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: StatefulSet - name: {{ template "sumologic.metadata.name.logs.statefulset" . }} - minReplicas: {{ .Values.fluentd.logs.autoscaling.minReplicas }} - maxReplicas: {{ .Values.fluentd.logs.autoscaling.maxReplicas }} - metrics: -{{ if .Values.fluentd.logs.autoscaling.targetMemoryUtilizationPercentage }} - - type: Resource - resource: - name: memory - target: - type: Utilization - averageUtilization: {{ .Values.fluentd.logs.autoscaling.targetMemoryUtilizationPercentage }} -{{ end }} - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: {{ .Values.fluentd.logs.autoscaling.targetCPUUtilizationPercentage }} -{{- end -}} diff --git a/deploy/helm/sumologic/templates/logs/fluentd/pdb.yaml b/deploy/helm/sumologic/templates/logs/fluentd/pdb.yaml deleted file mode 100644 index 28f9b74425..0000000000 --- a/deploy/helm/sumologic/templates/logs/fluentd/pdb.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{{- if eq (include "logs.fluentd.enabled" .) "true" }} -{{- if .Values.fluentd.logs.podDisruptionBudget -}} -apiVersion: {{ include "apiVersion.podDisruptionBudget" . }} -kind: PodDisruptionBudget -metadata: - name: {{ template "sumologic.metadata.name.logs.pdb" . }} - namespace: {{ template "sumologic.namespace" . }} -spec: - selector: - matchLabels: - app: {{ template "sumologic.labels.app.logs.statefulset" . }} -{{ toYaml .Values.fluentd.logs.podDisruptionBudget | indent 2 }} -{{- end -}} -{{- end -}} diff --git a/deploy/helm/sumologic/templates/logs/fluentd/service-headless.yaml b/deploy/helm/sumologic/templates/logs/fluentd/service-headless.yaml deleted file mode 100644 index cfb57e4c48..0000000000 --- a/deploy/helm/sumologic/templates/logs/fluentd/service-headless.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- if eq (include "logs.fluentd.enabled" .) "true" }} -apiVersion: v1 -kind: Service -metadata: - name: {{ template "sumologic.metadata.name.logs.service-headless" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.logs.service-headless" . }} - {{- include "sumologic.labels.logs" . | nindent 4 }} -{{- if .Values.fluentd.serviceLabels }} -{{ toYaml .Values.fluentd.serviceLabels | indent 4 }} -{{- end }} -spec: - selector: - app: {{ template "sumologic.labels.app.logs.pod" . }} - clusterIP: None - ports: - - name: fluent-bit - port: 24321 - targetPort: 24321 - protocol: TCP - - name: metrics - port: 24231 - targetPort: 24231 - protocol: TCP -{{- end }} diff --git a/deploy/helm/sumologic/templates/logs/fluentd/service.yaml b/deploy/helm/sumologic/templates/logs/fluentd/service.yaml deleted file mode 100644 index 3bff34e756..0000000000 --- a/deploy/helm/sumologic/templates/logs/fluentd/service.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- if eq (include "logs.fluentd.enabled" .) "true" }} -apiVersion: v1 -kind: Service -metadata: - name: {{ template "sumologic.metadata.name.logs.service" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.logs.service" . }} - {{- include "sumologic.labels.scrape.logs" . | nindent 4 }} - {{- include "sumologic.labels.common" . | nindent 4 }} -{{- if .Values.fluentd.serviceLabels }} -{{ toYaml .Values.fluentd.serviceLabels | indent 4 }} -{{- end }} -spec: - selector: - app: {{ template "sumologic.labels.app.logs.pod" . }} - ports: - - name: fluent-bit - port: 24321 - targetPort: 24321 - protocol: TCP - - name: metrics - port: 24231 - targetPort: 24231 - protocol: TCP -{{- end }} diff --git a/deploy/helm/sumologic/templates/logs/fluentd/statefulset.yaml b/deploy/helm/sumologic/templates/logs/fluentd/statefulset.yaml deleted file mode 100644 index 1f12ce186f..0000000000 --- a/deploy/helm/sumologic/templates/logs/fluentd/statefulset.yaml +++ /dev/null @@ -1,151 +0,0 @@ -{{- if eq (include "logs.fluentd.enabled" .) "true" }} -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: {{ template "sumologic.metadata.name.logs.statefulset" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.logs.statefulset" . }} - {{- include "sumologic.labels.common" . | nindent 4 }} -spec: - selector: - matchLabels: - app: {{ template "sumologic.labels.app.logs.pod" . }} - serviceName: {{ template "sumologic.metadata.name.logs.service-headless" . }} - podManagementPolicy: "Parallel" -{{- if not .Values.fluentd.logs.autoscaling.enabled }} - replicas: {{ .Values.fluentd.logs.statefulset.replicaCount }} -{{- end }} - template: - metadata: - annotations: - checksum/config: {{ include (print $.Template.BasePath "/logs/fluentd/configmap.yaml") . | sha256sum }} -{{- if .Values.sumologic.podAnnotations }} -{{ toYaml .Values.sumologic.podAnnotations | indent 8 }} -{{- end }} -{{- if .Values.fluentd.podAnnotations }} -{{ toYaml .Values.fluentd.podAnnotations | indent 8 }} -{{- end }} -{{- if .Values.fluentd.logs.statefulset.podAnnotations }} -{{ toYaml .Values.fluentd.logs.statefulset.podAnnotations | indent 8 }} -{{- end }} - labels: - app: {{ template "sumologic.labels.app.logs.pod" . }} - {{- include "sumologic.labels.common" . | nindent 8 }} -{{- if .Values.sumologic.podLabels }} -{{ toYaml .Values.sumologic.podLabels | indent 8 }} -{{- end }} -{{- if .Values.fluentd.podLabels }} -{{ toYaml .Values.fluentd.podLabels | indent 8 }} -{{- end }} -{{- if .Values.fluentd.logs.statefulset.podLabels }} -{{ toYaml .Values.fluentd.logs.statefulset.podLabels | indent 8 }} -{{- end }} - spec: - serviceAccountName: {{ template "sumologic.metadata.name.roles.serviceaccount" . }} -{{- if .Values.fluentd.logs.statefulset.nodeSelector }} - nodeSelector: -{{ toYaml .Values.fluentd.logs.statefulset.nodeSelector | indent 8 }} -{{- end }} -{{- if .Values.fluentd.logs.statefulset.tolerations }} - tolerations: -{{ toYaml .Values.fluentd.logs.statefulset.tolerations | indent 8 }} -{{- end }} -{{- if or .Values.fluentd.logs.statefulset.affinity .Values.fluentd.logs.statefulset.podAntiAffinity }} - affinity: -{{- if .Values.fluentd.logs.statefulset.affinity }} -{{ toYaml .Values.fluentd.logs.statefulset.affinity | indent 8 }} -{{- end }} -{{- if eq .Values.fluentd.logs.statefulset.podAntiAffinity "hard"}} -{{ include "pod-anti-affinity-hard" . | indent 8 }} -{{else if eq .Values.fluentd.logs.statefulset.podAntiAffinity "soft"}} -{{ include "pod-anti-affinity-soft" . | indent 8 }} -{{- end }} -{{- end }} -{{- if .Values.fluentd.logs.statefulset.topologySpreadConstraints }} - topologySpreadConstraints: -{{ toYaml .Values.fluentd.logs.statefulset.topologySpreadConstraints | indent 6 }} -{{- end }} - volumes: - - name: config-volume - configMap: - name: {{ template "sumologic.metadata.name.logs.configmap" . }} -{{- if .Values.fluentd.logs.extraVolumes }} -{{ toYaml .Values.fluentd.logs.extraVolumes | indent 6 }} -{{- end }} - securityContext: - {{- toYaml .Values.fluentd.securityContext | nindent 8 }} - {{- if .Values.fluentd.logs.statefulset.priorityClassName }} - priorityClassName: {{ .Values.fluentd.logs.statefulset.priorityClassName | quote }} - {{- end }} -{{- with .Values.fluentd.logs.statefulset.initContainers }} - initContainers: - {{- if kindIs "string" . }} - {{- tpl . $ | nindent 8 }} - {{- else }} - {{- toYaml . | nindent 8 }} - {{- end -}} -{{- end }} - containers: - - name: fluentd - image: {{ .Values.fluentd.image.repository }}:{{ .Values.fluentd.image.tag }} - imagePullPolicy: {{ .Values.fluentd.image.pullPolicy }} - resources: - {{- toYaml .Values.fluentd.logs.statefulset.resources | nindent 10 }} - {{- if .Values.fluentd.logs.statefulset.containers.fluentd.securityContext }} - securityContext: - {{- toYaml .Values.fluentd.logs.statefulset.containers.fluentd.securityContext | nindent 10 }} - {{- end }} - ports: - - name: fluent-bit - containerPort: 24321 - protocol: TCP - livenessProbe: - httpGet: - path: /fluentd.pod.healthcheck?json=%7B%22log%22%3A+%22health+check%22%7D - port: 9880 - initialDelaySeconds: 300 - periodSeconds: 30 - timeoutSeconds: 3 - readinessProbe: - httpGet: - path: /fluentd.pod.healthcheck?json=%7B%22log%22%3A+%22health+check%22%7D - port: 9880 - initialDelaySeconds: 30 - periodSeconds: 5 - volumeMounts: - - name: config-volume - mountPath: /fluentd/etc/ -{{- if .Values.fluentd.persistence.enabled }} - - name: buffer - mountPath: "/fluentd/buffer" -{{- end}} -{{- if .Values.fluentd.logs.extraVolumeMounts }} -{{ toYaml .Values.fluentd.logs.extraVolumeMounts | indent 8 }} -{{- end }} -{{- if or .Values.sumologic.collector.sources .Values.fluentd.logs.extraEnvVars }} - env: -{{- $ctx := .Values -}} -{{- include "kubernetes.sources.envs" (dict "Context" $ctx "Type" "logs") | nindent 8 -}} - {{- if .Values.fluentd.logs.extraEnvVars }} -{{ toYaml .Values.fluentd.logs.extraEnvVars | nindent 8 }} - {{- end }} - - name: ADDITIONAL_PLUGINS - value: {{ join " " .Values.fluentd.additionalPlugins | quote }} -{{- end }} -{{- if .Values.fluentd.persistence.enabled }} - volumeClaimTemplates: - - metadata: - name: buffer -{{- if .Values.fluentd.pvcLabels }} - labels: -{{ toYaml .Values.fluentd.pvcLabels | indent 8 }} -{{- end }} - spec: - accessModes: [{{ .Values.fluentd.persistence.accessMode }}] - storageClassName: {{ .Values.fluentd.persistence.storageClass }} - resources: - requests: - storage: {{ .Values.fluentd.persistence.size }} -{{- end }} -{{- end }} diff --git a/deploy/helm/sumologic/templates/logs/otelcol/statefulset.yaml b/deploy/helm/sumologic/templates/logs/otelcol/statefulset.yaml index 24f0e79f66..27e83e03c4 100644 --- a/deploy/helm/sumologic/templates/logs/otelcol/statefulset.yaml +++ b/deploy/helm/sumologic/templates/logs/otelcol/statefulset.yaml @@ -51,7 +51,7 @@ spec: tolerations: {{ toYaml .Values.metadata.logs.statefulset.tolerations | indent 8 }} {{- end }} -{{- if or .Values.metadata.logs.statefulset.affinity .Values.fluentd.logs.statefulset.podAntiAffinity }} +{{- if .Values.metadata.logs.statefulset.affinity }} affinity: {{- if .Values.metadata.logs.statefulset.affinity }} {{ toYaml .Values.metadata.logs.statefulset.affinity | indent 8 }} diff --git a/deploy/helm/sumologic/templates/metrics/fluentd/configmap.yaml b/deploy/helm/sumologic/templates/metrics/fluentd/configmap.yaml deleted file mode 100644 index f2e1ac1534..0000000000 --- a/deploy/helm/sumologic/templates/metrics/fluentd/configmap.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{{- if eq (include "metrics.fluentd.enabled" .) "true" }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "sumologic.metadata.name.metrics.configmap" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.metrics.configmap" . }} - {{- include "sumologic.labels.common" . | nindent 4 }} -data: - fluent.conf: |- -{{- .Values.fluentd.metrics.rawConfig | nindent 4 }} -{{- (tpl (.Files.Glob "conf/fluentd/*.conf").AsConfig .) | nindent 2 }} -{{- (tpl (.Files.Glob "conf/metrics/fluentd/*.conf").AsConfig .) | nindent 2 }} -{{- end }} \ No newline at end of file diff --git a/deploy/helm/sumologic/templates/metrics/fluentd/hpa.yaml b/deploy/helm/sumologic/templates/metrics/fluentd/hpa.yaml deleted file mode 100644 index 966265ac45..0000000000 --- a/deploy/helm/sumologic/templates/metrics/fluentd/hpa.yaml +++ /dev/null @@ -1,36 +0,0 @@ -{{- if and (eq (include "metrics.fluentd.enabled" .) "true") ( .Values.fluentd.metrics.autoscaling.enabled) }} -{{- if and (eq .Capabilities.KubeVersion.Major "1") (lt (int (include "kubernetes.minor" .)) 23) }} -apiVersion: autoscaling/v2beta2 -{{- else }} -apiVersion: autoscaling/v2 -{{- end }} -kind: HorizontalPodAutoscaler -metadata: - name: {{ template "sumologic.metadata.name.metrics.hpa" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.metrics.hpa" . }} - {{- include "sumologic.labels.common" . | nindent 4 }} -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: StatefulSet - name: {{ template "sumologic.metadata.name.metrics.statefulset" . }} - minReplicas: {{ .Values.fluentd.metrics.autoscaling.minReplicas }} - maxReplicas: {{ .Values.fluentd.metrics.autoscaling.maxReplicas }} - metrics: -{{- if .Values.fluentd.metrics.autoscaling.targetMemoryUtilizationPercentage }} - - type: Resource - resource: - name: memory - target: - type: Utilization - averageUtilization: {{ .Values.fluentd.metrics.autoscaling.targetMemoryUtilizationPercentage }} -{{- end -}} - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: {{ .Values.fluentd.metrics.autoscaling.targetCPUUtilizationPercentage }} -{{- end -}} diff --git a/deploy/helm/sumologic/templates/metrics/fluentd/pdb.yaml b/deploy/helm/sumologic/templates/metrics/fluentd/pdb.yaml deleted file mode 100644 index a925a75cae..0000000000 --- a/deploy/helm/sumologic/templates/metrics/fluentd/pdb.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{{- if eq (include "metrics.fluentd.enabled" .) "true" }} -{{- if .Values.fluentd.metrics.podDisruptionBudget -}} -apiVersion: {{ include "apiVersion.podDisruptionBudget" . }} -kind: PodDisruptionBudget -metadata: - name: {{ template "sumologic.metadata.name.metrics.pdb" . }} - namespace: {{ template "sumologic.namespace" . }} -spec: - selector: - matchLabels: - app: {{ template "sumologic.labels.app.metrics.statefulset" . }} -{{ toYaml .Values.fluentd.metrics.podDisruptionBudget | indent 2 }} -{{- end -}} -{{- end -}} diff --git a/deploy/helm/sumologic/templates/metrics/fluentd/service-headless.yaml b/deploy/helm/sumologic/templates/metrics/fluentd/service-headless.yaml deleted file mode 100644 index 02292837fc..0000000000 --- a/deploy/helm/sumologic/templates/metrics/fluentd/service-headless.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- if eq (include "metrics.fluentd.enabled" .) "true" }} -apiVersion: v1 -kind: Service -metadata: - name: {{ template "sumologic.metadata.name.metrics.service-headless" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.metrics.service-headless" . }} - {{- include "sumologic.labels.metrics" . | nindent 4 }} -{{- if .Values.fluentd.serviceLabels }} -{{ toYaml .Values.fluentd.serviceLabels | indent 4 }} -{{- end }} -spec: - selector: - app: {{ template "sumologic.labels.app.metrics.pod" . }} - clusterIP: None - ports: - - name: prom-write - port: 9888 - targetPort: 9888 - protocol: TCP - - name: metrics - port: 24231 - targetPort: 24231 - protocol: TCP -{{- end }} diff --git a/deploy/helm/sumologic/templates/metrics/fluentd/service.yaml b/deploy/helm/sumologic/templates/metrics/fluentd/service.yaml deleted file mode 100644 index 5b52015fc7..0000000000 --- a/deploy/helm/sumologic/templates/metrics/fluentd/service.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- if eq (include "metrics.fluentd.enabled" .) "true" }} -apiVersion: v1 -kind: Service -metadata: - name: {{ template "sumologic.metadata.name.metrics.service" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.metrics.service" . }} - {{- include "sumologic.labels.scrape.metrics" . | nindent 4 }} - {{- include "sumologic.labels.common" . | nindent 4 }} -{{- if .Values.fluentd.serviceLabels }} -{{ toYaml .Values.fluentd.serviceLabels | indent 4 }} -{{- end }} -spec: - selector: - app: {{ template "sumologic.labels.app.metrics.pod" . }} - ports: - - name: prom-write - port: 9888 - targetPort: 9888 - protocol: TCP - - name: metrics - port: 24231 - targetPort: 24231 - protocol: TCP -{{- end }} diff --git a/deploy/helm/sumologic/templates/metrics/fluentd/statefulset.yaml b/deploy/helm/sumologic/templates/metrics/fluentd/statefulset.yaml deleted file mode 100644 index 25410d0a18..0000000000 --- a/deploy/helm/sumologic/templates/metrics/fluentd/statefulset.yaml +++ /dev/null @@ -1,151 +0,0 @@ -{{- if eq (include "metrics.fluentd.enabled" .) "true" }} -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: {{ template "sumologic.metadata.name.metrics.statefulset" . }} - namespace: {{ template "sumologic.namespace" . }} - labels: - app: {{ template "sumologic.labels.app.metrics.statefulset" . }} - {{- include "sumologic.labels.common" . | nindent 4 }} -spec: - selector: - matchLabels: - app: {{ template "sumologic.labels.app.metrics.pod" . }} - serviceName: {{ template "sumologic.metadata.name.metrics.service-headless" . }} - podManagementPolicy: "Parallel" -{{- if not .Values.fluentd.metrics.autoscaling.enabled }} - replicas: {{ .Values.fluentd.metrics.statefulset.replicaCount }} -{{- end }} - template: - metadata: - annotations: - checksum/config: {{ include (print $.Template.BasePath "/metrics/fluentd/configmap.yaml") . | sha256sum }} -{{- if .Values.sumologic.podAnnotations }} -{{ toYaml .Values.sumologic.podAnnotations | indent 8 }} -{{- end }} -{{- if .Values.fluentd.podAnnotations }} -{{ toYaml .Values.fluentd.podAnnotations | indent 8 }} -{{- end }} -{{- if .Values.fluentd.metrics.statefulset.podAnnotations }} -{{ toYaml .Values.fluentd.metrics.statefulset.podAnnotations | indent 8 }} -{{- end }} - labels: - app: {{ template "sumologic.labels.app.metrics.pod" . }} - {{- include "sumologic.labels.common" . | nindent 8 }} -{{- if .Values.sumologic.podLabels }} -{{ toYaml .Values.sumologic.podLabels | indent 8 }} -{{- end }} -{{- if .Values.fluentd.podLabels }} -{{ toYaml .Values.fluentd.podLabels | indent 8 }} -{{- end }} -{{- if .Values.fluentd.metrics.statefulset.podLabels }} -{{ toYaml .Values.fluentd.metrics.statefulset.podLabels | indent 8 }} -{{- end }} - spec: - serviceAccountName: {{ template "sumologic.metadata.name.roles.serviceaccount" . }} -{{- if .Values.fluentd.metrics.statefulset.nodeSelector }} - nodeSelector: -{{ toYaml .Values.fluentd.metrics.statefulset.nodeSelector | indent 8 }} -{{- end }} -{{- if .Values.fluentd.metrics.statefulset.tolerations }} - tolerations: -{{ toYaml .Values.fluentd.metrics.statefulset.tolerations | indent 8 }} -{{- end }} -{{- if or .Values.fluentd.metrics.statefulset.affinity .Values.fluentd.metrics.statefulset.podAntiAffinity }} - affinity: -{{- if .Values.fluentd.metrics.statefulset.affinity }} -{{ toYaml .Values.fluentd.metrics.statefulset.affinity | indent 8 }} -{{- end }} -{{- if eq .Values.fluentd.metrics.statefulset.podAntiAffinity "hard"}} -{{ include "pod-anti-affinity-hard" . | indent 8 }} -{{else if eq .Values.fluentd.metrics.statefulset.podAntiAffinity "soft"}} -{{ include "pod-anti-affinity-soft" . | indent 8 }} -{{- end }} -{{- end }} -{{- if .Values.fluentd.metrics.statefulset.topologySpreadConstraints }} - topologySpreadConstraints: -{{ toYaml .Values.fluentd.metrics.statefulset.topologySpreadConstraints | indent 6 }} -{{- end }} - volumes: - - name: config-volume - configMap: - name: {{ template "sumologic.metadata.name.metrics.configmap" . }} -{{- if .Values.fluentd.metrics.extraVolumes }} -{{ toYaml .Values.fluentd.metrics.extraVolumes | indent 6 }} -{{- end }} - securityContext: - {{- toYaml .Values.fluentd.securityContext | nindent 8 }} - {{- if .Values.fluentd.metrics.statefulset.priorityClassName }} - priorityClassName: {{ .Values.fluentd.metrics.statefulset.priorityClassName | quote }} - {{- end }} -{{- with .Values.fluentd.metrics.statefulset.initContainers }} - initContainers: - {{- if kindIs "string" . }} - {{- tpl . $ | nindent 8 }} - {{- else }} - {{- toYaml . | nindent 8 }} - {{- end -}} -{{- end }} - containers: - - name: fluentd - image: {{ .Values.fluentd.image.repository }}:{{ .Values.fluentd.image.tag }} - imagePullPolicy: {{ .Values.fluentd.image.pullPolicy }} - resources: - {{- toYaml .Values.fluentd.metrics.statefulset.resources | nindent 10 }} - {{- if .Values.fluentd.metrics.statefulset.containers.fluentd.securityContext }} - securityContext: - {{- toYaml .Values.fluentd.metrics.statefulset.containers.fluentd.securityContext | nindent 10 }} - {{- end }} - ports: - - name: prom-write - containerPort: 9888 - protocol: TCP - livenessProbe: - httpGet: - path: /fluentd.pod.healthcheck?json=%7B%22log%22%3A+%22health+check%22%7D - port: 9880 - initialDelaySeconds: 300 - periodSeconds: 30 - timeoutSeconds: 3 - readinessProbe: - httpGet: - path: /fluentd.pod.healthcheck?json=%7B%22log%22%3A+%22health+check%22%7D - port: 9880 - initialDelaySeconds: 30 - periodSeconds: 5 - volumeMounts: - - name: config-volume - mountPath: /fluentd/etc/ -{{- if .Values.fluentd.persistence.enabled }} - - name: buffer - mountPath: "/fluentd/buffer" -{{- end}} -{{- if .Values.fluentd.metrics.extraVolumeMounts }} -{{ toYaml .Values.fluentd.metrics.extraVolumeMounts | indent 8 }} -{{- end }} -{{- if or .Values.sumologic.collector.sources .Values.fluentd.metrics.extraEnvVars }} - env: -{{- $ctx := .Values -}} -{{- include "kubernetes.sources.envs" (dict "Context" $ctx "Type" "metrics") | nindent 8 -}} -{{- if .Values.fluentd.metrics.extraEnvVars }} -{{ toYaml .Values.fluentd.metrics.extraEnvVars | nindent 8 }} -{{- end }} - - name: ADDITIONAL_PLUGINS - value: {{ join " " .Values.fluentd.additionalPlugins | quote }} -{{- end }} -{{- if .Values.fluentd.persistence.enabled }} - volumeClaimTemplates: - - metadata: - name: buffer -{{- if .Values.fluentd.pvcLabels }} - labels: -{{ toYaml .Values.fluentd.pvcLabels | indent 8 }} -{{- end }} - spec: - accessModes: [{{ .Values.fluentd.persistence.accessMode }}] - storageClassName: {{ .Values.fluentd.persistence.storageClass }} - resources: - requests: - storage: {{ .Values.fluentd.persistence.size }} -{{- end }} -{{- end }} diff --git a/deploy/helm/sumologic/templates/scc.yaml b/deploy/helm/sumologic/templates/scc.yaml index b9ee1a767d..5f0100253e 100644 --- a/deploy/helm/sumologic/templates/scc.yaml +++ b/deploy/helm/sumologic/templates/scc.yaml @@ -27,7 +27,6 @@ fsGroup: ranges: - min: 65534 max: 65534 - - min: 999 # fluentd max: 1000 # prometheus - min: 2000 # prometheus max: 2000 # prometheus diff --git a/deploy/helm/sumologic/values.yaml b/deploy/helm/sumologic/values.yaml index 273421097d..509481b906 100644 --- a/deploy/helm/sumologic/values.yaml +++ b/deploy/helm/sumologic/values.yaml @@ -249,8 +249,6 @@ sumologic: ### Configuration for collection of Kubernetes events events: enabled: true - ## Defines which provider is used for Kubernetes events collection - `otelcol` or `fluentd`. `otelcol` is the default and is recommended. `fluentd` is deprecated. - provider: otelcol ## Source name for the Events source. Default: "events" sourceName: "events" @@ -280,9 +278,6 @@ sumologic: ## Set the enabled flag to false for disabling logs ingestion altogether. logs: enabled: true - metadata: - ## Defines logs metadata enrichment provider - `otelcol` or `fluentd`. `otelcol` is the default and is recommended. `fluentd` is deprecated. - provider: otelcol collector: otelcol: @@ -303,10 +298,6 @@ sumologic: ## names: [fluent-bit] logGroups: {} - ## Allow running otel and Fluent Bit side by side. This will result in duplicated - ## logs being ingested. Only enabled this if you're **certain** it's what you want. - allowSideBySide: false - multiline: enabled: true first_line_regex: "^\\[?\\d{4}-\\d{1,2}-\\d{1,2}.\\d{2}:\\d{2}:\\d{2}" @@ -327,7 +318,7 @@ sumologic: ## Format to post logs into Sumo: fields, json, json_merge, or text. ## NOTE: json is an alias for fields ## NOTE: Multiline log detection works differently for `text` format. See below link for full reference: - ## https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/fluent/troubleshoot-collection.md#using-text-format + ## https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/collecting-container-logs.md#text-log-format format: fields ## When set to `true`, preserves the `time` attribute, which is a string representation of the `timestamp` attribute. @@ -349,16 +340,16 @@ sumologic: sourceCategoryReplaceDash: "/" ## A regular expression for containers. - ## Matching containers will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching containers will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeContainerRegex: "" ## A regular expression for hosts. - ## Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeHostRegex: "" ## A regular expression for namespaces. - ## Matching namespaces will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching namespaces will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeNamespaceRegex: "" ## A regular expression for pods. - ## Matching pods will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching pods will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludePodRegex: "" ## Defines whether container-level pod annotations are enabled. @@ -386,16 +377,16 @@ sumologic: sourceCategoryReplaceDash: "/" ## A regular expression for facility. - ## Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeFacilityRegex: "" ## A regular expression for hosts. - ## Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeHostRegex: "" ## A regular expression for priority. - ## Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludePriorityRegex: "" ## A regular expression for unit. - ## Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeUnitRegex: "" kubelet: @@ -413,40 +404,16 @@ sumologic: sourceCategoryReplaceDash: "/" ## A regular expression for facility. - ## Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching facility will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeFacilityRegex: "" ## A regular expression for hosts. - ## Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching hosts will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeHostRegex: "" ## A regular expression for priority. - ## Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). + ## Matching priority will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludePriorityRegex: "" ## A regular expression for unit. - ## Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (FluentD/otelcol). - excludeUnitRegex: "" - - ## Only for Fluentd - default log configuration (catch-all) - defaultFluentd: - ## Set the _sourceName metadata field in Sumo Logic. - sourceName: "k8s_default" - ## Set the _sourceCategory metadata field in Sumo Logic. - sourceCategory: "default" - ## Set the prefix, for _sourceCategory metadata. - sourceCategoryPrefix: "kubernetes/" - ## Used to replace - with another character. - sourceCategoryReplaceDash: "/" - - ## A regular expression for facility. - ## Matching facility will be excluded from Sumo. The logs will still be sent to FluentD. - excludeFacilityRegex: "" - ## A regular expression for hosts. - ## Matching hosts will be excluded from Sumo. The logs will still be sent to FluentD. - excludeHostRegex: "" - ## A regular expression for priority. - ## Matching priority will be excluded from Sumo. The logs will still be sent to FluentD. - excludePriorityRegex: "" - ## A regular expression for unit. - ## Matching unit will be excluded from Sumo. The logs will still be sent to FluentD. + ## Matching unit will be excluded from Sumo. The logs will still be sent to logs metadata provider (otelcol). excludeUnitRegex: "" ## Fields to be created at Sumo Logic to ensure logs are tagged with @@ -470,9 +437,6 @@ sumologic: ## Set the enabled flag to false for disabling metrics ingestion altogether. metrics: enabled: true - metadata: - ## Defines metrics metadata enrichment provider - `otelcol` or `fluentd`. `otelcol` is the default and is recommended. `fluentd` is deprecated. - provider: otelcol collector: ### Otel metrics collector. Replaces Prometheus. @@ -484,7 +448,7 @@ sumologic: ## Default scrape interval scrapeInterval: 30s - ## Option to turn autoscaling on for fluentd and specify params for HPA. + ## Option to turn autoscaling on for otelcol and specify params for HPA. ## Autoscaling needs metrics-server to access cpu metrics. autoscaling: enabled: false @@ -495,9 +459,9 @@ sumologic: nodeSelector: {} - ## Add custom annotations only to events fluentd sts pods + ## Add custom annotations only to merics otelcol sts pods podAnnotations: {} - ## Add custom labels only to events fluentd sts pods + ## Add custom labels only to metrics otelcol sts pods podLabels: {} ## Option to define priorityClassName to assign a priority class to pods. @@ -627,15 +591,6 @@ sumologic: ## Prometheus serviceMonitors related to Sumo Logic services ## They are applied only if kube-prometheus-stack is enabled serviceMonitors: - - name: collection-sumologic-fluentd-logs - additionalLabels: - sumologic.com/app: fluentd-logs - endpoints: - - port: metrics - selector: - matchLabels: - sumologic.com/app: fluentd-logs - sumologic.com/scrape: "true" - name: collection-sumologic-otelcol-logs additionalLabels: sumologic.com/app: otelcol-logs @@ -643,16 +598,7 @@ sumologic: - port: otelcol-metrics selector: matchLabels: - sumologic.com/app: fluentd-logs - sumologic.com/scrape: "true" - - name: collection-sumologic-fluentd-metrics - additionalLabels: - sumologic.com/app: fluentd-metrics - endpoints: - - port: metrics - selector: - matchLabels: - sumologic.com/app: fluentd-metrics + sumologic.com/app: otelcol-logs sumologic.com/scrape: "true" - name: collection-sumologic-otelcol-metrics additionalLabels: @@ -661,7 +607,7 @@ sumologic: - port: otelcol-metrics selector: matchLabels: - sumologic.com/app: fluentd-metrics + sumologic.com/app: otelcol-metrics sumologic.com/scrape: "true" - name: collection-sumologic-metrics-collector additionalLabels: @@ -673,29 +619,6 @@ sumologic: sumologic.com/app: otelcol sumologic.com/component: metrics sumologic.com/scrape: "true" - - name: collection-sumologic-fluentd-events - additionalLabels: - sumologic.com/app: fluentd-events - endpoints: - - port: metrics - selector: - matchLabels: - sumologic.com/app: fluentd-events - sumologic.com/scrape: "true" - - name: collection-sumologic-fluent-bit - additionalLabels: - sumologic.com/app: collection-fluent-bit - endpoints: - - port: http - path: /api/v1/metrics/prometheus - metricRelabelings: - - action: keep - regex: fluentbit_.* - sourceLabels: [__name__] - selector: - matchLabels: - app.kubernetes.io/name: fluent-bit - sumologic.com/scrape: "true" - name: collection-sumologic-otelcol-logs-collector additionalLabels: sumologic.com/app: otelcol-logs-collector @@ -748,568 +671,11 @@ sumologic: sourceType: http -fluentd: - image: - repository: public.ecr.aws/sumologic/kubernetes-fluentd - tag: 1.16.2-sumo-0 - pullPolicy: IfNotPresent - - additionalPlugins: [] - - ## Sets the fluentd log level. The default log level, if not specified, is info. - ## Sumo will only ingest the error log level and some specific warnings, the info logs can be seen in kubectl logs. - ## ref: https://docs.fluentd.org/deployment/logging - logLevel: "info" - ## to ingest all fluentd logs, turn the logLevelFilter to false - logLevelFilter: true - - ## Verify SumoLogic HTTPS certificates - verifySsl: true - ## Proxy URI for sumologic output plugin - proxyUri: "" - - ## Enable and set compression encoding for fluentd output plugin - compression: - enabled: true - encoding: gzip - - securityContext: - ## The group ID of all processes in the statefulset containers. By default this needs to be fluent(999). - fsGroup: 999 - - ## Add custom labels to all fluentd sts pods(logs, metrics, events) - podLabels: {} - - ## Add custom annotations to all fluentd sts pods(logs, metrics, events) - podAnnotations: {} - - ## Add custom labels to all fluentd svc (logs, metrics, events) - serviceLabels: {} - - ## Add custom labels to all fluentd statefulset PVC (logs, metrics, events) - pvcLabels: {} - - ## Persist data to a persistent volume; When enabled, fluentd uses the file buffer instead of memory buffer. - persistence: - ## After changing this value please follow steps described in: - ## https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/fluent/fluentd-persistence.md - enabled: true - - ## If defined, storageClassName: - ## If undefined (the default) or set to an empty string, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, Azure & OpenStack) - ## - # storageClass: "" - accessMode: ReadWriteOnce - size: 10Gi - - buffer: - ## Option to specify the Fluentd buffer as file/memory. - ## If fluentd.persistence.enabled is true, this will be ignored. - type: "memory" - - ## How frequently to push logs to SumoLogic - ## ref: https://github.com/SumoLogic/fluentd-kubernetes-sumologic#options - flushInterval: "5s" - ## Increase number of http threads to Sumo. May be required in heavy logging/high DPM clusters - numThreads: 8 - chunkLimitSize: "1m" - queueChunkLimitSize: 128 - totalLimitSize: "128m" - retryMaxInterval: "10m" - retryForever: true - compress: gzip - - ## File paths to buffer to, if Fluentd buffer type is specified as file above. - ## Each sumologic output plugin buffers to its own unique file. - filePaths: - logs: - containers: /fluentd/buffer/logs.containers - kubelet: /fluentd/buffer/logs.kubelet - systemd: /fluentd/buffer/logs.systemd - default: /fluentd/buffer/logs.default - metrics: - apiserver: /fluentd/buffer/metrics.apiserver - kubelet: /fluentd/buffer/metrics.kubelet - container: /fluentd/buffer/metrics.container - controller: /fluentd/buffer/metrics.controller - scheduler: /fluentd/buffer/metrics.scheduler - state: /fluentd/buffer/metrics.state - node: /fluentd/buffer/metrics.node - control-plane: /fluentd/buffer/metrics.control_plane - default: /fluentd/buffer/metrics.default - traces: /fluentd/buffer/traces - - ## Additional config for buffer settings - extraConf: |- - - ## configuration of fluentd monitoring metrics - ## input -> fluentd_input_status_num_records_total (~5% DPM increase for empty cluster) - ## output -> fluentd_output_status_num_records_total (~25% DPM increase for empty cluster) - monitoring: - input: false - output: false - - metadata: - ## Option to control capturing of annotations by metadata filter plugin. - annotation_match: - - 'sumologic\.com.*' - ## Option to control the enabling of metadata filter plugin cache_size. - ## ref: https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter#configuration - cacheSize: "10000" - ## Option to control the enabling of metadata filter plugin cache_ttl (in seconds). - ## ref: https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter#configuration - cacheTtl: "7200" - ## Option to control the interval at which metadata cache is asynchronously refreshed (in seconds). - cacheRefresh: "3600" - ## Option to control the variation in seconds by which the cacheRefresh option is changed for each pod separately. - ## For example, if cache refresh is 1 hour and variation is 15 minutes, then actual cache refresh interval - ## will be a random value between 45 minutes and 1 hour 15 minutes, different for each pod. This helps spread - ## the load on API server that the cache refresh induces. Setting this to 0 disables cache refresh variation. - cacheRefreshVariation: "900" - ## Option to control the delay with which cache refresh calls hit the api server. - ## For example, if 0 then all metadata enrichment happen immediately. Setting this to a non-zero values ensures the - ## traffic to api server is much distributed. - ## Disclaimer: Not recommended for use, if your api server read latency is > 1s - cacheRefreshApiserverRequestDelay: "0" - ## Option to disable metadata cache refresh - cacheRefreshExcludePodRegex: "" - ## Option to give plugin specific log level - pluginLogLevel: "error" - ## Option to specify K8s API versions - coreApiVersions: - - v1 - ## Option to specify K8s API groups - apiGroups: - - apps/v1 - ## Option to control the enrichment of logs and metrics with pod owner metadata like `daemonset`, `deployment`, - ## `replicaset`, `statefulset`. - addOwners: true - ## Option to control the enrichment of logs and metrics with `service` metadata. - addService: true - ## Option to specify custom API server URL instead of the default, - ## that is taken from KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT environment variables. - ## Example: "https://kubernetes.default.svc:443". - apiServerUrl: "" - - logs: - enabled: true - statefulset: - nodeSelector: {} - tolerations: [] - topologySpreadConstraints: [] - affinity: {} - ## Acceptable values for podAntiAffinity: - ## soft: specifies preferences that the scheduler will try to enforce but will not guarantee (Default) - ## hard: specifies rules that must be met for a pod to be scheduled onto a node - podAntiAffinity: "soft" - replicaCount: 3 - resources: - limits: - memory: 1Gi - cpu: 1000m - requests: - memory: 768Mi - ## Warning! Increasing the CPU requests for Fluentd above 1000m might result in broken autoscaling - ## ref: https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/fluent/best-practices.md#cpu-resources-warning - cpu: 500m - ## Option to define priorityClassName to assign a priority class to pods. - priorityClassName: - - ## Add custom labels only to logs fluentd sts pods - podLabels: {} - ## Add custom annotations only to logs fluentd sts pods - podAnnotations: {} - - ## Set securityContext for containers running in pods in logs statefulset. - containers: - fluentd: - securityContext: {} - - ## This supports either a structured array or a templatable string - initContainers: [] - - ## Array mode - # initContainers: - # - name: do-something - # image: bitnami/kubectl:1.22 - # command: ['kubectl', 'version'] - - ## String mode - # initContainers: |- - # - name: do-something - # image: bitnami/kubectl:{{ .Capabilities.KubeVersion.Major }}.{{ trimSuffix "+" .Capabilities.KubeVersion.Minor }} - # command: ['kubectl', 'version'] - - ## Option to turn autoscaling on for fluentd and specify params for HPA. - ## Autoscaling needs metrics-server to access cpu metrics. - autoscaling: - enabled: false - minReplicas: 3 - maxReplicas: 10 - targetCPUUtilizationPercentage: 100 - # targetMemoryUtilizationPercentage: 50 - - ## Option to specify PodDisrutionBudgets - ## You can specify only one of maxUnavailable and minAvailable in a single PodDisruptionBudget - podDisruptionBudget: - minAvailable: 2 - ## To use maxUnavailable, set minAvailable to null and uncomment the below: - # maxUnavailable: 1 - - rawConfig: |- - @include common.conf - @include logs.conf - - ## Configuration for the forward input plugin that receives logs from FluentBit - ## ref: https://docs.fluentd.org/input/forward - input: - ## Use to specify additional config, including transport or security options. - forwardExtraConf: |- - - ## Configuration for sumologic output plugin - ## See below links for full reference: - ## https://github.com/SumoLogic/fluentd-output-sumologic - ## https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/deploy/helm/sumologic/conf/logs/fluentd/logs.output.conf - output: - ## Option to control adding timestamp to logs. - addTimestamp: true - ## Field name when add_timestamp is on. - timestampKey: "timestamp" - ## Option to give plugin specific log level - pluginLogLevel: "error" - ## Additional config parameters for sumologic output plugin - extraConf: |- - - ## Additional config for custom log pipelines - ## ref: TODO: documentation for custom logs pipelines - extraLogs: |- - - ## Container log configuration - containers: - ## To override the entire contents of logs.source.containers.conf file. Leave empty for the default pipeline - overrideRawConfig: |- - - outputConf: |- - @include logs.output.conf - - ## Override output section for container logs. Leave empty for the default output section - overrideOutputConf: |- - - ## ref: https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter#configuration - k8sMetadataFilter: - ## Option to control the enabling of metadata filter plugin watch. - watch: "true" - ## path to CA file for Kubernetes server certificate validation - caFile: "" - ## Validate SSL certificates - verifySsl: true - ## Path to a client cert file to authenticate to the API server - clientCert: "" - ## Path to a client key file to authenticate to the API server - clientKey: "" - ## Path to a file containing the bearer token to use for authentication - bearerTokenFile: "" - ## Regex to match containers tag to `pod_name`, `namespace`, `container_name` and `docker_id`. All of them are obligatory - ## See below links for reference: - ## https://github.com/SumoLogic/sumologic-kubernetes-fluentd/blob/v1.15.3-sumo-0/fluent-plugin-kubernetes-metadata-filter/lib/fluent/plugin/filter_kubernetes_metadata.rb#L322-L325 - ## https://github.com/SumoLogic/sumologic-kubernetes-fluentd/tree/v1.15.3-sumo-0/fluent-plugin-kubernetes-metadata-filter#configuration - tagToMetadataRegexp: '.+?\.containers\.(?[^_]+)_(?[^_]+)_(?.+)-(?[a-z0-9]{64})\.log$' - - ## To use additional filter plugins - extraFilterPluginConf: |- - - ## To use additional output plugins - extraOutputPluginConf: |- - - ## To enable stiching multiline logs in fluentd when Fluent Bit Multiline feature is On - multiline: - enabled: true - - ## Kubelet log configuration - kubelet: - enabled: true - ## To use additional filter plugins - extraFilterPluginConf: |- - - ## To use additional output plugins - extraOutputPluginConf: |- - - outputConf: |- - @include logs.output.conf - - ## Override output section for kubelet logs. Leave empty for the default output section. - overrideOutputConf: |- - - ## Systemd log configuration - systemd: - enabled: true - ## To use additional filter plugins - extraFilterPluginConf: |- - - ## To use additional output plugins - extraOutputPluginConf: |- - - outputConf: |- - @include logs.output.conf - - ## Override output section for systemd logs. Leave empty for the default output section. - overrideOutputConf: |- - - ## Default log configuration (catch-all) - default: - ## To use additional filter plugins - extraFilterPluginConf: |- - - ## To use additional output plugins - extraOutputPluginConf: |- - - outputConf: |- - @include logs.output.conf - - ## Override output section for untagged logs. Leave empty for the default output section. - overrideOutputConf: |- - - ## Extra Environment Values - allows yaml definitions - # extraEnvVars: - # - name: VALUE_FROM_SECRET - # valueFrom: - # secretKeyRef: - # name: secret_name - # key: secret_key - - # extraVolumes: - # - name: es-certs - # secret: - # defaultMode: 420 - # secretName: es-certs - # extraVolumeMounts: - # - name: es-certs - # mountPath: /certs - # readOnly: true - - metrics: - enabled: true - statefulset: - nodeSelector: {} - tolerations: [] - topologySpreadConstraints: [] - affinity: {} - ## Acceptable values for podAntiAffinity: - ## soft: specifies preferences that the scheduler will try to enforce but will not guarantee (Default) - ## hard: specifies rules that must be met for a pod to be scheduled onto a node - podAntiAffinity: "soft" - replicaCount: 3 - resources: - limits: - memory: 1Gi - cpu: 1000m - requests: - memory: 768Mi - ## Warning! Increasing the CPU requests for Fluentd above 1000m might result in broken autoscaling - ## ref: https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/fluent/best-practices.md#cpu-resources-warning - cpu: 500m - ## Option to define priorityClassName to assign a priority class to pods. - priorityClassName: - - ## Add custom labels only to metrics fluentd sts pods - podLabels: {} - ## Add custom annotations only to metrics fluentd sts pods - podAnnotations: {} - - ## Set securityContext for containers running in pods in metrics statefulset. - containers: - fluentd: - securityContext: {} - - ## This supports either a structured array or a templatable string - initContainers: [] - - ## Array mode - # initContainers: - # - name: do-something - # image: bitnami/kubectl:1.22 - # command: ['kubectl', 'version'] - - ## String mode - # initContainers: |- - # - name: do-something - # image: bitnami/kubectl:{{ .Capabilities.KubeVersion.Major }}.{{ trimSuffix "+" .Capabilities.KubeVersion.Minor }} - # command: ['kubectl', 'version'] - - ## Option to turn autoscaling on for fluentd and specify params for HPA. - ## Autoscaling needs metrics-server to access cpu metrics. - autoscaling: - enabled: false - minReplicas: 3 - maxReplicas: 10 - targetCPUUtilizationPercentage: 100 - # targetMemoryUtilizationPercentage: 50 - - ## Option to specify PodDisrutionBudgets - ## You can specify only one of maxUnavailable and minAvailable in a single PodDisruptionBudget - podDisruptionBudget: - minAvailable: 2 - - rawConfig: |- - @include common.conf - @include metrics.conf - - ## Configuration for sumologic output plugin - ## See below links for full reference: - ## https://github.com/SumoLogic/fluentd-output-sumologic - ## https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/deploy/helm/sumologic/conf/metrics/fluentd/metrics.output.conf - outputConf: |- - @include metrics.output.conf - - ## Additional config parameters for sumologic output plugin - extraOutputConf: |- - - ## Override output section for metrics. Leave empty for the default output section - overrideOutputConf: |- - - ## To use additional filter plugins - extraFilterPluginConf: |- - - ## To use additional output plugins - extraOutputPluginConf: |- - - ## Extra Environment Values - allows yaml definitions - # extraEnvVars: - # - name: VALUE_FROM_SECRET - # valueFrom: - # secretKeyRef: - # name: secret_name - # key: secret_key - - # extraVolumes: - # - name: es-certs - # secret: - # defaultMode: 420 - # secretName: es-certs - # extraVolumeMounts: - # - name: es-certs - # mountPath: /certs - # readOnly: true - - ## Output configuration - ## tag: tag for fluentd match - ## id: sumologic output @id - ## endpoint: [optional] [output key by default] It should match the sumologic.collector.sources.metrics[].endpoint - ## drop: [optional] [false by default] Change it to true to drop traffic for specific output - ## weight: [optional [0 by default] Order of fluentd output (lower means higher priority) - ## The weight has meaning in case of fluentd matches - output: - apiserver: - tag: prometheus.metrics.apiserver** - id: sumologic.endpoint.metrics.apiserver - weight: 90 - kubelet: - tag: prometheus.metrics.kubelet** - id: sumologic.endpoint.metrics.kubelet - weight: 90 - container: - tag: prometheus.metrics.container** - id: sumologic.endpoint.metrics.container - source: kubelet - weight: 90 - controller: - tag: prometheus.metrics.controller-manager** - id: sumologic.endpoint.metrics.kube.controller.manager - weight: 90 - scheduler: - tag: prometheus.metrics.scheduler** - id: sumologic.endpoint.metrics.kube.scheduler - weight: 90 - state: - tag: prometheus.metrics.state** - id: sumologic.endpoint.metrics.kube.state - weight: 90 - node: - tag: prometheus.metrics.node** - id: sumologic.endpoint.metrics.node.exporter - weight: 90 - control-plane: - tag: prometheus.metrics.control-plane** - id: sumologic.endpoint.metrics.control.plane - weight: 90 - default: - tag: prometheus.metrics** - id: sumologic.endpoint.metrics - weight: 100 - - events: - statefulset: - nodeSelector: {} - tolerations: [] - affinity: {} - resources: - limits: - memory: 512Mi - cpu: 200m - requests: - memory: 256Mi - cpu: 100m - ## Option to define priorityClassName to assign a priority class to pods. - priorityClassName: - - ## Add custom labels only to events fluentd sts pods - podLabels: {} - ## Add custom annotations only to events fluentd sts pods - podAnnotations: {} - - ## Set securityContext for containers running in pods in events statefulset. - containers: - fluentd: - securityContext: {} - - ## This supports either a structured array or a templatable string - initContainers: [] - - ## Array mode - # initContainers: - # - name: do-something - # image: bitnami/kubectl:1.22 - # command: ['kubectl', 'version'] - - ## String mode - # initContainers: |- - # - name: do-something - # image: bitnami/kubectl:{{ .Capabilities.KubeVersion.Major }}.{{ trimSuffix "+" .Capabilities.KubeVersion.Minor }} - # command: ['kubectl', 'version'] - - ## Override output section for events. Leave empty for the default output section - overrideOutputConf: |- - - ## Source name for the Events source. Default: "events" - sourceName: "events" - ## Source category for the Events source. Default: "{clusterName}/events" - # sourceCategory: "kubernetes/events" - - ## Extra Environment Values - allows yaml definitions - # extraEnvVars: - # - name: VALUE_FROM_SECRET - # valueFrom: - # secretKeyRef: - # name: secret_name - # key: secret_key - - # extraVolumes: - # - name: es-certs - # secret: - # defaultMode: 420 - # secretName: es-certs - # extraVolumeMounts: - # - name: es-certs - # mountPath: /certs - # readOnly: true - ## Configure metrics-server ## ref: https://github.com/bitnami/charts/blob/master/bitnami/metrics-server/values.yaml metrics-server: ## Set the enabled flag to true for enabling metrics-server. - ## This is required before enabling fluentd autoscaling unless you have an existing metrics-server in the cluster. + ## This is required before enabling autoscaling unless you have an existing metrics-server in the cluster. enabled: false ## Put here the new name if you want to override the full name used for metrics-server components. # fullnameOverride: "" @@ -1328,201 +694,6 @@ metrics-server: # pullSecrets: # - imagepullsecret -## Configure Fluent Bit -## ref: https://github.com/fluent/helm-charts/blob/master/charts/fluent-bit/values.yaml -fluent-bit: - enabled: false - - ## Put here the new name if you want to override the full name used for Fluent Bit components. - # fullnameOverride: "" - - ## If specified, use these secrets to access the image - # imagePullSecrets: - # - name: "image-pull-secret" - image: - repository: public.ecr.aws/sumologic/fluent-bit - tag: 2.1.6 - pullPolicy: IfNotPresent - - ## Resource limits for Fluent Bit - resources: - {} - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 10m - # memory: 8Mi - - ## Uncomment the flag below to not install Fluent Bit helm chart as a dependency along with this helm chart. - ## Do not use this flag to disable logs collection. - ## Instead, set the `sumologic.logs.enabled: false` flag to disable logs collection. - ## Do not set this flag explicitly to `true` while at the same time setting `sumologic.logs.enabled: false`, - ## as this will make Fluent Bit try to write to an non-existent logs enrichment service. - # enabled: false - - ## Configuration for Fluent Bit service - service: - ## Add custom labels to Fluent Bit service - labels: - sumologic.com/scrape: "true" # label used by Fluent Bit service monitor - - ## Add custom pod labels to Fluent Bit daemonset pods - podLabels: {} - - ## Add custom pod annotations to Fluent Bit daemonset pods - podAnnotations: {} - - # nodeSelector: {} - - # priorityClassName: "" - - securityContext: - capabilities: - drop: - - ALL - ## Set securityContext of Fluent Bit daemonset containers as privileged for running in Openshift - # privileged: true - - env: - - name: METADATA_LOGS_SVC - valueFrom: - configMapKeyRef: - name: sumologic-configmap - key: metadataLogs - - name: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - tolerations: - - effect: NoSchedule - operator: Exists - - extraVolumeMounts: - - mountPath: /tail-db - name: tail-db - extraVolumes: - - hostPath: - path: /var/lib/fluent-bit - type: DirectoryOrCreate - name: tail-db - - ## https://docs.fluentbit.io/manual/administration/configuring-fluent-bit - config: - ## https://docs.fluentbit.io/manual/service - service: | - [SERVICE] - Flush 1 - Daemon Off - Log_Level info - Parsers_File parsers.conf - Parsers_File custom_parsers.conf - HTTP_Server On - HTTP_Listen 0.0.0.0 - HTTP_Port 2020 - ## https://docs.fluentbit.io/manual/pipeline/inputs - ## ref: https://github.com/SumoLogic/sumologic-kubernetes-collection/blob/main/docs/fluent/container-logs.md - inputs: | - [INPUT] - Name tail - Path /var/log/containers/*.log - Docker_Mode On - Docker_Mode_Parser multi_line - Tag containers.* - Refresh_Interval 1 - Rotate_Wait 60 - Mem_Buf_Limit 5MB - Skip_Long_Lines On - DB /tail-db/tail-containers-state-sumo.db - DB.Sync Normal - [INPUT] - Name systemd - Tag host.* - DB /tail-db/systemd-state-sumo.db - Systemd_Filter _SYSTEMD_UNIT=addon-config.service - Systemd_Filter _SYSTEMD_UNIT=addon-run.service - Systemd_Filter _SYSTEMD_UNIT=cfn-etcd-environment.service - Systemd_Filter _SYSTEMD_UNIT=cfn-signal.service - Systemd_Filter _SYSTEMD_UNIT=clean-ca-certificates.service - Systemd_Filter _SYSTEMD_UNIT=containerd.service - Systemd_Filter _SYSTEMD_UNIT=coreos-metadata.service - Systemd_Filter _SYSTEMD_UNIT=coreos-setup-environment.service - Systemd_Filter _SYSTEMD_UNIT=coreos-tmpfiles.service - Systemd_Filter _SYSTEMD_UNIT=dbus.service - Systemd_Filter _SYSTEMD_UNIT=docker.service - Systemd_Filter _SYSTEMD_UNIT=efs.service - Systemd_Filter _SYSTEMD_UNIT=etcd-member.service - Systemd_Filter _SYSTEMD_UNIT=etcd.service - Systemd_Filter _SYSTEMD_UNIT=etcd2.service - Systemd_Filter _SYSTEMD_UNIT=etcd3.service - Systemd_Filter _SYSTEMD_UNIT=etcdadm-check.service - Systemd_Filter _SYSTEMD_UNIT=etcdadm-reconfigure.service - Systemd_Filter _SYSTEMD_UNIT=etcdadm-save.service - Systemd_Filter _SYSTEMD_UNIT=etcdadm-update-status.service - Systemd_Filter _SYSTEMD_UNIT=flanneld.service - Systemd_Filter _SYSTEMD_UNIT=format-etcd2-volume.service - Systemd_Filter _SYSTEMD_UNIT=kube-node-taint-and-uncordon.service - Systemd_Filter _SYSTEMD_UNIT=kubelet.service - Systemd_Filter _SYSTEMD_UNIT=ldconfig.service - Systemd_Filter _SYSTEMD_UNIT=locksmithd.service - Systemd_Filter _SYSTEMD_UNIT=logrotate.service - Systemd_Filter _SYSTEMD_UNIT=lvm2-monitor.service - Systemd_Filter _SYSTEMD_UNIT=mdmon.service - Systemd_Filter _SYSTEMD_UNIT=nfs-idmapd.service - Systemd_Filter _SYSTEMD_UNIT=nfs-mountd.service - Systemd_Filter _SYSTEMD_UNIT=nfs-server.service - Systemd_Filter _SYSTEMD_UNIT=nfs-utils.service - Systemd_Filter _SYSTEMD_UNIT=node-problem-detector.service - Systemd_Filter _SYSTEMD_UNIT=ntp.service - Systemd_Filter _SYSTEMD_UNIT=oem-cloudinit.service - Systemd_Filter _SYSTEMD_UNIT=rkt-gc.service - Systemd_Filter _SYSTEMD_UNIT=rkt-metadata.service - Systemd_Filter _SYSTEMD_UNIT=rpc-idmapd.service - Systemd_Filter _SYSTEMD_UNIT=rpc-mountd.service - Systemd_Filter _SYSTEMD_UNIT=rpc-statd.service - Systemd_Filter _SYSTEMD_UNIT=rpcbind.service - Systemd_Filter _SYSTEMD_UNIT=set-aws-environment.service - Systemd_Filter _SYSTEMD_UNIT=system-cloudinit.service - Systemd_Filter _SYSTEMD_UNIT=systemd-timesyncd.service - Systemd_Filter _SYSTEMD_UNIT=update-ca-certificates.service - Systemd_Filter _SYSTEMD_UNIT=user-cloudinit.service - Systemd_Filter _SYSTEMD_UNIT=var-lib-etcd2.service - Max_Entries 1000 - Read_From_Tail true - filters: "" - ## NOTE: Requires trailing "." for fully-qualified name resolution - outputs: | - [OUTPUT] - Name forward - Match * - Host ${METADATA_LOGS_SVC}.${NAMESPACE}.svc.cluster.local. - Port 24321 - Retry_Limit False - tls off - tls.verify on - tls.debug 1 - # Disable keepalive for better load balancing - net.keepalive off - customParsers: | - [PARSER] - Name multi_line - Format regex - Regex (?^{"log":"\[?\d{4}-\d{1,2}-\d{1,2}.\d{2}:\d{2}:\d{2}.*) - [PARSER] - Name crio - Format regex - Regex ^(?