Repository navigation
Conversation
Install the chart with an include and an exclude, each with at least one prefix, for every otelContainerInsights.filters setting, and check in CloudWatch that kept namespaces, labels and metric names are present and filtered ones are absent, for metrics and application logs.
This was referenced Oct 9, 2026
Open
louisall
marked this pull request as ready for review
October 9, 2026 15:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of the issue
The Helm chart adds
otelContainerInsights.filtersfor metrics and application logs: namespaces (aws-observability/helm-charts#393), node and pod labels (aws-observability/helm-charts#394) and metric names (aws-observability/helm-charts#395). Those PRs test how the values translate into the generated OTel config. This PR checks end to end, on a real EKS cluster, that the filtered telemetry reaching CloudWatch is what the values ask for.Merge order: aws-observability/helm-charts#393, aws-observability/helm-charts#394 and aws-observability/helm-charts#395 (stacked in that order) merge first. The Terraform clones the chart from
helm_chart_branch(defaultmain), so this suite fails in CI until they land.Description of changes
terraform/eks/daemon/otel-filters, patterned onotel-attr-limit: its own cluster with one 2-node group carrying test node labels, the chart installed with an include and an exclude (at least one prefix each) for every filter setting, and a logging workload with test pod labels in each of 4 namespaces (2 kept, 2 filtered).test/otel/filters:kube_pod_info(kube-state-metrics, cluster scraper),container_cpu_usage_seconds_total(cAdvisor) andk8s.pod.cpu.usage(kubelet stats) are present for included namespaces and absent for excluded ones. Application logs are present and absent per namespace in the same way.pod-template-hashis included but is also a recommended exclusion, so it is absent from metrics (default on) and present on logs (default off).k8s.pod.*, are present. Excluded and not-included names are absent, from both the node agent and the cluster scraper (kube_pod_status_phase).client.Queryper name rather thanqueryCache: the absence checks need fresh results, and the source registry expects every metric of a source, which a metric name filter removes by design.eks_daemon, next tootel/attr_limit.License
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Tests
go vet -tags integration ./test/otel/filters/,terraform fmt -checkandterraform validatepass.otel-ci-filters-metric-names(9c37696, the head of feat(chart): Add metric name filters for OTel Container Insights aws-observability/helm-charts#395) with this PR's filter values.test_repo_branch=otel-ci-filters-e2e,helm_chart_branch=otel-ci-filters-metric-namesandtest_dir_filter=./test/otel/filters: https://github.com/aws/amazon-cloudwatch-agent/actions/runs/37945145915PR Checklist
makepasses locally (build, unit tests, lint):go vet,terraform fmtandterraform validate