diff --git a/.chloggen/TEMPLATE.yaml b/.chloggen/TEMPLATE.yaml index 1e4e81cb6b..d1c422dcaf 100644 --- a/.chloggen/TEMPLATE.yaml +++ b/.chloggen/TEMPLATE.yaml @@ -1,6 +1,6 @@ # One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' change_type: -# The name of the component, or a single word describing the area of concern, (e.g. agent, clusterReceiver, gateway, networkExplorer, operator, chart, other) +# The name of the component, or a single word describing the area of concern, (e.g. agent, clusterReceiver, gateway, operator, chart, other) component: # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). note: diff --git a/.chloggen/remove-network-explorer.yaml b/.chloggen/remove-network-explorer.yaml new file mode 100644 index 0000000000..c526b7dc52 --- /dev/null +++ b/.chloggen/remove-network-explorer.yaml @@ -0,0 +1,15 @@ +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: breaking +# The name of the component, or a single word describing the area of concern, (e.g. agent, clusterReceiver, gateway, operator, chart, other) +component: networkExplorer +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Remove networkExplorer from helm chart +# One or more tracking issues related to the change +issues: [1076] +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: | + Network explorer is no longer part of this helm chart and should be installed separately. + See https://github.com/signalfx/splunk-otel-collector-chart/blob/main/docs/advanced-configuration.md#using-opentelemetry-ebpf-helm-chart-with-splunk-opentelemetry-collector-for-kubernetes + for more details. diff --git a/ci_scripts/sck_otel_values.yaml b/ci_scripts/sck_otel_values.yaml index 86bf2dfd33..408ced9f72 100644 --- a/ci_scripts/sck_otel_values.yaml +++ b/ci_scripts/sck_otel_values.yaml @@ -110,6 +110,3 @@ gateway: limits: cpu: 300m memory: 300Mi - -networkExplorer: - enabled: true diff --git a/docs/advanced-configuration.md b/docs/advanced-configuration.md index 79c8c720b5..0b4948299e 100644 --- a/docs/advanced-configuration.md +++ b/docs/advanced-configuration.md @@ -555,78 +555,6 @@ If searching for indexed fields is turned off or you are running an older versio For more information on index time field extraction please view this [guide](https://docs.splunk.com/Documentation/Splunk/latest/Data/Configureindex-timefieldextraction#Where_to_put_the_configuration_changes_in_a_distributed_environment). -## Network explorer -[Network explorer](network-explorer-architecture.md) allows you to collect network telemetry for ingest and analysis. This telemetry is sent to the Open Telemetry Collector Gateway. -To enable the network explorer, set the `enabled` flag to `true` -```yaml -networkExplorer: - enabled: true -``` - -Note: Enabling network explorer will automatically enable the Open Telemetry Collector Gateway. - -### Prerequisites -Network Explorer is only supported in Kubernetes-based environments on Linux hosts: RedHat Linux 7.6+, Ubuntu 16.04+, Debian Stretch+, Amazon Linux 2, Google COS. - -### Modifying the reducer footprint -The reducer is a single pod per Kubernetes cluster. If your cluster contains a large number of pods, nodes, and services, you can increase the resources allocated to it. - -The reducer processes telemetry in multiple stages, with each stage partitioned into one or more shards, where each shard is a separate thread. Increasing the number of shards in each stage expands the capacity of the reducer. There are three stages: ingest, matching, and aggregation. You can set between 1-32 shards for each stage. There is 1 shard per reducer stage by default. - -The following example sets the reducer to use 4 shards per stage. -```yaml -networkExplorer: - reducer: - ingestShards: 4 - matchingShards: 4 - aggregationShards: 4 -``` - -### Customize network telemetry generated by Network Explorer -Metrics can be disabled, either singly or entire categories. See the [values.yaml](https://github.com/signalfx/splunk-otel-collector-chart/blob/main/helm-charts/splunk-otel-collector/values.yaml) for a complete list of categories and metrics. - -To disable an entire category, give the category name, followed by `.all`. - -```yaml -networkExplorer: - reducer: - disableMetrics: - - tcp.all -``` - -Individual metrics can be disabled by their names. - -```yaml -networkExplorer: - reducer: - disableMetrics: - - tcp.bytes -``` - -You can mix categories and names. For example, this will disable all `http` metrics and the `udp.bytes` metric. -```yaml -networkExplorer: - reducer: - disableMetrics: - - http.all - - udp.bytes -``` - -`enableMetrics` allow you to turn back on metrics that were previously disabled. - -Note: The `disableMetrics `flag is evaluated before the `enableMetrics` flag. This allows you to disable an entire category, then re-enable the individual metrics in that category that you are interested in. - -This example disables all internal and http metrics but re-enables the `ebpf_net.collector_health` metric. -```yaml -networkExplorer: - reducer: - disableMetrics: - - http.all - - ebpf_net.all - - enableMetrics: - - ebpf_net.collector_health -``` ## Additional telemetry sources Use `autodetect` config option to enable additional telemetry sources. diff --git a/docs/network-explorer-architecture.md b/docs/network-explorer-architecture.md deleted file mode 100644 index 2ab46e5f90..0000000000 --- a/docs/network-explorer-architecture.md +++ /dev/null @@ -1,10 +0,0 @@ -# Network Explorer architecture - -Splunk OpenTelemetry Network Explorer is comprised of four components that work together to report network telemetry. These are: - -* The kernel-collector, which collects network data on each Kubernetes node. The kernel-collectors are deployed as a daemonset. -* The cloud-collector, which gathers cloud provider metadata from the cloud provider's API. -* The k8s-collector, which gathers Kubernetes metadata from the Kubertnetes API. -* The central reducer, which aggregates the data and metadata from the collectors. It sends metrics over the OpenTelemtry Protocol (OTLP) to the OpenTelemetry Collector in gateway mode. - -![Network Explorer Architecture Diagram](network-explorer-architecture.png) diff --git a/docs/network-explorer-architecture.png b/docs/network-explorer-architecture.png deleted file mode 100644 index d4fc7b2f04..0000000000 Binary files a/docs/network-explorer-architecture.png and /dev/null differ diff --git a/helm-charts/splunk-otel-collector/templates/NOTES.txt b/helm-charts/splunk-otel-collector/templates/NOTES.txt index a87556c757..a21219463e 100644 --- a/helm-charts/splunk-otel-collector/templates/NOTES.txt +++ b/helm-charts/splunk-otel-collector/templates/NOTES.txt @@ -9,9 +9,6 @@ Splunk OpenTelemetry Collector is installed and configured to send data to Splun {{- if eq (include "splunk-otel-collector.splunkO11yEnabled" .) "true" }} Splunk OpenTelemetry Collector is installed and configured to send data to Splunk Observability realm {{ include "splunk-otel-collector.o11yRealm" . }}. {{ end }} -{{- if .Values.networkExplorer.enabled }} -Splunk Network Explorer is installed and configured. -{{ end }} {{- if .Values.splunkRealm }} [WARNING] "splunkRealm" parameter is deprecated, please use "splunkObservability.realm" instead. @@ -85,7 +82,9 @@ Splunk Network Explorer is installed and configured. - Some libraries may be enabled by default. For current status, see: https://github.com/open-telemetry/opentelemetry-operator#controlling-instrumentation-capabilities - Splunk provides best-effort support for native OpenTelemetry libraries, and full support for Splunk library distributions. For used libraries, refer to the values.yaml under "operator.instrumentation.spec". {{- end }} -{{- if .Values.networkExplorer.enabled }} -[WARNING] `networkExplorer` option is deprecated and will be removed soon. - Follow https://github.com/signalfx/splunk-otel-collector-chart/blob/main/UPGRADING.md#0870-to-0880 to replace it with the upstream OpenTelemetry eBPF helm chart. +{{- if and (not (eq (toString .Values.networkExplorer) "")) .Values.networkExplorer.enabled }} +{{ fail "Network explorer is not part of this helm chart anymore. Please follow https://github.com/signalfx/splunk-otel-collector-chart/blob/main/UPGRADING.md#0870-to-0880 to replace it with the upstream OpenTelemetry eBPF helm chart." }} +{{- end }} +{{- if not (eq (toString .Values.networkExplorer) "")}} +[WARNING] `networkExplorer` option is no longer supported. Please remove it from your custom values.yaml. {{- end }} diff --git a/helm-charts/splunk-otel-collector/templates/_helpers.tpl b/helm-charts/splunk-otel-collector/templates/_helpers.tpl index 3c196e8f56..1f12c6aed9 100644 --- a/helm-charts/splunk-otel-collector/templates/_helpers.tpl +++ b/helm-charts/splunk-otel-collector/templates/_helpers.tpl @@ -351,7 +351,7 @@ Whether the gateway is enabled, either through network explorer, or through its */}} {{- define "splunk-otel-collector.gatewayEnabled" -}} {{- $gateway := fromYaml (include "splunk-otel-collector.gateway" .) }} -{{- or $gateway.enabled .Values.networkExplorer.enabled }} +{{- $gateway.enabled }} {{- end -}} {{/* diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/_helpers.tpl b/helm-charts/splunk-otel-collector/templates/network-explorer/_helpers.tpl deleted file mode 100644 index 07f45fbca2..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/_helpers.tpl +++ /dev/null @@ -1,82 +0,0 @@ -{{/* -Fully qualified app name for the kernel-collector daemonset. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "splunk-otel-collector-kernel-collector.fullname" -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- printf "%s-kernel-collector" .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s-kernel-collector" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Create the name of the service account to use for the kernel-collector -*/}} -{{- define "splunk-otel-collector-kernel-collector.serviceAccountName" -}} -{{- if .Values.networkExplorer.kernelCollector.serviceAccount.create }} -{{- default (include "splunk-otel-collector-kernel-collector.fullname" .) .Values.networkExplorer.kernelCollector.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.networkExplorer.kernelCollector.serviceAccount.name }} -{{- end }} -{{- end }} - -{{/* -Fully qualified app name for the k8s-collector deployment. -*/}} -{{- define "splunk-otel-collector-k8s-collector.fullname" -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- printf "%s-k8s-collector" .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s-k8s-collector" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Create the name of the service account to use for the k8s-collector -*/}} -{{- define "splunk-otel-collector-k8s-collector.serviceAccountName" -}} -{{- if .Values.networkExplorer.k8sCollector.serviceAccount.create }} -{{- default (include "splunk-otel-collector-k8s-collector.fullname" .) .Values.networkExplorer.k8sCollector.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.networkExplorer.k8sCollector.serviceAccount.name }} -{{- end }} -{{- end }} - -{{/* -Fully qualified app name for the cloud-collector deployment. -*/}} -{{- define "splunk-otel-collector-cloud-collector.fullname" -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- printf "%s-cloud-collector" .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s-cloud-collector" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Create the name of the service account to use for the cloud-collector -*/}} -{{- define "splunk-otel-collector-cloud-collector.serviceAccountName" -}} -{{- if .Values.networkExplorer.cloudCollector.serviceAccount.create }} -{{- default (include "splunk-otel-collector-cloud-collector.fullname" .) .Values.networkExplorer.cloudCollector.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.networkExplorer.cloudCollector.serviceAccount.name }} -{{- end }} -{{- end }} - -{{/* -Fully qualified app name for the reducer deployment. -*/}} -{{- define "splunk-otel-collector-reducer.fullname" -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- printf "%s-reducer" .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s-reducer" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/cloud-collector-deployment.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/cloud-collector-deployment.yaml deleted file mode 100644 index 5288cea762..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/cloud-collector-deployment.yaml +++ /dev/null @@ -1,122 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.cloudCollector.enabled }} -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "splunk-otel-collector-cloud-collector.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-cloud-collector.fullname" . }} - helm.sh/chart: {{ include "splunk-otel-collector.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - progressDeadlineSeconds: 600 - replicas: 1 - revisionHistoryLimit: 3 - selector: - matchLabels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-cloud-collector.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - strategy: - type: RollingUpdate - template: - metadata: - annotations: - # This is here to allow us to do "zero-downtime" updates without an image change. - rollingUpdateVersion: "1" - charts.flowmill.com/version: {{ .Chart.Version }} - labels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-cloud-collector.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - spec: -{{- if .Values.networkExplorer.imagePullSecrets }} - imagePullSecrets: -{{- range .Values.networkExplorer.imagePullSecrets }} - - name: {{ . }} -{{- end }} -{{- end }} - containers: - - image: "{{ default .Values.networkExplorer.images.repository .Values.networkExplorer.cloudCollector.image.repository }}/{{ .Values.networkExplorer.cloudCollector.image.name }}:{{ default .Values.networkExplorer.images.tag .Values.networkExplorer.cloudCollector.image.tag }}" - imagePullPolicy: {{ .Values.networkExplorer.images.pullPolicy }} - name: cloud-collector -{{- if hasKey .Values.networkExplorer.cloudCollector "resources" }} - resources: -{{ toYaml .Values.networkExplorer.cloudCollector.resources | indent 10 }} -{{- end }} - args: -{{- if .Values.networkExplorer.log.console }} - - --log-console -{{- end }} -{{- if hasKey .Values.networkExplorer.log "level" }} - - --{{ .Values.networkExplorer.log.level }} -{{- end }} -{{- if hasKey .Values.networkExplorer.cloudCollector "log" -}} -{{- if hasKey .Values.networkExplorer.cloudCollector.log "whitelist" }} -{{- if hasKey .Values.networkExplorer.cloudCollector.log.whitelist "channel" }} - - --log-whitelist-channel={{ .Values.networkExplorer.cloudCollector.log.whitelist.channel }} -{{- end }} -{{- if hasKey .Values.networkExplorer.cloudCollector.log.whitelist "component" }} - - --log-whitelist-component={{ .Values.networkExplorer.cloudCollector.log.whitelist.component }} -{{- end }} -{{- if hasKey .Values.networkExplorer.cloudCollector.log.whitelist "cloudPlatform" }} - - --log-whitelist-cloud-platform={{ .Values.networkExplorer.cloudCollector.log.whitelist.cloudPlatform }} -{{- end }} -{{- end }} -{{- end }} -{{- if .Values.networkExplorer.cloudCollector.additionalArgs }} -{{ toYaml .Values.networkExplorer.cloudCollector.additionalArgs | indent 10 }} -{{- end }} - env: - - name: "EBPF_NET_CLUSTER_NAME" - value: {{ quote .Values.clusterName }} -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.enabled) }} - - name: "EBPF_NET_DEBUG_MODE" - value: "true" -{{- end }} -{{- end }} -{{- if (default false .Values.networkExplorer.cloudCollector.runUnderGDB) }} - - name: "EBPF_NET_RUN_UNDER_GDB" - value: "gdb" -{{- end }} - - name: "EBPF_NET_INTAKE_HOST" - value: {{ include "splunk-otel-collector-reducer.fullname" . }} - - name: "EBPF_NET_INTAKE_PORT" - value: "{{ default 7000 .Values.networkExplorer.reducer.telemetryPort }}" -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - name: "EBPF_NET_MINIDUMP_DIR" - value: "/hostfs/var/run/network-explorer/minidump" -{{- end }} -{{- end }} -{{- if .Values.networkExplorer.cloudCollector.env }} -{{ toYaml .Values.networkExplorer.cloudCollector.env | indent 10 }} -{{- end }} -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - volumeMounts: - - mountPath: /hostfs/var/run/network-explorer - name: host-var-run-network-explorer - readOnly: false - volumes: - - name: host-var-run-network-explorer - hostPath: - path: /var/run/network-explorer - type: DirectoryOrCreate -{{- end }} -{{- end }} - terminationGracePeriodSeconds: 30 - securityContext: {} - serviceAccountName: {{ include "splunk-otel-collector-cloud-collector.serviceAccountName" . }} - {{- with .Values.networkExplorer.cloudCollector.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8}} - {{- end }} - {{- with .Values.networkExplorer.cloudCollector.affinity }} - affinity: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.networkExplorer.cloudCollector.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} -{{- end }} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/cloud-collector-serviceaccount.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/cloud-collector-serviceaccount.yaml deleted file mode 100644 index 1d48e6ef52..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/cloud-collector-serviceaccount.yaml +++ /dev/null @@ -1,13 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.cloudCollector.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - annotations: - eks.amazonaws.com/role-arn: {{ .Values.networkExplorer.cloudCollector.serviceAccount.iamRole }} - labels: - app: {{ include "splunk-otel-collector-cloud-collector.fullname" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} - name: {{ include "splunk-otel-collector-cloud-collector.serviceAccountName" . }} -{{- end -}} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/configmap.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/configmap.yaml deleted file mode 100644 index 58be404373..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/configmap.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{- if .Values.networkExplorer.enabled}} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "splunk-otel-collector.fullname" . }}-config - namespace: {{ .Release.Namespace | quote }} -data: - config.yaml: | - labels: - environment: {{ .Values.clusterName }} -{{- end }} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-clusterrole.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-clusterrole.yaml deleted file mode 100644 index 8b7f25eeab..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-clusterrole.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.rbac.create -}} -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} - name: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} -rules: -- apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - watch -- apiGroups: - - apps - resources: - - replicasets - verbs: - - get - - list - - watch -{{- end -}} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-clusterrolebinding.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-clusterrolebinding.yaml deleted file mode 100644 index 45fbd2cbec..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-clusterrolebinding.yaml +++ /dev/null @@ -1,19 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.rbac.create -}} -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} - name: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} -subjects: -- kind: ServiceAccount - name: {{ include "splunk-otel-collector-k8s-collector.serviceAccountName" . }} - namespace: {{ .Release.Namespace }} -{{- end -}} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-deployment.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-deployment.yaml deleted file mode 100644 index 0514eab7bc..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-deployment.yaml +++ /dev/null @@ -1,164 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.k8sCollector.enabled }} -{{ $gateway := fromYaml (include "splunk-otel-collector.gateway" .) }} -# The k8s-collector consists of two services: -# 1) k8s-watcher: talks to the Kubernetes API server to determine the current state of -# the cluster; sets up watches to be notified of subsequent changes to pods, services -# and other resources. -# 2) k8s-relay: relays the information collected by k8s-watcher to the reducer. -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} - helm.sh/chart: {{ include "splunk-otel-collector.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - progressDeadlineSeconds: 600 - replicas: 1 - revisionHistoryLimit: 3 - selector: - matchLabels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - strategy: - type: RollingUpdate - template: - metadata: - annotations: - # This is here to allow us to do "zero-downtime" updates without an image change. - rollingUpdateVersion: "1" - charts.flowmill.com/version: {{ .Chart.Version }} - labels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - spec: -{{- if .Values.networkExplorer.imagePullSecrets }} - imagePullSecrets: -{{- range .Values.networkExplorer.imagePullSecrets }} - - name: {{ . }} -{{- end }} -{{- end }} - containers: - - image: "{{ default .Values.networkExplorer.images.repository .Values.networkExplorer.k8sCollector.watcher.image.repository }}/{{ .Values.networkExplorer.k8sCollector.watcher.image.name }}:{{ default .Values.networkExplorer.images.tag .Values.networkExplorer.k8sCollector.watcher.image.tag }}" - imagePullPolicy: {{ .Values.networkExplorer.images.pullPolicy }} - name: k8s-watcher -{{- if hasKey .Values.networkExplorer.k8sCollector.watcher "resources" }} - resources: -{{ toYaml .Values.networkExplorer.k8sCollector.watcher.resources | indent 10 }} -{{- end }} - args: - - --log-console - {{- if hasKey .Values.networkExplorer.log "level" }} - - --log-level={{ .Values.networkExplorer.log.level }} - {{- end }} - # k8s-relay, which is a service that the k8s-watcher talks to. - # Currently not configurable, has to be reachable on localhost:8172, so must - # share a pod with the k8s-watcher above. - - image: "{{ default .Values.networkExplorer.images.repository .Values.networkExplorer.k8sCollector.relay.image.repository }}/{{ .Values.networkExplorer.k8sCollector.relay.image.name }}:{{ default .Values.networkExplorer.images.tag .Values.networkExplorer.k8sCollector.relay.image.tag }}" - imagePullPolicy: {{ .Values.networkExplorer.images.pullPolicy }} - name: k8s-relay -{{- if hasKey .Values.networkExplorer.k8sCollector.relay "resources" }} - resources: -{{ toYaml .Values.networkExplorer.k8sCollector.relay.resources | indent 10 }} -{{- end }} - args: - - --config-file=/etc/network-explorer/config.yaml -{{- if .Values.networkExplorer.log.console }} - - --log-console -{{- end }} -{{- if hasKey .Values.networkExplorer.log "level" }} - - --{{ .Values.networkExplorer.log.level }} -{{- end }} -{{- if hasKey .Values.networkExplorer.k8sCollector.relay "log" -}} -{{- if hasKey .Values.networkExplorer.k8sCollector.relay.log "whitelist" }} -{{- if hasKey .Values.networkExplorer.k8sCollector.relay.log.whitelist "channel" }} - - --log-whitelist-channel={{ .Values.networkExplorer.k8sCollector.relay.log.whitelist.channel }} -{{- end }} -{{- if hasKey .Values.networkExplorer.k8sCollector.relay.log.whitelist "component" }} - - --log-whitelist-component={{ .Values.networkExplorer.k8sCollector.relay.log.whitelist.component }} -{{- end }} -{{- if hasKey .Values.networkExplorer.k8sCollector.relay.log.whitelist "cloudPlatform" }} - - --log-whitelist-cloud-platform={{ .Values.networkExplorer.k8sCollector.relay.log.whitelist.cloudPlatform }} -{{- end }} -{{- end }} -{{- end }} -{{- if .Values.networkExplorer.k8sCollector.relay.additionalArgs }} -{{ toYaml .Values.networkExplorer.k8sCollector.relay.additionalArgs | indent 10 }} -{{- end }} - env: - - name: "EBPF_NET_CLUSTER_NAME" - value: {{ quote .Values.clusterName }} -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.enabled) }} - - name: "EBPF_NET_DEBUG_MODE" - value: "true" -{{- end }} -{{- end }} -{{- if (default false .Values.networkExplorer.k8sCollector.relay.runUnderGDB) }} - - name: "EBPF_NET_RUN_UNDER_GDB" - value: "gdb" -{{- end }} - - name: "EBPF_NET_INTAKE_HOST" - value: {{ include "splunk-otel-collector-reducer.fullname" . }} - - name: "EBPF_NET_INTAKE_PORT" - value: "{{ default 7000 .Values.networkExplorer.reducer.telemetryPort }}" -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - name: "EBPF_NET_MINIDUMP_DIR" - value: "/hostfs/var/run/network-explorer/minidump" -{{- end }} -{{- end }} -{{- if .Values.networkExplorer.debug.sendUnplannedExitMetric }} - - name: "EBPF_NET_CRASH_METRIC_HOST" - value: {{quote (include "splunk-otel-collector.gatewayServiceName" .) }} - - name: "EBPF_NET_CRASH_METRIC_PORT" - value: {{quote ($gateway.ports.otlp.containerPort) }} -{{- end }} -{{- if .Values.networkExplorer.k8sCollector.relay.env }} -{{ toYaml .Values.networkExplorer.k8sCollector.relay.env | indent 10 }} -{{- end }} - volumeMounts: - - mountPath: /etc/network-explorer - name: k8s-relay-config -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - mountPath: /hostfs/var/run/network-explorer - name: host-var-run-network-explorer - readOnly: false -{{- end }} -{{- end }} - terminationGracePeriodSeconds: 30 - volumes: -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - name: host-var-run-network-explorer - hostPath: - path: /var/run/network-explorer - type: DirectoryOrCreate -{{- end }} -{{- end }} - - name: k8s-relay-config - projected: - sources: - - configMap: - name: {{ include "splunk-otel-collector.fullname" . }}-config - items: - - key: config.yaml - path: config.yaml - securityContext: {} - serviceAccountName: {{ include "splunk-otel-collector-k8s-collector.serviceAccountName" . }} - {{- with .Values.networkExplorer.k8sCollector.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8}} - {{- end }} - {{- with .Values.networkExplorer.k8sCollector.affinity }} - affinity: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.networkExplorer.k8sCollector.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} -{{- end }} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-serviceaccount.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-serviceaccount.yaml deleted file mode 100644 index b8a152f2d7..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/k8s-collector-serviceaccount.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.k8sCollector.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app: {{ include "splunk-otel-collector-k8s-collector.fullname" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} - name: {{ include "splunk-otel-collector-k8s-collector.serviceAccountName" . }} -{{- end -}} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-clusterrole.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-clusterrole.yaml deleted file mode 100644 index 94a93a6825..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-clusterrole.yaml +++ /dev/null @@ -1,30 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.rbac.create -}} -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} - name: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} -rules: -{{- if eq (include "splunk-otel-collector.distribution" .) "openshift" }} -- apiGroups: - - quota.openshift.io - resources: - - clusterresourcequotas - verbs: - - get - - list - - watch -{{- end }} -- apiGroups: - - policy - resourceNames: - - {{ include "splunk-otel-collector-kernel-collector.fullname" . }} - resources: - - podsecuritypolicies - verbs: - - use -{{- end -}} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-clusterrolebinding.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-clusterrolebinding.yaml deleted file mode 100644 index eefce4f09f..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-clusterrolebinding.yaml +++ /dev/null @@ -1,19 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.rbac.create -}} -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} - name: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} -subjects: -- kind: ServiceAccount - name: {{ include "splunk-otel-collector-kernel-collector.serviceAccountName" . }} - namespace: {{ .Release.Namespace }} -{{- end -}} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-daemonset.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-daemonset.yaml deleted file mode 100644 index 23d221eec7..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-daemonset.yaml +++ /dev/null @@ -1,202 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.kernelCollector.enabled }} -{{ $gateway := fromYaml (include "splunk-otel-collector.gateway" .) }} -# kernel collector daemonset: deploys the kernel collector to each node in the cluster. -# The kernel collector needs to be able to compile and install -# eBPF programs in the node's kernel, so needs to run as root and -# needs to mount /lib/modules and /usr/src from the node itself. -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} - annotations: - labels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} - helm.sh/chart: {{ include "splunk-otel-collector.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - selector: - matchLabels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - annotations: - release_number: "3" - charts.flowmill.com/version: {{ .Chart.Version }} - labels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - spec: -{{- if .Values.networkExplorer.imagePullSecrets }} - imagePullSecrets: -{{- range .Values.networkExplorer.imagePullSecrets }} - - name: {{ . }} -{{- end }} -{{- end }} - containers: - - name: kernel-collector - image: "{{ default .Values.networkExplorer.images.repository .Values.networkExplorer.kernelCollector.image.repository }}/{{ .Values.networkExplorer.kernelCollector.image.name }}:{{ default .Values.networkExplorer.images.tag .Values.networkExplorer.kernelCollector.image.tag }}" - imagePullPolicy: {{ .Values.networkExplorer.images.pullPolicy }} - args: - - --config-file=/etc/network-explorer/config.yaml -{{- if .Values.networkExplorer.kernelCollector.bpfDumpFile }} - - --bpf-dump-file={{ .Values.networkExplorer.kernelCollector.bpfDumpFile }} -{{- end }} -{{- if (default false .Values.networkExplorer.kernelCollector.useDockerMetadata) }} - - --force-docker-metadata -{{- end }} -{{- if not (default false .Values.networkExplorer.kernelCollector.collectNomadMetadata) }} - - --disable-nomad-metadata -{{- end }} -{{- if .Values.networkExplorer.kernelCollector.userlandTcp }} - - --enable-userland-tcp -{{- end }} -{{- if .Values.networkExplorer.log.console }} - - --log-console -{{- end }} -{{- if hasKey .Values.networkExplorer.log "level" }} - - --{{ .Values.networkExplorer.log.level }} -{{- end }} -{{- if hasKey .Values.networkExplorer.kernelCollector "log" }} -{{- if hasKey .Values.networkExplorer.kernelCollector.log "whitelist" }} -{{- if hasKey .Values.networkExplorer.kernelCollector.log.whitelist "agentLog" }} - - --log-whitelist-agent-log={{ .Values.networkExplorer.kernelCollector.log.whitelist.agentLog }} -{{- end }} -{{- if hasKey .Values.networkExplorer.kernelCollector.log.whitelist "channel" }} - - --log-whitelist-channel={{ .Values.networkExplorer.kernelCollector.log.whitelist.channel }} -{{- end }} -{{- if hasKey .Values.networkExplorer.kernelCollector.log.whitelist "component" }} - - --log-whitelist-component={{ .Values.networkExplorer.kernelCollector.log.whitelist.component }} -{{- end }} -{{- if hasKey .Values.networkExplorer.kernelCollector.log.whitelist "cloudPlatform" }} - - --log-whitelist-cloud-platform={{ .Values.networkExplorer.kernelCollector.log.whitelist.cloudPlatform }} -{{- end }} -{{- end }} -{{- end }} -{{- if .Values.networkExplorer.kernelCollector.additionalArgs }} -{{ toYaml .Values.networkExplorer.kernelCollector.additionalArgs | indent 12 }} -{{- end }} - # TODO: liveness probe - env: - - name: "EBPF_NET_CLUSTER_NAME" - value: {{ quote .Values.clusterName }} -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.enabled) }} - - name: "EBPF_NET_DEBUG_MODE" - value: "true" -{{- end }} -{{- end }} - - name: "EBPF_NET_DISABLE_HTTP_METRICS" - value: {{ quote (default false .Values.networkExplorer.kernelCollector.disableHttpMetrics) }} -{{- if (default false .Values.networkExplorer.kernelCollector.runUnderGDB) }} - - name: "EBPF_NET_RUN_UNDER_GDB" - value: "gdb" -{{- end }} - - name: "EBPF_NET_KERNEL_HEADERS_AUTO_FETCH" - value: {{ quote (default true .Values.networkExplorer.kernelCollector.fetchKernelHeaders) }} - - name: "EBPF_NET_INTAKE_HOST" - value: {{ include "splunk-otel-collector-reducer.fullname" . }} - - name: "EBPF_NET_INTAKE_PORT" - value: "{{ default 7000 .Values.networkExplorer.reducer.telemetryPort }}" -{{- if .Values.networkExplorer.kernelCollector.exportBpfSrcFile }} - - name: "EBPF_NET_EXPORT_BPF_SRC_FILE" - value: {{ quote .Values.networkExplorer.kernelCollector.exportBpfSrcFile }} -{{- end }} - - name: "EBPF_NET_HOST_DIR" - value: "/hostfs" -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - name: "EBPF_NET_MINIDUMP_DIR" - value: "/hostfs/var/run/network-explorer/minidump" -{{- end }} -{{- end }} -{{- if .Values.networkExplorer.debug.sendUnplannedExitMetric }} - - name: "EBPF_NET_CRASH_METRIC_HOST" - value: {{quote (include "splunk-otel-collector.gatewayServiceName" .) }} - - name: "EBPF_NET_CRASH_METRIC_PORT" - value: {{quote ($gateway.ports.otlp.containerPort) }} -{{- end }} -{{- if .Values.networkExplorer.kernelCollector.env }} -{{ toYaml .Values.networkExplorer.kernelCollector.env | indent 12 }} -{{- end }} -{{- if hasKey .Values.networkExplorer.kernelCollector "resources" }} - resources: -{{ toYaml .Values.networkExplorer.kernelCollector.resources | indent 12 }} -{{- end }} - securityContext: - privileged: true - volumeMounts: - - mountPath: /hostfs/ - name: host-root - readOnly: true -{{- if (default true .Values.networkExplorer.kernelCollector.fetchKernelHeaders) }} - - mountPath: /hostfs/var/cache - name: host-var-cache - readOnly: false -{{- end }} - - mountPath: /etc/network-explorer - name: {{ include "splunk-otel-collector.fullname" . }}-config - readOnly: true -{{- if (default false .Values.networkExplorer.kernelCollector.useDockerMetadata) }} - - mountPath: /var/run/docker.sock - name: docker-sock - readOnly: false -{{- end }} -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - mountPath: /hostfs/var/run/network-explorer - name: host-var-run-network-explorer - readOnly: false -{{- end }} -{{- end }} - dnsPolicy: ClusterFirstWithHostNet - hostNetwork: true - hostPID: true - serviceAccountName: {{ include "splunk-otel-collector-kernel-collector.serviceAccountName" . }} - volumes: - - name: {{ include "splunk-otel-collector.fullname" . }}-config - projected: - sources: - - configMap: - name: {{ include "splunk-otel-collector.fullname" . }}-config - items: - - key: config.yaml - path: config.yaml - - name: host-root - hostPath: - path: / - type: Directory -{{- if (default true .Values.networkExplorer.kernelCollector.fetchKernelHeaders) }} - - name: host-var-cache - hostPath: - path: /var/cache - type: DirectoryOrCreate -{{- end }} -{{- if hasKey .Values "debug" }} -{{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - name: host-var-run-network-explorer - hostPath: - path: /var/run/network-explorer - type: DirectoryOrCreate -{{- end }} -{{- end }} -{{- if (default false .Values.networkExplorer.kernelCollector.useDockerMetadata) }} - - name: docker-sock - hostPath: - path: /var/run/docker.sock - type: Socket -{{- end }} - {{- with .Values.networkExplorer.kernelCollector.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.networkExplorer.kernelCollector.affinity }} - affinity: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.networkExplorer.kernelCollector.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} -{{- end }} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-serviceaccount.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-serviceaccount.yaml deleted file mode 100644 index e0658cfbd4..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/kernel-collector-serviceaccount.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{- if and .Values.networkExplorer.enabled .Values.networkExplorer.kernelCollector.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app: {{ include "splunk-otel-collector-kernel-collector.fullname" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} - name: {{ include "splunk-otel-collector-kernel-collector.serviceAccountName" . }} -{{- end -}} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/reducer-deployment.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/reducer-deployment.yaml deleted file mode 100644 index fcccfba183..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/reducer-deployment.yaml +++ /dev/null @@ -1,122 +0,0 @@ -{{- if .Values.networkExplorer.enabled}} -{{ $gateway := fromYaml (include "splunk-otel-collector.gateway" .) }} -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "splunk-otel-collector-reducer.fullname" . }} - labels: - helm.sh/chart: {{ include "splunk-otel-collector.chart" . }} - app.kubernetes.io/name: {{ include "splunk-otel-collector-reducer.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-reducer.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - annotations: - rollingUpdateVersion: "1" - labels: - app.kubernetes.io/name: {{ include "splunk-otel-collector-reducer.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - spec: -{{- if .Values.networkExplorer.imagePullSecrets }} - imagePullSecrets: -{{- range .Values.networkExplorer.imagePullSecrets }} - - name: {{ . }} -{{- end }} -{{- end }} - containers: - - name: reducer - image: "{{ default .Values.networkExplorer.images.repository .Values.networkExplorer.reducer.image.repository }}/{{ .Values.networkExplorer.reducer.image.name }}:{{ default .Values.networkExplorer.images.tag .Values.networkExplorer.reducer.image.tag }}" - imagePullPolicy: {{ .Values.networkExplorer.images.pullPolicy }} - args: - - --port={{- .Values.networkExplorer.reducer.telemetryPort }} - - --log-console - - --no-log-file - {{- if hasKey .Values.networkExplorer.log "level" }} - - --{{ .Values.networkExplorer.log.level }} - {{- end }} - - --enable-aws-enrichment - - --disable-prometheus-metrics - - --enable-otlp-grpc-metrics - - --otlp-grpc-metrics-host={{ include "splunk-otel-collector.gatewayServiceName" . }} - - --otlp-grpc-metrics-port={{ $gateway.ports.otlp.containerPort }} - {{- if .Values.networkExplorer.reducer.disableMetrics }} - - --disable-metrics={{join "," .Values.networkExplorer.reducer.disableMetrics}} - {{- end }} - {{- if .Values.networkExplorer.reducer.enableMetrics }} - - --enable-metrics={{join "," .Values.networkExplorer.reducer.enableMetrics}} - {{- end }} - {{- if .Values.networkExplorer.reducer.ingestShards }} - - --num-ingest-shards={{- .Values.networkExplorer.reducer.ingestShards }} - {{- end }} - {{- if .Values.networkExplorer.reducer.matchingShards }} - - --num-matching-shards={{- .Values.networkExplorer.reducer.matchingShards }} - {{- end }} - {{- if .Values.networkExplorer.reducer.aggregationShards }} - - --num-aggregation-shards={{- .Values.networkExplorer.reducer.aggregationShards }} - {{- end }} - {{- if .Values.networkExplorer.reducer.additionalArgs }} - {{- toYaml .Values.networkExplorer.reducer.additionalArgs | nindent 12 }} - {{- end }} - env: - {{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - name: "EBPF_NET_MINIDUMP_DIR" - value: "/hostfs/var/run/network-explorer/minidump" - {{- end }} - {{- if .Values.networkExplorer.debug.sendUnplannedExitMetric }} - - name: "EBPF_NET_CRASH_METRIC_HOST" - value: {{quote (include "splunk-otel-collector.gatewayServiceName" .) }} - - name: "EBPF_NET_CRASH_METRIC_PORT" - value: {{quote ($gateway.ports.otlp.containerPort) }} - {{- end }} - ports: - - name: telemetry - containerPort: {{ .Values.networkExplorer.reducer.telemetryPort }} - protocol: TCP - {{- if not .Values.networkExplorer.reducer.disableInternalMetrics }} - - name: stats - containerPort: {{ .Values.networkExplorer.reducer.statsPromPort }} - protocol: TCP - {{- end }} - volumeMounts: - {{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - mountPath: /hostfs/var/run/network-explorer - name: host-var-run-network-explorer - readOnly: false - {{- end }} - readinessProbe: - initialDelaySeconds: 5 - periodSeconds: 20 - timeoutSeconds: 5 - exec: - command: ['/srv/health_check.sh', 'readiness_probe', 'localhost', {{ quote .Values.networkExplorer.reducer.telemetryPort }}] - resources: - {{- toYaml .Values.networkExplorer.resources | nindent 12 }} - {{- with .Values.networkExplorer.reducer.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.networkExplorer.reducer.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.networkExplorer.reducer.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} - volumes: - {{- if (default false .Values.networkExplorer.debug.storeMinidump) }} - - name: host-var-run-network-explorer - hostPath: - path: /var/run/network-explorer - type: DirectoryOrCreate - {{- end }} -{{- end }} diff --git a/helm-charts/splunk-otel-collector/templates/network-explorer/reducer-service.yaml b/helm-charts/splunk-otel-collector/templates/network-explorer/reducer-service.yaml deleted file mode 100644 index d4ae1b290c..0000000000 --- a/helm-charts/splunk-otel-collector/templates/network-explorer/reducer-service.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if .Values.networkExplorer.enabled}} -apiVersion: v1 -kind: Service -metadata: - name: {{ include "splunk-otel-collector-reducer.fullname" . }} - labels: - helm.sh/chart: {{ include "splunk-otel-collector.chart" . }} - app.kubernetes.io/name: {{ include "splunk-otel-collector-reducer.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - type: ClusterIP - selector: - app.kubernetes.io/name: {{ include "splunk-otel-collector-reducer.fullname" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - ports: - - name: telemetry - port: {{ .Values.networkExplorer.reducer.telemetryPort }} - targetPort: telemetry - protocol: TCP - {{- if not .Values.networkExplorer.reducer.disableInternalMetrics }} - - name: stats - port: {{ .Values.networkExplorer.reducer.statsPromPort }} - targetPort: stats - protocol: TCP - {{- end }} -{{- end }} diff --git a/helm-charts/splunk-otel-collector/values.schema.json b/helm-charts/splunk-otel-collector/values.schema.json index a00d64bbf2..8617bd4d3f 100644 --- a/helm-charts/splunk-otel-collector/values.schema.json +++ b/helm-charts/splunk-otel-collector/values.schema.json @@ -1384,114 +1384,8 @@ "deprecated": true }, "networkExplorer": { - "description": "Splunk Network Explorer Configuration", - "type": "object", - "additionalProperties": false, - "properties": { - "enabled": { - "description": "Enable network explorer", - "type": "boolean" - }, - "images": { - "description": "images", - "type": "object", - "additionalProperties": false, - "properties": { - "tag": { - "type": "string" - }, - "repository": { - "type": "string" - }, - "pullPolicy": { - "type": "string", - "enum": [ - "IfNotPresent", - "Always", - "Never" - ] - } - } - }, - "imagePullSecrets": { - "type": "array", - "items": { - "type": "string" - } - }, - "log": { - "type": "object", - "additionalProperties": false, - "properties": { - "console": { - "type": "boolean" - }, - "level": { - "type": "string", - "enum": [ - "error", - "warning", - "info", - "debug", - "trace" - ] - } - } - }, - "debug": { - "type": "object", - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "storeMinidump": { - "type": "boolean" - }, - "sendUnplannedExitMetric": { - "type": "boolean" - } - } - }, - "kernelCollector": { - "type": "object", - "additionalProperties": true - }, - "cloudCollector": { - "type": "object", - "additionalProperties": true - }, - "k8sCollector": { - "type": "object", - "additionalProperties": true - }, - "reducer": { - "type": "object", - "additionalProperties": true - }, - "rbac": { - "type": "object", - "additionalProperties": false, - "properties": { - "create": { - "type": "boolean" - } - } - }, - "podSecurityPolicy": { - "type": "object", - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "annotations": { - "type": "object", - "additionalProperties": true - } - } - } - } + "deprecated": true, + "additionalProperties": true }, "operator": { "description": "OpenTelemetry Operator configuration. A subchart that is used to install the operator, see https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-operator/values.schema.json for more info.", diff --git a/helm-charts/splunk-otel-collector/values.yaml b/helm-charts/splunk-otel-collector/values.yaml index 8ffee047f4..084f18a047 100644 --- a/helm-charts/splunk-otel-collector/values.yaml +++ b/helm-charts/splunk-otel-collector/values.yaml @@ -1131,263 +1131,6 @@ service: # Service annotations annotations: {} -################################################################################ -# [DEPRECATED] Configuration section for Network Explorer (disabled by default). -# Follow https://github.com/signalfx/splunk-otel-collector-chart/blob/main/UPGRADING.md#0870-to-0880 -# to replace it with the upstream OpenTelemetry eBPF helm chart. -################################################################################ - -networkExplorer: - enabled: false - images: - tag: latest-v0.9 - repository: quay.io/signalfx - pullPolicy: Always - - imagePullSecrets: [] - - log: - console: false - # possible values: { error | warning | info | debug | trace } - level: warning - - debug: - enabled: false - storeMinidump: false - sendUnplannedExitMetric: true - - kernelCollector: - enabled: true - image: - name: splunk-network-explorer-kernel-collector - # tag: latest-v0.9 - # repository: quay.io/signalfx - nodeSelector: {} - disableHttpMetrics: false - - serviceAccount: - create: false - name: "" - - tolerations: - - operator: "Exists" - effect: "NoExecute" - - operator: "Exists" - effect: "NoSchedule" - - affinity: {} - resources: {} - - # uncomment the line below to disable automatic kernel headers fetching - # fetchKernelHeaders: false - - # uncomment to enable enrichment using Docker metadata - # useDockerMetadata: true - - # uncomment to enable enrichment using Nomad metadata (https://www.nomadproject.io/) - # collectNomadMetadata: true - - cloudCollector: - enabled: false - image: - name: splunk-network-explorer-cloud-collector - # tag: latest-v0.9 - # repository: quay.io/signalfx - serviceAccount: - create: false - name: "" - iamRole: "" - - k8sCollector: - enabled: true - relay: - image: - name: splunk-network-explorer-k8s-relay - # tag: latest-v0.9 - # repository: quay.io/signalfx - watcher: - image: - name: splunk-network-explorer-k8s-watcher - # tag: latest-v0.9 - # repository: quay.io/signalfx - serviceAccount: - create: false - name: "" - - reducer: - ingestShards: 1 - matchingShards: 1 - aggregationShards: 1 - disableInternalMetrics: true - disableMetrics: [] - ### to disable an entire metric category: ### - # - tcp.all - # - udp.all - # - dns.all - # - http.all - ### to disable an individual metric: ### - ### tcp ### - # - tcp.bytes - # - tcp.rtt.num_measurements - # - tcp.active - # - tcp.rtt.average - # - tcp.packets - # - tcp.retrans - # - tcp.syn_timeouts - # - tcp.new_sockets - # - tcp.resets - ### udp ### - # - udp.bytes - # - udp.packets - # - udp.active - # - udp.drops - ### dns ### - # - dns.client.duration.average - # - dns.server.duration.average - # - dns.active_sockets - # - dns.responses - # - dns.timeouts - ### http ## - # - http.client.duration.average - # - http.server.duration.average - # - http.active_sockets - # - http.status_code - ### ebpf_net ## - # - ebpf_net.span_utilization_fraction - # - ebpf_net.pipeline_metric_bytes_discarded - # - ebpf_net.codetiming_min_ns - # - ebpf_net.entrypoint_info - # - ebpf_net.otlp_grpc.requests_sent - # - ebpf_net.connections - # - ebpf_net.rpc_queue_elem_utilization_fraction - # - ebpf_net.disconnects - # - ebpf_net.codetiming_avg_ns - # - ebpf_net.client_handle_pool - # - ebpf_net.otlp_grpc.successful_requests - # - ebpf_net.span_utilization - # - ebpf_net.up - # - ebpf_net.rpc_queue_buf_utilization_fraction - # - ebpf_net.collector_log_count - # - ebpf_net.time_since_last_message_ns - # - ebpf_net.bpf_log - # - ebpf_net.codetiming_count - # - ebpf_net.message - # - ebpf_net.otlp_grpc.bytes_sent - # - ebpf_net.pipeline_message_error - # - ebpf_net.pipeline_metric_bytes_written - # - ebpf_net.codetiming_max_ns - # - ebpf_net.span_utilization_max - # - ebpf_net.client_handle_pool_fraction - # - ebpf_net.span_utilization_fraction - # - ebpf_net.rpc_latency_ns - # - ebpf_net.agg_root_truncation - # - ebpf_net.clock_offset_ns - # - ebpf_net.otlp_grpc.metrics_sent - # - ebpf_net.otlp_grpc.unknown_response_tags - # - ebpf_net.collector_health - # - ebpf_net.codetiming_sum_ns - # - ebpf_net.otlp_grpc.failed_requests - # - ebpf_net.rpc_queue_buf_utilization - ### to enable all metrics (including metrics turned off by default): ### - # - none - enableMetrics: [] - ### Disable metrics flag is evaluated first and only then enable metric flag is evaluated. ### - ### to enable an entire metric category: ### - # - tcp.all - # - udp.all - # - dns.all - # - http.all - # - ebpf_net.all - ### to enable an individual metric: ### - ### tcp ### - # - tcp.bytes - # - tcp.rtt.num_measurements - # - tcp.active - # - tcp.rtt.average - # - tcp.packets - # - tcp.retrans - # - tcp.syn_timeouts - # - tcp.new_sockets - # - tcp.resets - ### udp ### - # - udp.bytes - # - udp.packets - # - udp.active - # - udp.drops - ### dns ### - # - dns.client.duration.average - # - dns.server.duration.average - # - dns.active_sockets - # - dns.responses - # - dns.timeouts - ### http ### - # - http.client.duration.average - # - http.server.duration.average - # - http.active_sockets - # - http.status_code - ### ebpf_net ### - # - ebpf_net.span_utilization_fraction - # - ebpf_net.pipeline_metric_bytes_discarded - # - ebpf_net.codetiming_min_ns - # - ebpf_net.entrypoint_info - # - ebpf_net.otlp_grpc.requests_sent - # - ebpf_net.connections - # - ebpf_net.rpc_queue_elem_utilization_fraction - # - ebpf_net.disconnects - # - ebpf_net.codetiming_avg_ns - # - ebpf_net.client_handle_pool - # - ebpf_net.otlp_grpc.successful_requests - # - ebpf_net.span_utilization - # - ebpf_net.up - # - ebpf_net.rpc_queue_buf_utilization_fraction - # - ebpf_net.collector_log_count - # - ebpf_net.time_since_last_message_ns - # - ebpf_net.bpf_log - # - ebpf_net.codetiming_count - # - ebpf_net.message - # - ebpf_net.otlp_grpc.bytes_sent - # - ebpf_net.pipeline_message_error - # - ebpf_net.pipeline_metric_bytes_written - # - ebpf_net.codetiming_max_ns - # - ebpf_net.span_utilization_max - # - ebpf_net.client_handle_pool_fraction - # - ebpf_net.span_utilization_fraction - # - ebpf_net.rpc_latency_ns - # - ebpf_net.agg_root_truncation - # - ebpf_net.clock_offset_ns - # - ebpf_net.otlp_grpc.metrics_sent - # - ebpf_net.otlp_grpc.unknown_response_tags - # - ebpf_net.collector_health - # - ebpf_net.codetiming_sum_ns - # - ebpf_net.otlp_grpc.failed_requests - # - ebpf_net.rpc_queue_buf_utilization - telemetryPort: 7000 - statsPromPort: 7001 - image: - name: splunk-network-explorer-reducer - # tag: latest-v0.9 - # repository: quay.io/signalfx - resources: {} - nodeSelector: {} - affinity: {} - tolerations: [] - - rbac: - create: true - - podSecurityPolicy: - enabled: true - annotations: {} - ## Specify pod annotations - ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor - ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp - ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl - ## - # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*' - # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default' - # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' - - ################################################################################ # Notice: Operator related features should be considered to have an alpha # maturity level and be experimental. There may be breaking changes or Operator