diff --git a/.changelog/3096.added.txt b/.changelog/3096.added.txt new file mode 100644 index 0000000000..1125240da1 --- /dev/null +++ b/.changelog/3096.added.txt @@ -0,0 +1 @@ +feat(metrics): add selectors for Prometheus CRs to otel metrics collector \ No newline at end of file diff --git a/deploy/helm/sumologic/README.md b/deploy/helm/sumologic/README.md index 60290bf9fe..35854140c4 100644 --- a/deploy/helm/sumologic/README.md +++ b/deploy/helm/sumologic/README.md @@ -120,6 +120,8 @@ The following table lists the configurable parameters of the Sumo Logic chart an | `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. | `100` | | `sumologic.metrics.collector.otelcol.autoscaling.targetMemoryUtilizationPercentage` | The desired target memory utilization for autoscaling. | `50` | +| `sumologic.metrics.collector.otelcol.serviceMonitorSelector` | Selector for ServiceMonitors used for target discovery. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `{}` | +| `sumologic.metrics.collector.otelcol.podMonitorSelector` | Selector for PodMonitors used for target discovery. See: https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr | `{}` | | `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.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` | diff --git a/deploy/helm/sumologic/templates/metrics/collector/otelcol/opentelemetrycollector.yaml b/deploy/helm/sumologic/templates/metrics/collector/otelcol/opentelemetrycollector.yaml index 3e29f56392..54999e219f 100644 --- a/deploy/helm/sumologic/templates/metrics/collector/otelcol/opentelemetrycollector.yaml +++ b/deploy/helm/sumologic/templates/metrics/collector/otelcol/opentelemetrycollector.yaml @@ -17,6 +17,10 @@ spec: enabled: true prometheusCR: enabled: true + serviceMonitorSelector: + {{ .Values.sumologic.metrics.collector.otelcol.serviceMonitorSelector | toYaml | nindent 8 }} + podMonitorSelector: + {{ .Values.sumologic.metrics.collector.otelcol.podMonitorSelector | toYaml | nindent 8 }} {{- if .Values.sumologic.metrics.collector.otelcol.autoscaling.enabled }} autoscaler: maxReplicas: {{ .Values.sumologic.metrics.collector.otelcol.autoscaling.maxReplicas }} diff --git a/deploy/helm/sumologic/values.yaml b/deploy/helm/sumologic/values.yaml index 3acca60fa2..08dc603b7d 100644 --- a/deploy/helm/sumologic/values.yaml +++ b/deploy/helm/sumologic/values.yaml @@ -458,6 +458,14 @@ sumologic: memory: 768Mi cpu: 500m + ## Selector for ServiceMonitors used for target discovery. + ## See https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr + serviceMonitorSelector: {} + + ## Selector for PodMonitors used for target discovery. + ## See https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr + podMonitorSelector: {} + otelcol: ## Includes additional processors into pipelines. ## It can be used for filtering metrics, renaming, changing metadata and so on. diff --git a/tests/helm/testdata/goldenfile/metrics_collector_otc/basic.output.yaml b/tests/helm/testdata/goldenfile/metrics_collector_otc/basic.output.yaml index ad2debbc91..04c45f295b 100644 --- a/tests/helm/testdata/goldenfile/metrics_collector_otc/basic.output.yaml +++ b/tests/helm/testdata/goldenfile/metrics_collector_otc/basic.output.yaml @@ -21,6 +21,8 @@ spec: enabled: true prometheusCR: enabled: true + serviceMonitorSelector: {} + podMonitorSelector: {} env: - name: SUMO_ENDPOINT_APISERVER_METRICS_SOURCE valueFrom: diff --git a/tests/helm/testdata/goldenfile/metrics_collector_otc/custom.input.yaml b/tests/helm/testdata/goldenfile/metrics_collector_otc/custom.input.yaml index 6edd93616e..b0e0dbdc2f 100644 --- a/tests/helm/testdata/goldenfile/metrics_collector_otc/custom.input.yaml +++ b/tests/helm/testdata/goldenfile/metrics_collector_otc/custom.input.yaml @@ -17,3 +17,7 @@ sumologic: requests: memory: 1Gi cpu: 1000m + serviceMonitorSelector: + smkey: smvalue + podMonitorSelector: + pmkey: pmvalue diff --git a/tests/helm/testdata/goldenfile/metrics_collector_otc/custom.output.yaml b/tests/helm/testdata/goldenfile/metrics_collector_otc/custom.output.yaml index e8ced0a0dc..d71deb232a 100644 --- a/tests/helm/testdata/goldenfile/metrics_collector_otc/custom.output.yaml +++ b/tests/helm/testdata/goldenfile/metrics_collector_otc/custom.output.yaml @@ -21,6 +21,10 @@ spec: enabled: true prometheusCR: enabled: true + serviceMonitorSelector: + smkey: smvalue + podMonitorSelector: + pmkey: pmvalue autoscaler: maxReplicas: 30 minReplicas: 15