From c22f1d14e5e6dce37af3137d01fc00d836f61534 Mon Sep 17 00:00:00 2001 From: Sheogorath <sheogorath@shivering-isles.com> Date: Sun, 8 Oct 2023 03:19:24 +0200 Subject: [PATCH] fix(nut-exporter): Adjust metrics to cotnain UPS name --- charts/nut-exporter/Chart.yaml | 2 +- charts/nut-exporter/README.md | 4 ++-- charts/nut-exporter/dashboards/default.json | 22 +++++++++---------- charts/nut-exporter/templates/podmonitor.yaml | 1 + charts/nut-exporter/values.yaml | 6 ++--- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/charts/nut-exporter/Chart.yaml b/charts/nut-exporter/Chart.yaml index 5a4bc4a97..2972fae4e 100644 --- a/charts/nut-exporter/Chart.yaml +++ b/charts/nut-exporter/Chart.yaml @@ -13,5 +13,5 @@ sources: - https://github.com/acolombier/nut_exporter/tree/feat/add-helm-chart type: application -version: 0.3.3 +version: 0.3.4 appVersion: 3.0.0 diff --git a/charts/nut-exporter/README.md b/charts/nut-exporter/README.md index ccdd0f011..b7bf285d7 100644 --- a/charts/nut-exporter/README.md +++ b/charts/nut-exporter/README.md @@ -1,6 +1,6 @@ # nut-exporter -   +   Installs NUT exporter in Kubernetes @@ -21,7 +21,7 @@ Installs NUT exporter in Kubernetes | image.repository | string | `"ghcr.io/druggeri/nut_exporter"` | | | image.tag | string | `""` | | | nodeSelector | object | `{}` | | -| podMonitor | object | `{"enabled":true,"labels":{},"params":{},"relabelings":[]}` | Enables podMonitor object for prometheus-operator based setups | +| podMonitor | object | `{"enabled":true,"labels":{},"params":{},"relabelings":[{"source_labels":["__param_ups"],"target_label":"ups"}]}` | Enables podMonitor object for prometheus-operator based setups | | podMonitor.params | object | `{}` | parameters that are used on the scrape target required for functional dashboard | | podSecurityContext.runAsGroup | int | `3642` | | | podSecurityContext.runAsNonRoot | bool | `true` | | diff --git a/charts/nut-exporter/dashboards/default.json b/charts/nut-exporter/dashboards/default.json index 54a2abc89..5d9b12034 100755 --- a/charts/nut-exporter/dashboards/default.json +++ b/charts/nut-exporter/dashboards/default.json @@ -145,7 +145,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_ups_status == 1", + "expr": "max by (ups, flag) (network_ups_tools_ups_status) == 1", "interval": "", "legendFormat": "{{flag}}", "refId": "A" @@ -211,7 +211,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_device_info{ups=\"$ups\"}", + "expr": "max by (ups, model, mfr, serial) (network_ups_tools_device_info{ups=\"$ups\"})", "interval": "", "legendFormat": "{{mfr}}", "refId": "A" @@ -277,7 +277,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_device_info{ups=\"$ups\"}", + "expr": "max by (ups, model, mfr, serial) (network_ups_tools_device_info{ups=\"$ups\"})", "interval": "", "legendFormat": "{{model}}", "refId": "A" @@ -351,7 +351,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_battery_charge{ups=\"$ups\"}", + "expr": "min by (ups) (network_ups_tools_battery_charge{ups=\"$ups\")}", "instant": false, "interval": "", "legendFormat": "", @@ -431,7 +431,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_battery_runtime{ups=\"$ups\"}", + "expr": "min by (ups) (network_ups_tools_battery_runtime{ups=\"$ups\")}", "interval": "", "legendFormat": "", "refId": "A" @@ -540,7 +540,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_ups_load{ups=\"$ups\"}", + "expr": "max by (ups) (network_ups_tools_ups_load{ups=\"$ups\"})", "interval": "", "legendFormat": "", "refId": "A" @@ -635,7 +635,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_battery_runtime{ups=\"$ups\"}", + "expr": "min by (ups) (network_ups_tools_battery_runtime{ups=\"$ups\"})", "interval": "", "legendFormat": "", "refId": "A" @@ -710,7 +710,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_input_voltage{ups=\"$ups\"}", + "expr": "avg by (ups) (network_ups_tools_input_voltage{ups=\"$ups\"})", "interval": "", "legendFormat": "", "refId": "A" @@ -771,7 +771,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_input_voltage{ups=\"$ups\"}", + "expr": "avg by (ups) (network_ups_tools_input_voltage{ups=\"$ups\"})", "interval": "", "legendFormat": "", "refId": "A" @@ -888,7 +888,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_battery_voltage{ups=\"$ups\"}", + "expr": "min by (ups) (network_ups_tools_battery_voltage{ups=\"$ups\"})", "interval": "", "legendFormat": "", "refId": "A" @@ -949,7 +949,7 @@ "type": "prometheus", "uid": "${datasource}" }, - "expr": "network_ups_tools_battery_voltage{ups=\"$ups\"}", + "expr": "min by (ups) (network_ups_tools_battery_voltage{ups=\"$ups\"})", "interval": "", "legendFormat": "", "refId": "A" diff --git a/charts/nut-exporter/templates/podmonitor.yaml b/charts/nut-exporter/templates/podmonitor.yaml index a20f34470..537d71d98 100644 --- a/charts/nut-exporter/templates/podmonitor.yaml +++ b/charts/nut-exporter/templates/podmonitor.yaml @@ -26,6 +26,7 @@ spec: params: {{ toYaml . | nindent 8}} {{- end }} + {{- with .Values.podMonitor.metricLabels }} jobLabel: nut-exporter namespaceSelector: matchNames: diff --git a/charts/nut-exporter/values.yaml b/charts/nut-exporter/values.yaml index 9f7c3729b..ca99461cc 100644 --- a/charts/nut-exporter/values.yaml +++ b/charts/nut-exporter/values.yaml @@ -13,9 +13,9 @@ dashboard: podMonitor: enabled: true labels: {} - relabelings: [] - # - replacement: "My UPS" - # targetLabel: ups + relabelings: + - source_labels: [__param_ups] + target_label: ups # -- parameters that are used on the scrape target required for functional dashboard params: {} # ups: -- GitLab