Skip to content

Commit 428d2af

Browse files
[nr-k8s-otel-collector] kube job related metric optimization (#1747)
<!-- 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. --> #### Is this a new chart #### What this PR does / why we need it: A quick scan of cluster which is heavy on jobs had the following no of metrics in a 1 hour window ``` Metric Name,Metrics kube_job_complete,7253178 kube_job_status_failed,2449419 kube_job_spec_parallelism,2428569 kube_job_status_start_time,2428569 kube_job_status_active,2428569 kube_job_created,2428569 kube_job_spec_completions,2428569 kube_job_status_succeeded,2428569 kube_job_owner,2428569 kube_job_status_completion_time,2417726 newrelic.goldenmetrics.infra.kubernetes_job.podsActive,2363142 newrelic.goldenmetrics.infra.kubernetes_job.podsSucceeded,2363083 newrelic.goldenmetrics.infra.kubernetes_job.podsFailed,2362910 newrelic.goldenmetrics.infra.kubernetes_job.completedAt,2352631 kube_pod_container_status_phase,1583100 kube_pod_status_ready,1522572 kube_pod_status_scheduled,1522572 kube_pod_container_status_ready,527700 kube_pod_container_info,527700 kube_pod_container_status_restarts_total,514736 kube_pod_status_scheduled_time,507524 kube_pod_status_phase,507524 kube_pod_created,507524 kube_pod_owner,507524 kube_pod_info,505966 newrelic.goldenmetrics.infra.kubernetes_pod.podScheduled,494193 newrelic.goldenmetrics.infra.kubernetes_pod.podReadiness,494190 container_network_receive_errors_total,379522 container_network_transmit_errors_total,377702 container_network_transmit_bytes_total,238746 container_network_receive_bytes_total,231011 apiserver_storage_objects,211692 container_spec_memory_limit_bytes,126501 container_memory_working_set_bytes,126261 container_cpu_usage_seconds_total,123971 kube_deployment_status_condition,118578 kube_replicaset_owner,95498 kube_pod_container_resource_requests,59581 kube_pod_status_ready_time,52883 kube_pod_container_resource_limits,36167 kube_service_created,34200 kube_service_info,34200 kube_service_spec_type,34200 kube_job_failed,31635 container.filesystem.usage,20385 container.memory.usage,20385 container.filesystem.capacity,20385 newrelic.goldenmetrics.infra.container.memoryUsage,20178 newrelic.goldenmetrics.infra.container.storageUsage,20178 kube_deployment_status_replicas_unavailable,19823 kube_deployment_status_replicas_updated,19823 kube_deployment_spec_replicas,19823 kube_deployment_metadata_generation,19823 kube_deployment_status_replicas_available,19823 kube_deployment_status_replicas_ready,19823 kube_deployment_created,19823 kube_deployment_status_observed_generation,19823 kube_deployment_status_replicas,19823 newrelic.goldenmetrics.infra.kubernetes_deployment.podsAvailable,19250 newrelic.goldenmetrics.infra.kubernetes_deployment.podsDesired,19248 k8s.pod.network.io,18494 kube_deployment_spec_strategy_rollingupdate_max_surge,18446 container.cpu.usage,16665 k8s.pod.filesystem.available,14304 k8s.pod.memory.working_set,14304 k8s.pod.filesystem.capacity,14304 k8s.pod.filesystem.usage,14304 system.filesystem.usage,14080 container_cpu_cfs_periods_total,13163 container_cpu_cfs_throttled_periods_total,13140 kube_persistentvolume_status_phase,12890 system.disk.operation_time,10212 system.disk.operations,10212 kube_node_status_allocatable,9942 kube_node_status_condition,8445 kube_daemonset_status_updated_number_scheduled,8444 kube_daemonset_status_number_ready,8444 kube_daemonset_status_current_number_scheduled,8444 kube_daemonset_status_number_misscheduled,8444 kube_daemonset_status_number_available,8444 kube_daemonset_created,8444 kube_daemonset_status_desired_number_scheduled,8444 kube_daemonset_status_number_unavailable,8444 newrelic.goldenmetrics.infra.kubernetes_daemonset.podsDesired,8216 newrelic.goldenmetrics.infra.kubernetes_daemonset.podsReady,8215 system.filesystem.utilization,7040 system.disk.io_time,5106 system.cpu.utilization,4475 system.memory.usage,4475 kube_statefulset_status_replicas_updated,3234 kube_statefulset_created,3234 kube_statefulset_persistentvolumeclaim_retention_policy,3234 kube_statefulset_status_current_revision,3234 kube_statefulset_status_replicas_available,3234 kube_statefulset_status_replicas,3234 kube_statefulset_replicas,3234 kube_statefulset_status_replicas_ready,3234 kube_statefulset_status_replicas_current,3234 newrelic.goldenmetrics.infra.kubernetes_statefulset.podsDesired,3127 newrelic.goldenmetrics.infra.kubernetes_statefulset.podsReady,3127 kube_persistentvolume_capacity_bytes,2578 kube_persistentvolume_created,2578 kube_persistentvolume_info,2573 newrelic.goldenmetrics.infra.kubernetes_persistentvolume.requestedStorageBytes,2513 newrelic.goldenmetrics.infra.kubernetes_persistentvolume.createdAt,2513 kube_persistentvolumeclaim_resource_requests_storage_bytes,2098 kube_persistentvolumeclaim_created,2098 kube_persistentvolumeclaim_status_phase,2098 kube_persistentvolumeclaim_info,2096 process_resident_memory_bytes,2089 go_threads,2089 go_goroutines,2089 newrelic.goldenmetrics.infra.kubernetes_persistentvolumeclaim.requestedStorageBytes,2045 newrelic.goldenmetrics.infra.kubernetes_persistentvolumeclaim.createdAt,2045 system.memory.utilization,1790 system.network.errors,1760 system.network.packets,1760 system.network.io,1760 system.cpu.load_average.5m,895 system.cpu.load_average.1m,895 system.cpu.load_average.15m,895 k8s.cluster.info,835 k8s.node.filesystem.capacity,537 k8s.node.memory.available,537 k8s.node.filesystem.usage,537 k8s.node.memory.working_set,537 k8s.node.cpu.time,528 newrelic.resourceConsumption.limitValue,491 newrelic.resourceConsumption.currentValue,491 newrelic.resourceConsumption.impact,491 kube_cronjob_spec_suspend,479 kube_cronjob_status_active,479 kube_cronjob_status_last_schedule_time,479 kube_cronjob_created,479 newrelic.goldenmetrics.infra.kubernetes_cronjob.lastScheduled,466 newrelic.goldenmetrics.infra.kubernetes_cronjob.isActive,466 newrelic.goldenmetrics.infra.kubernetes_cronjob.isSuspended,466 newrelic.goldenmetrics.infra.host.memoryUsage,413 newrelic.goldenmetrics.infra.host.storageUsage,413 newrelic.goldenmetrics.infra.host.cpuUsage,413 newrelic.goldenmetrics.infra.host.networkTrafficTx,406 newrelic.goldenmetrics.infra.host.networkTrafficRx,406 k8s.node.cpu.usage,357 kube_pod_container_status_waiting_reason,238 kube_service_status_load_balancer_ingress,180 ```` #### Which issue this PR fixes *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)* - fixes # #### 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]`) --------- Co-authored-by: Daniel Budziwojski <dbudziwojski@newrelic.com>
1 parent 140ea9c commit 428d2af

12 files changed

Lines changed: 67 additions & 17 deletions

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.8.23
20+
version: 0.8.24
2121

2222
dependencies:
2323
- name: common-library

charts/nr-k8s-otel-collector/examples/k8s/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.0.3
12-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
12+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
1313
rules:
1414
- apiGroups:
1515
- ""

charts/nr-k8s-otel-collector/examples/k8s/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.0.3
12-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
12+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
1313
subjects:
1414
- kind: ServiceAccount
1515
name: example-nr-k8s-otel-collector

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

Lines changed: 12 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.0.3
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
1414
data:
1515
daemonset-config.yaml: |
1616
receivers:
@@ -461,6 +461,15 @@ data:
461461
datapoint:
462462
- 'IsMatch(metric.name, "^system.network.*") == true and attributes["device"] == "lo"'
463463
464+
filter/nr_exclude_container_zero_values:
465+
metrics:
466+
datapoint:
467+
- metric.name == "container_network_receive_errors_total" and value_double < 0.5
468+
- metric.name == "container_network_transmit_errors_total" and value_double < 0.5
469+
- metric.name == "container_network_transmit_bytes_total" and value_double < 0.5
470+
- metric.name == "container_network_receive_bytes_total" and value_double < 0.5
471+
472+
464473
attributes/exclude_system_paging:
465474
include:
466475
match_type: strict
@@ -497,7 +506,7 @@ data:
497506
value: 'true'
498507
- key: "newrelic.chart.version"
499508
action: upsert
500-
value: 0.8.23
509+
value: 0.8.24
501510
- key: service.name
502511
action: delete
503512
- key: service_name
@@ -659,6 +668,7 @@ data:
659668
- metricstransform/cadvisor
660669
- metricstransform/kubelet
661670
- filter/exclude_metrics_low_data_mode
671+
- filter/nr_exclude_container_zero_values
662672
- transform/truncate
663673
- resourcedetection/env
664674
- resourcedetection/cloudproviders

charts/nr-k8s-otel-collector/examples/k8s/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.0.3
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
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: 91b1fb70ef5f0e77932c1486c6b1ef931843988237ab206bc6c27e199e62f155
27+
checksum/config: d113561eb77f9c64074829fd99381305062fa05fb56a5f2f40ac7ef5221de28e
2828
spec:
2929
serviceAccountName: example-nr-k8s-otel-collector
3030
containers:

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

Lines changed: 19 additions & 4 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.0.3
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
1414
data:
1515
deployment-config.yaml: |
1616
receivers:
@@ -438,10 +438,24 @@ data:
438438
metrics:
439439
datapoint:
440440
- metric.name == "kube_pod_status_phase" and value_double < 0.5
441+
- metric.name == "kube_pod_status_ready" and value_double < 0.5
441442
- metric.name == "kube_pod_status_scheduled" and value_double < 0.5
443+
- metric.name == "kube_pod_container_status_ready" and value_double < 0.5
442444
- metric.name == "kube_pod_container_status_phase" and value_double < 0.5
443-
- metric.name == "kube_pod_status_ready" and value_double < 0.5
445+
- metric.name == "kube_pod_container_status_restarts_total" and value_double < 0.5
444446
- metric.name == "kube_deployment_status_condition" and value_double < 0.5
447+
- metric.name == "kube_pod_container_status_waiting_reason" and value_double < 0.5
448+
449+
450+
filter/nr_exclude_zero_value_kube_jobs:
451+
metrics:
452+
datapoint:
453+
- metric.name == "kube_job_complete" and value_double < 0.5
454+
- metric.name == "kube_job_spec_parallelism" and value_double < 0.5
455+
- metric.name == "kube_job_status_failed" and value_double < 0.5
456+
- metric.name == "kube_job_status_active" and value_double < 0.5
457+
- metric.name == "kube_job_status_succeeded" and value_double < 0.5
458+
445459
446460
resourcedetection/env:
447461
detectors: ["env", "system"]
@@ -472,7 +486,7 @@ data:
472486
value: 'true'
473487
- key: "newrelic.chart.version"
474488
action: upsert
475-
value: 0.8.23
489+
value: 0.8.24
476490
- key: service.name
477491
action: delete
478492
- key: service_name
@@ -497,7 +511,7 @@ data:
497511
value: 'true'
498512
- key: "newrelic.chart.version"
499513
action: upsert
500-
value: 0.8.23
514+
value: 0.8.24
501515
502516
transform/events:
503517
log_statements:
@@ -695,6 +709,7 @@ data:
695709
- metricstransform/k8s_cluster_info_ldm
696710
- metricstransform/ksm
697711
- filter/exclude_metrics_low_data_mode
712+
- filter/nr_exclude_zero_value_kube_jobs
698713
- transform/low_data_mode_inator
699714
- resource/low_data_mode_inator
700715
- resource/metrics

charts/nr-k8s-otel-collector/examples/k8s/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.0.3
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
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: 6ead1f562807e8c3bb9e9ca5547f3e19ab5acc14c1b7a84c5405fa8e62358b77
29+
checksum/config: 08ca9977298906fbf26b40b96afa478d37146269422df769606909a65d258bb8
3030
spec:
3131
serviceAccountName: example-nr-k8s-otel-collector
3232
containers:

charts/nr-k8s-otel-collector/examples/k8s/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.0.3
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
1414
data:
1515
licenseKey: PE5SX2xpY2Vuc2VLZXk+

charts/nr-k8s-otel-collector/examples/k8s/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.0.3
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
1414
spec:
1515
type: ClusterIP
1616
ports:

charts/nr-k8s-otel-collector/examples/k8s/rendered/serviceaccount.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ metadata:
1010
app.kubernetes.io/managed-by: Helm
1111
app.kubernetes.io/name: nr-k8s-otel-collector
1212
app.kubernetes.io/version: 1.0.3
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.23
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.24
1414
annotations:

0 commit comments

Comments
 (0)