Skip to content

Commit c4d2685

Browse files
[nr-k8s-otel-collector] feat: Add additional OOM metrics (#1904)
<!-- 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: #### 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 - [ ] Variables are documented in the README.md - [ ] 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 * Adds additional OOM metrics to LDM: `kube_pod_container_status_last_terminated_exitcode`, `kube_pod_container_status_last_terminated_reason`, `kube_pod_container_status_last_terminated_timestamp`, and `kube_pod_deletion_timestamp` <!--END-RELEASE-NOTES-->
1 parent 41c03e2 commit c4d2685

File tree

14 files changed

+52
-19
lines changed

14 files changed

+52
-19
lines changed

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.51
20+
version: 0.8.52
2121

2222
dependencies:
2323
- name: common-library

charts/nr-k8s-otel-collector/docs/metrics-full.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -985,6 +985,7 @@
985985
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_state_started | Gauge | Whether the Pod container has started (1) or not (0). |
986986
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_last_terminated_exitcode | Gauge | Exit code of the last terminated state of the container. |
987987
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_last_terminated_reason | Gauge | Reason for the last termination of the container. |
988+
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_last_terminated_timestamp | Gauge | Last terminated time for a pod container in unix timestamp. |
988989
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_phase | Gauge | Current phase of the Pod container. |
989990
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_ready | Gauge | Whether the Pod container is ready (1) or not (0). |
990991
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_restarts_total | Counter | Total number of restarts for the Pod container. |

charts/nr-k8s-otel-collector/docs/metrics-lowDataMode.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,15 @@
9494
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_info | Gauge | Information about the Pod container. |
9595
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_resource_limits | Gauge | Resource limits of the Pod container. |
9696
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_resource_requests | Gauge | Resource requests of the Pod container. |
97+
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_last_terminated_exitcode | Gauge | Exit code of the last terminated state of the container. |
98+
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_last_terminated_reason | Gauge | Reason for the last termination of the container. |
99+
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_last_terminated_timestamp | Gauge | Last terminated time for a pod container in unix timestamp. |
97100
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_phase | Gauge | Current phase of the Pod container. |
98101
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_ready | Gauge | Whether the Pod container is ready (1) or not (0). |
99102
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_restarts_total | Counter | Total number of restarts for the Pod container. |
100103
| KubeStateMetrics | Prometheus Receiver | kube_pod_container_status_waiting_reason | Gauge | Reason for the container waiting state. |
101104
| KubeStateMetrics | Prometheus Receiver | kube_pod_created | Gauge | Creation timestamp of the Pod. |
105+
| KubeStateMetrics | Prometheus Receiver | kube_pod_deletion_timestamp | Gauge | Deletion timestamp of the Pod. |
102106
| KubeStateMetrics | Prometheus Receiver | kube_pod_info | Gauge | Information about the Pod. |
103107
| KubeStateMetrics | Prometheus Receiver | kube_pod_owner | Gauge | Owner information of the Pod. |
104108
| KubeStateMetrics | Prometheus Receiver | kube_pod_start_time | Gauge | Start time of the Pod. |

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.2.0
12-
helm.sh/chart: nr-k8s-otel-collector-0.8.51
12+
helm.sh/chart: nr-k8s-otel-collector-0.8.52
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.2.0
12-
helm.sh/chart: nr-k8s-otel-collector-0.8.51
12+
helm.sh/chart: nr-k8s-otel-collector-0.8.52
1313
subjects:
1414
- kind: ServiceAccount
1515
name: nr-k8s-otel-collector

charts/nr-k8s-otel-collector/examples/k8s/rendered/daemonset-configmap.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.8.51
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.52
1414
data:
1515
daemonset-config.yaml: |
1616
receivers:
@@ -558,7 +558,7 @@ data:
558558
value: <cluser_name>
559559
- key: "newrelic.chart.version"
560560
action: upsert
561-
value: 0.8.51
561+
value: 0.8.52
562562
- key: newrelic.entity.type
563563
action: upsert
564564
value: "k8s"

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.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.51
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.52
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: 67d806e2365ef2eba7e2da21f2c10e94e8c69edb8e81e2d81e0b04d561d647d1
27+
checksum/config: ab4fecb38ba638aedcd5707a3705e627c70ada0681dad70d1dc6d1d80657f70e
2828
spec:
2929
serviceAccountName: nr-k8s-otel-collector
3030
containers:

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

Lines changed: 14 additions & 5 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.8.51
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.52
1414
data:
1515
deployment-config.yaml: |
1616
receivers:
@@ -305,6 +305,14 @@ data:
305305
- value: 'false'
306306
new_value: 'true'
307307
308+
transform/convert_timestamp:
309+
metric_statements:
310+
- context: datapoint
311+
conditions:
312+
- IsMatch(metric.name, "kube_pod_container_status_last_terminated_timestamp")
313+
statements:
314+
- set(datapoint.attributes["kube_pod_container_status_last_terminated_timestamp_formatted"], FormatTime(Unix(Int(datapoint.value_double)), "%Y-%m-%dT%H:%M:%SZ"))
315+
308316
metricstransform/ksm:
309317
transforms:
310318
- include: kube_cronjob_(created|spec_suspend|status_(active|last_schedule_time))
@@ -379,7 +387,7 @@ data:
379387
value_actions:
380388
- value: 'false'
381389
new_value: 'true'
382-
- include: kube_pod_container_(info|resource_(limits|requests)|status_(phase|ready|restarts_total|waiting_reason))
390+
- include: kube_pod_container_(info|resource_(limits|requests)|status_(phase|ready|restarts_total|waiting_reason|last_terminated_timestamp|last_terminated_exitcode|last_terminated_reason))
383391
action: update
384392
match_type: regexp
385393
operations:
@@ -388,7 +396,7 @@ data:
388396
value_actions:
389397
- value: 'false'
390398
new_value: 'true'
391-
- include: ^kube_pod_(owner|created|info|status_(phase|ready|scheduled)|start_time)$$
399+
- include: ^kube_pod_(owner|created|info|status_(phase|ready|scheduled)|start_time|deletion_timestamp)$$
392400
action: update
393401
match_type: regexp
394402
operations:
@@ -499,7 +507,7 @@ data:
499507
value: <cluser_name>
500508
- key: "newrelic.chart.version"
501509
action: upsert
502-
value: 0.8.51
510+
value: 0.8.52
503511
- key: newrelic.entity.type
504512
action: upsert
505513
value: "k8s"
@@ -517,7 +525,7 @@ data:
517525
value: <cluser_name>
518526
- key: "newrelic.chart.version"
519527
action: upsert
520-
value: 0.8.51
528+
value: 0.8.52
521529
522530
transform/events:
523531
log_statements:
@@ -742,6 +750,7 @@ data:
742750
- filter/exclude_zero_value_kube_node_status_condition
743751
- filter/exclude_zero_value_kube_persistentvolumeclaim_status_phase
744752
- filter/nr_exclude_zero_value_kube_pod_container_deployment_statuses
753+
- transform/convert_timestamp
745754
- metricstransform/ldm
746755
- metricstransform/k8s_cluster_info_ldm
747756
- metricstransform/ksm

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.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.51
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.52
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: 6a6ac337894e9ea5a26468001e1200d936353f335947fc057cf655abd2fcfbb5
29+
checksum/config: 154d8d67e68b767a358527bec4cae823c5a814746233f4d5967cf6eb39a32207
3030
spec:
3131
serviceAccountName: 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.2.0
13-
helm.sh/chart: nr-k8s-otel-collector-0.8.51
13+
helm.sh/chart: nr-k8s-otel-collector-0.8.52
1414
data:
1515
licenseKey: PE5SX2xpY2Vuc2VLZXk+

0 commit comments

Comments
 (0)