Skip to content

Commit ce2323b

Browse files
authored
[nr-k8s-otel-collector] drop cadvisor metrics from intermediate levels of cgroup hierarchy (#2130)
<!-- Thank you for contributing to New Relic's Helm charts. Before you submit this PR we'd like to make sure you are aware of our technical requirements: * https://github.com/newrelic-experimental/helm-charts/blob/master/CONTRIBUTING.md#technical-requirements For a quick overview across what we will look at reviewing your PR, please read our review guidelines: * https://github.com/newrelic-experimental/helm-charts/blob/master/REVIEW_GUIDELINES.md Following our best practices right from the start will accelerate the review process and help get your PR merged quicker. When updates to your PR are requested, please add new commits and do not squash the history. This will make it easier to identify new changes. The PR will be squashed anyways when it is merged. Thanks. For fast feedback, please @-mention maintainers that are listed in the Chart.yaml file. Please make sure you test your changes before you push them. Once pushed, a Github Action will run across your changes and do some initial checks and linting. These checks run very quickly. Please check the results. We would like these checks to pass before we even continue reviewing your changes. --> #### What this PR does / why we need it: https://new-relic.atlassian.net/browse/NR-411922 drop cadvisor metrics from intermediate levels of cgroup hierarchy. here is an example of the filtered metrics for `container_cpu_usage_seconds_total` from my test cluster in GKE: https://onenr.io/0Vwg6z6bBQJ an example of the old output for the same query can be found in the story. #### Which issue this PR fixes *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)* - fixes #411922 #### Special notes for your reviewer: #### Checklist [Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.] - [x] Chart Version bumped - [x] Variables are documented in the README.md - [x] Title of the PR starts with chart name (e.g. `[mychartname]`) # Release Notes to Publish (nr-k8s-otel-collector) If this PR contains changes in `nr-k8s-otel-collector`, please complete the following section. All other charts should ignore this section. <!--BEGIN-RELEASE-NOTES--> ## 🚀 What's Changed * Added filters to drop cadvisor metrics from intermediate levels of cgroup hierarchy <!--END-RELEASE-NOTES-->
1 parent ad01618 commit ce2323b

21 files changed

+105
-29
lines changed

.github/workflows/nr-k8s-otel-e2e.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ jobs:
3232
kubernetes version: ${{ env.LATEST_K8S_VERSION }}
3333
# default driver doesn't support 'eval $$(minikube docker-env)'.
3434
driver: docker
35+
container runtime: containerd
3536
github token: ${{ secrets.GITHUB_TOKEN }}
3637
- name: Run e2e-test
3738
uses: newrelic/newrelic-integration-e2e-action@v1

charts/nr-k8s-otel-collector/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type: application
1717
# This is the chart version. This version number should be incremented each time you make changes
1818
# to the chart and its templates, including the app version.
1919
# Versions are expected to follow Semantic Versioning (https://semver.org/)
20-
version: 0.10.8
20+
version: 0.10.9
2121

2222

2323
dependencies:

charts/nr-k8s-otel-collector/examples/k8s-with-atp/rendered/clusterrole.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/managed-by: Helm
1010
app.kubernetes.io/name: nr-k8s-otel-collector
1111
app.kubernetes.io/version: 1.2.0
12-
helm.sh/chart: nr-k8s-otel-collector-0.10.8
12+
helm.sh/chart: nr-k8s-otel-collector-0.10.9
1313
rules:
1414
- apiGroups:
1515
- ""

charts/nr-k8s-otel-collector/examples/k8s-with-atp/rendered/clusterrolebinding.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ metadata:
99
app.kubernetes.io/managed-by: Helm
1010
app.kubernetes.io/name: nr-k8s-otel-collector
1111
app.kubernetes.io/version: 1.2.0
12-
helm.sh/chart: nr-k8s-otel-collector-0.10.8
12+
helm.sh/chart: nr-k8s-otel-collector-0.10.9
1313
subjects:
1414
- kind: ServiceAccount
1515
name: nr-k8s-otel-collector

charts/nr-k8s-otel-collector/examples/k8s-with-atp/rendered/daemonset-configmap.yaml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ metadata:
1010
app.kubernetes.io/managed-by: Helm
1111
app.kubernetes.io/name: nr-k8s-otel-collector
1212
app.kubernetes.io/version: 1.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.10.8
13+
helm.sh/chart: nr-k8s-otel-collector-0.10.9
1414
data:
1515
daemonset-config.yaml: |
1616
receivers:
@@ -119,6 +119,31 @@ data:
119119
- source_labels: [__meta_kubernetes_node_name]
120120
regex: ${KUBE_NODE_NAME}
121121
action: keep
122+
metric_relabel_configs:
123+
# Init temporary label is_network_metric for all metrics
124+
- source_labels: [__name__]
125+
regex: '.*'
126+
target_label: "is_network_metric"
127+
replacement: "false"
128+
- source_labels: [__name__]
129+
regex: '^container_network_.*'
130+
target_label: "is_network_metric"
131+
replacement: "true"
132+
133+
# Drop metrics without container/image/name for non-network metrics
134+
- source_labels: [is_network_metric, container]
135+
regex: '^false;$'
136+
action: drop
137+
- source_labels: [is_network_metric, image]
138+
regex: '^false;$'
139+
action: drop
140+
- source_labels: [is_network_metric, name]
141+
regex: '^false;$'
142+
action: drop
143+
144+
# Remove temporary label
145+
- regex: 'is_network_metric'
146+
action: labeldrop
122147
scheme: https
123148
tls_config:
124149
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
@@ -618,7 +643,7 @@ data:
618643
value: <cluser_name>
619644
- key: "newrelic.chart.version"
620645
action: upsert
621-
value: 0.10.8
646+
value: 0.10.9
622647
- key: newrelic.entity.type
623648
action: upsert
624649
value: "k8s"

charts/nr-k8s-otel-collector/examples/k8s-with-atp/rendered/daemonset.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ metadata:
1010
app.kubernetes.io/managed-by: Helm
1111
app.kubernetes.io/name: nr-k8s-otel-collector
1212
app.kubernetes.io/version: 1.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.10.8
13+
helm.sh/chart: nr-k8s-otel-collector-0.10.9
1414
spec:
1515
selector:
1616
matchLabels:
@@ -24,7 +24,7 @@ spec:
2424
app.kubernetes.io/name: nr-k8s-otel-collector
2525
component: daemonset
2626
annotations:
27-
checksum/config: fa6441edefae88d7fa03cc9fd4a8be40e40ea734040fc5cb6361f5a7130a002b
27+
checksum/config: a9f3ac9805c7551475c311c03335abfbea0fd6ca3c1200d79461acbd7928d3e6
2828
spec:
2929
serviceAccountName: nr-k8s-otel-collector
3030
initContainers:

charts/nr-k8s-otel-collector/examples/k8s-with-atp/rendered/deployment-configmap.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ metadata:
1010
app.kubernetes.io/managed-by: Helm
1111
app.kubernetes.io/name: nr-k8s-otel-collector
1212
app.kubernetes.io/version: 1.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.10.8
13+
helm.sh/chart: nr-k8s-otel-collector-0.10.9
1414
data:
1515
deployment-config.yaml: |
1616
receivers:
@@ -509,7 +509,7 @@ data:
509509
value: <cluser_name>
510510
- key: "newrelic.chart.version"
511511
action: upsert
512-
value: 0.10.8
512+
value: 0.10.9
513513
- key: newrelic.entity.type
514514
action: upsert
515515
value: "k8s"
@@ -527,7 +527,7 @@ data:
527527
value: <cluser_name>
528528
- key: "newrelic.chart.version"
529529
action: upsert
530-
value: 0.10.8
530+
value: 0.10.9
531531
532532
transform/events:
533533
log_statements:

charts/nr-k8s-otel-collector/examples/k8s-with-atp/rendered/deployment.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ metadata:
1010
app.kubernetes.io/managed-by: Helm
1111
app.kubernetes.io/name: nr-k8s-otel-collector
1212
app.kubernetes.io/version: 1.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.10.8
13+
helm.sh/chart: nr-k8s-otel-collector-0.10.9
1414
spec:
1515
replicas: 1
1616
minReadySeconds: 5
@@ -26,7 +26,7 @@ spec:
2626
app.kubernetes.io/name: nr-k8s-otel-collector
2727
component: deployment
2828
annotations:
29-
checksum/config: d38b8053af426b90b8ee9f7a683d00963f69800b375c423f523ab0256812267c
29+
checksum/config: a3a6e91c37d1b9b5339877f8feed53a44a944f1abf7a79f11d9af202e1842d32
3030
spec:
3131
serviceAccountName: nr-k8s-otel-collector
3232
containers:

charts/nr-k8s-otel-collector/examples/k8s-with-atp/rendered/secret.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ metadata:
1010
app.kubernetes.io/managed-by: Helm
1111
app.kubernetes.io/name: nr-k8s-otel-collector
1212
app.kubernetes.io/version: 1.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.10.8
13+
helm.sh/chart: nr-k8s-otel-collector-0.10.9
1414
data:
1515
licenseKey: PE5SX2xpY2Vuc2VLZXk+

charts/nr-k8s-otel-collector/examples/k8s-with-atp/rendered/service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ metadata:
1010
app.kubernetes.io/managed-by: Helm
1111
app.kubernetes.io/name: nr-k8s-otel-collector
1212
app.kubernetes.io/version: 1.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.10.8
13+
helm.sh/chart: nr-k8s-otel-collector-0.10.9
1414
spec:
1515
type: ClusterIP
1616
ports:

0 commit comments

Comments
 (0)