Skip to content

PMM-7 update node exporter to v1.9.1 #157

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 118 commits into
base: v3
Choose a base branch
from
Open

Conversation

BupycHuk
Copy link
Member

@BupycHuk BupycHuk commented Apr 9, 2025

No description provided.

sleiken and others added 30 commits April 29, 2024 19:38
…ags (prometheus#2979)

Signed-off-by: Sam Leiken <sam.k.leiken@gmail.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
* Sign node exporter darwin binary with rcodesign

Prevents SIGKILL issues on macs

Signed-off-by: Alper Polat <gitperr@gmail.com>

* Be explicit about checking for the binary

Co-authored-by: Ben Kochie <superq@gmail.com>
Signed-off-by: Alper Polat <101826653+gitperr@users.noreply.github.com>

* Also attempt to sign darwin-amd64

Signed-off-by: Alper Polat <gitperr@gmail.com>

---------

Signed-off-by: Alper Polat <gitperr@gmail.com>
Signed-off-by: Alper Polat <101826653+gitperr@users.noreply.github.com>
Co-authored-by: Ben Kochie <superq@gmail.com>
Replace all cpu_ticks_* with cpu_nsec_*, since the former was off my a
magnitude of 10e6, and showed incorrect values for
node_cpu_seconds_total.

Fixes: prometheus#1837

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
Check that the PSI metrics are returned in order to avoid nil pointer
dereference.
* Update fixutre to match real-world samples.

Fixes: prometheus#3015

Signed-off-by: Ben Kochie <superq@gmail.com>
* [BUGFIX] Fix CPU seconds on Solaris prometheus#2963
* [BUGFIX] Sign Darwin/MacOS binaries prometheus#3008
* [BUGFIX] Fix pressure collector nil reference prometheus#3016

Signed-off-by: Ben Kochie <superq@gmail.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
…theus#3038)

Bumps [github.com/mdlayher/wifi](https://github.com/mdlayher/wifi) from 0.1.0 to 0.2.0.
- [Release notes](https://github.com/mdlayher/wifi/releases)
- [Commits](mdlayher/wifi@v0.1.0...v0.2.0)

---
updated-dependencies:
- dependency-name: github.com/mdlayher/wifi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…prometheus#3034)

Bumps [github.com/jsimonetti/rtnetlink](https://github.com/jsimonetti/rtnetlink) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/jsimonetti/rtnetlink/releases)
- [Commits](jsimonetti/rtnetlink@v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: github.com/jsimonetti/rtnetlink
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…us#3036)

Bumps [github.com/beevik/ntp](https://github.com/beevik/ntp) from 1.3.1 to 1.4.3.
- [Release notes](https://github.com/beevik/ntp/releases)
- [Changelog](https://github.com/beevik/ntp/blob/main/RELEASE_NOTES.md)
- [Commits](beevik/ntp@v1.3.1...v1.4.3)

---
updated-dependencies:
- dependency-name: github.com/beevik/ntp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.19.0 to 1.19.1.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.19.0...v1.19.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Kangjie Xu <kanxu@ebay.com>
Co-authored-by: Kangjie Xu <kanxu@ebay.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
Running "go test" in the collector directory, without the fixtures
available, results in multiple panics, including `SIGSEGV`. Most of
these are due to incorrect error handling. This cleans them up.

Signed-off-by: Benny Siegert <bsiegert@gmail.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
…ometheus#3066)

Bumps [github.com/safchain/ethtool](https://github.com/safchain/ethtool) from 0.3.0 to 0.4.1.
- [Release notes](https://github.com/safchain/ethtool/releases)
- [Commits](safchain/ethtool@v0.3.0...v0.4.1)

---
updated-dependencies:
- dependency-name: github.com/safchain/ethtool
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Needed-for: prometheus#3032

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
Signed-off-by: mchtech <michu_an@126.com>
Signed-off-by: mchtech <michu_an@126.com>
Signed-off-by: mchtech <michu_an@126.com>
Signed-off-by: myeunee <myeunee@gmail.com>
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.53.0 to 0.55.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.53.0...v0.55.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…heus#3072)

* Add include and exclude filter for sensors in hwmon collector
Fixes prometheus#2242

This commit adds two new flags (`collector.hwmon.sensor-include` and `collector.hwmon.sensor-exclude`) to the `hwmon` collector to allow inclusion or exclusion of specific sensors.

Some devices export nonsensical values for certain sensors. Here is an example:

```
node_hwmon_temp_celsius{chip="platform_nct6775_656",sensor="temp13"} 49.75
node_hwmon_temp_celsius{chip="platform_nct6775_656",sensor="temp15"} 3.892313987e+06
node_hwmon_temp_celsius{chip="platform_nct6775_656",sensor="temp16"} 3.892313987e+06
```

As a user I would like to only exclude these sensors, not necessarily the complete device (as is currently possible with the `--collector.hwmon.chip-exclude` flag) as other sensor values might be sensical or desired.

The new option filters based both on device name and sensor name, separated by a semicolon. For example, to exclude the two sensors above, the following regex can be used:

~~~
--collector.hwmon.sensor-exclude="platform_nct6775_656;temp1[5,6]"
~~~


---------

Signed-off-by: Simon Krenger <skrenger@redhat.com>
Automatically add a uid to each dashboard.
This prevents changing URLs when restarting a grafana pod and
re-importing the dashboards via ConfigMaps.

Signed-off-by: Stefan Andres <sandres@anaconda.com>
Signed-off-by: Maarten van den Berg <maarten@channable.com>
…eus#3049)

* ref!: convert linux meminfo implementation to use procfs lib

Part of prometheus#2957

Prometheus' procfs lib supports collecting memory info and we're using a
new enough version of the lib that has it available, so this converts
the meminfo collector for Linux to use data from procfs lib instead. The
bits I've touched for darwin/openbsd/netbsd are with intent to preserve
the original struct implementation/backwards compatibility.

Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>

* fix: meminfo debug log unsupported value

Fixes:

```
ts=2024-06-11T19:04:55.591Z caller=meminfo.go:44 level=debug collector=meminfo msg="Set node_mem" memInfo="unsupported value type"
```

Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>

* fix: don't coerce nil Meminfo entries to 0, leave out if nil

Nil entries in procfs.Meminfo fields indicate that the value isn't
present on the system. Coercing those nil values to `0` introduces new
metrics on systems that should not be present and can break some
queries.

Addresses PR feedback:
prometheus#3049 (comment)
prometheus#3049 (comment)

Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>

---------

Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>
* collector/zfs: Prevent `procfs` integer underflow

Prevent integer underflow when parsing the `procfs` file as it used a
`ParseUint` to parse signed values.

Fixes: prometheus#2766
---------

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
…3073)

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.21.0 to 0.22.0.
- [Commits](golang/sys@v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
orloffv and others added 24 commits January 25, 2025 20:52
Signed-off-by: Vitaly Orlov <orloff.v@gmail.com>
Signed-off-by: Denis <denis@jig-ai.ledeuns.net>
Co-authored-by: Denis <denis@jig-ai.ledeuns.net>
…us#3177)

* Add collector for netstats tcp packet counters for FreeBSD.

Signed-off-by: K Rin <rin@sandb0x.tw>

* Update collector/netstat_freebsd.go to keep the naming convention

Co-authored-by: Ben Kochie <superq@gmail.com>
Signed-off-by: K Rin <sandb0x.tw0913@gmail.com>

---------

Signed-off-by: K Rin <rin@sandb0x.tw>
Signed-off-by: K Rin <sandb0x.tw0913@gmail.com>
Co-authored-by: Ben Kochie <superq@gmail.com>
* zfs: Allow space in dataset name

Signed-off-by: Mustafa Khafateh <m@khafateh.com>

* zfs: update fixture output for arm64

Signed-off-by: Mustafa Khafateh <m@khafateh.com>

* zfs: change pool3 name in fixture objsets

Signed-off-by: Mustafa Khafateh <m@khafateh.com>

* zfs: rename pool3 consistently in test case

Signed-off-by: Mustafa Khafateh <m@khafateh.com>

* zfs: Update amd64 e2e fixtures output

Signed-off-by: Mustafa Khafateh <m@khafateh.com>

---------

Signed-off-by: Mustafa Khafateh <m@khafateh.com>
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.28.0 to 0.29.0.
- [Commits](golang/sys@v0.28.0...v0.29.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.61.0 to 0.62.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](prometheus/common@v0.61.0...v0.62.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
* collector/diskstats: add block device rotational

Add metric to indicate if a device is rotational or not.

Fixes: prometheus#2956

---------

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
Remove unused `queueDescs` value from diskstats collector.

Signed-off-by: Ben Kochie <superq@gmail.com>
For integration tests.

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>

chore: support non-linux GOOS in e2e tests

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>

chore: support e2e tests on freebsd

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>

chore: support e2e tests on openbsd

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>

chore: support e2e tests on netbsd

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>

chore: support e2e tests on solaris

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>

chore: support e2e tests on dragonfly

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>

chore: drop support for e2e tests on solaris

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
* chore: ignore/include metrics for FreeBSD

Ignore non-deterministic metrics and include deterministic ones.

Use go123 for NetBSD from upstream release channel rather than the
package manager as that doesn't exist.
* https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.0_2024Q4/All/

---------

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
…#3239)

ethtool only uses the device names from `NetClassDevices()`,
not the whole NetClass data from `NetClass()`.
Improves ethtool collector performance on systems with lots of excluded devices.

Signed-off-by: Will Jordan <will.jordan@gmail.com>
* Add NodeSystemdServiceCrashlooping alert

---------

Signed-off-by: Vitaly Zhuravlev <v-zhuravlev@users.noreply.github.com>
…3246)

Bumps [github.com/prometheus/exporter-toolkit](https://github.com/prometheus/exporter-toolkit) from 0.13.2 to 0.14.0.
- [Release notes](https://github.com/prometheus/exporter-toolkit/releases)
- [Changelog](https://github.com/prometheus/exporter-toolkit/blob/master/CHANGELOG.md)
- [Commits](prometheus/exporter-toolkit@v0.13.2...v0.14.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/exporter-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…rometheus#3245)

Bumps [github.com/safchain/ethtool](https://github.com/safchain/ethtool) from 0.5.9 to 0.5.10.
- [Release notes](https://github.com/safchain/ethtool/releases)
- [Commits](safchain/ethtool@v0.5.9...v0.5.10)

---
updated-dependencies:
- dependency-name: github.com/safchain/ethtool
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3247)

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.29.0 to 0.30.0.
- [Commits](golang/sys@v0.29.0...v0.30.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* [CHANGE] meminfo: Convert linux implementation to use procfs lib prometheus#3049
* [CHANGE] Update logging to use Go log/slog prometheus#3097
* [FEATURE] filesystem: Add `node_filesystem_mount_info` metric prometheus#2970
* [FEATURE] btrfs: Add metrics for commit statistics prometheus#3010
* [FEATURE] interrupts: Add collector include/exclude filtering prometheus#3028
* [FEATURE] interrupts: Add "exclude zeros" filtering prometheus#3028
* [FEATURE] slabinfo: Add filters for slab name. prometheus#3041
* [FEATURE] pressure: add IRQ PSI metrics prometheus#3048
* [FEATURE] hwmon: Add include and exclude filter for sensors prometheus#3072
* [FEATURE] filesystem: Add NetBSD support prometheus#3082
* [FEATURE] netdev: Add ifAlias label prometheus#3087
* [FEATURE] hwmon: Add Support for GPU Clock Frequencies prometheus#3093
* [FEATURE] Add `exclude[]` URL parameter prometheus#3116
* [FEATURE] Add AIX support prometheus#3136
* [FEATURE] filesystem: Add fs-types/mount-points include flags prometheus#3171
* [FEATURE] netstat: Add collector for tcp packet counters for FreeBSD. prometheus#3177
* [ENHANCEMENT] ethtool: Add logging for filtering flags prometheus#2979
* [ENHANCEMENT] netstat: Add TCPRcvQDrop to default metrics prometheus#3021
* [ENHANCEMENT] diskstats: Add block device rotational prometheus#3022
* [ENHANCEMENT] cpu: Support CPU online status prometheus#3032
* [ENHANCEMENT] arp: optimize interface name resolution prometheus#3133
* [ENHANCEMENT] textfile: Allow specifiying multiple directory globs prometheus#3135
* [ENHANCEMENT] filesystem: Add reporting of purgeable space on MacOS prometheus#3206
* [ENHANCEMENT] ethtool: Skip full scan of NetClass directories prometheus#3239
* [BUGFIX] zfs: Prevent `procfs` integer underflow prometheus#2961
* [BUGFIX] pressure: Fix collection on systems that do not expose a full CPU stat prometheus#3054
* [BUGFIX] cpu: Fix FreeBSD 32-bit host support and plug memory leak prometheus#3083
* [BUGFIX] hwmon: Add safety check to hwmon read prometheus#3134
* [BUGFIX] zfs: Allow space in dataset name prometheus#3186

Signed-off-by: Ben Kochie <superq@gmail.com>
* Avoid memory leak by using value rather than reference. (prometheus#3277)

Signed-off-by: Rolf Klemenz <tickez@madnet.ch>

* pressure: Fix missing IRQ on older kernels (prometheus#3263)

Fix "no data" error on kernels that support some PSI status, but don't
yet have IRQ presure metrics. Only report "no data" error if `pressure`
is enabled and no PSI metrics were found.

Fixes: prometheus#3259

Signed-off-by: Ben Kochie <superq@gmail.com>

* Release v1.9.1

* [BUGFIX] pressure: Fix missing IRQ on older kernels prometheus#3263
* [BUGFIX] Fix Darwin memory leak prometheus#3277

Signed-off-by: Ben Kochie <superq@gmail.com>

---------

Signed-off-by: Rolf Klemenz <tickez@madnet.ch>
Signed-off-by: Ben Kochie <superq@gmail.com>
Co-authored-by: Rolf Klemenz <tickez@madnet.ch>
v1.9.1

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEoFiTUofnXYMugU5GxkayPJ4yRfEFAmfsAuEACgkQxkayPJ4y
# RfGhPA//UtPGBMNm3z6F4kAeyd/ygsI270dvzDlrufctx5tOJWdJoA/g1+UhxlHs
# +6ZRT936Ht79XbUZwfqoxAB/sPm5tKycd6WZKbnvwSri1bYejd5ysaSjD+wFvik1
# 51F1TLiGFNaxHceEKk7R/mdF1ei2mhAeZCIXSgO4bgfjpC5xoFZlCHVUSHYzmoAT
# JH3U1HpprCcGbQUERjU/FZ1um8o6gdBeXWJ0DzXCCICZMDRPocsRkCeDGlBHRuyY
# 7xshGJfV+qRTIUCcjEsSEiXIs+seUfRlAxCkfOwzZW5qXsQKtXLIRfm3F9RDhdWU
# c5ZZjMPg9YlO+xOoMbwqSMeewyp7RYB7SMLM3ecIY3jde3qV2EFOY1HqXDHWZf0G
# jkS4NCIW+FjWrxbzij5QhGU7Un9hMiC0zAz4mCQlcuNzxnS6xfXSzDckP/dRbFcV
# 02gKibVYzWIjfe4v3cC/j05G+pvU3tRtW3g1uP64IYT/gdRKV3r01bg6oE4fCk3h
# JpdROje0+wR/ee4GZM/S+ejU7aLnCzvQIUE79BpZUmOTlCzVTzqHC/yVjL49476R
# h6EsqjQ/NCuqLIzpEuXTi8sKOwIbxZ3ZooJu50JUmhPzfTnmGjIKQDBLKpUej0MY
# HPFjh/4IltZMxVjCBMuPeVhtlc+3fPLSOdbr4BLt7s7EURb7ZgA=
# =Zf69
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Apr  1 18:14:41 2025 +03
# gpg:                using RSA key A058935287E75D832E814E46C646B23C9E3245F1
# gpg: Can't check signature: No public key

# Conflicts:
#	.github/workflows/container_description.yml
#	.github/workflows/golangci-lint.yml
#	CHANGELOG.md
#	VERSION
#	collector/ntp.go
#	collector/pressure_linux.go
#	collector/supervisord.go
#	go.mod
#	go.sum
#	node_exporter.go
Replaced go-kit/log with log/slog throughout the codebase for logging, updating function signatures and their usage accordingly. Added new dependencies (e.g., slog and related libraries) and removed unused ones, aligning the project with updated logging standards. Adjusted error handling to leverage slog's improved API for cleaner and more efficient logging.
@BupycHuk BupycHuk requested a review from a team as a code owner April 9, 2025 13:04
@BupycHuk BupycHuk requested review from ademidoff and JiriCtvrtka and removed request for a team April 9, 2025 13:04
@it-percona-cla
Copy link

it-percona-cla commented Apr 9, 2025

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 7 committers have signed the CLA.

✅ BupycHuk
❌ rexagod
❌ v-zhuravlev
❌ wjordan
❌ tnn2
❌ prombot
❌ SuperQ
You have signed the CLA already but the status is still pending? Let us recheck it.

Reordered and cleaned up import statements for consistent formatting.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.