Commit graph

948 commits

Author SHA1 Message Date
Remi Jouannet df1b53bee2
softnet: additionals metrics from softnet_data, (#2592)
* softnet: additionals metrics from softnet_data, https://github.com/prometheus/procfs/pull/473
---------

Signed-off-by: remi <remijouannet@gmail.com>
Signed-off-by: Rémi Jouannet <remijouannet@gmail.com>
2023-05-24 17:23:13 +02:00
Benoît Knecht c05b97ce32
collector/diskstats: Use SCSI_IDENT_SERIAL as serial (#2612)
On most hard drives, `ID_SERIAL_SHORT` and `SCSI_IDENT_SERIAL` are identical,
but on some SAS drives they do differ. In that case, `SCSI_IDENT_SERIAL`
corresponds to the serial number printed on the drive label, and to the value
returned by `smartctl -i`.

So use that value by default for the `serial` label on the `node_disk_info`
metric, and fallback to `ID_SERIAL_SHORT` only if it's undefined.

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
2023-05-24 10:19:18 +02:00
Ben Kochie da0b2ca3c2 Deprecate supervisord collector
Mark the `supervisord` as deprecated. This process
supevisor, like `runit`, is of scope for the node_exporter.

Signed-off-by: Ben Kochie <superq@gmail.com>
2023-05-23 18:10:42 +02:00
dongjiang 1bbb2a94c0
fix(zfs): add memory_available_bytes, fix dbufstats filename on Linux (#2687)
* Fix zfs memory_available_bytes collector
* Fix zfs dbufstats collector
---------

Signed-off-by: dongjiang1989 <dongjiang1989@126.com>
2023-05-23 11:13:48 +02:00
Ben Kochie 3f64e91b0d
Update Go modules (#2695)
Update Prometheus modules to latest releases.
* Add missing fixtures for cpus online/offline.

Signed-off-by: Ben Kochie <superq@gmail.com>
2023-05-23 06:14:58 +02:00
Ben Kochie d2dd793e39
Update e2e output fixtures (#2696)
Fix up correct e2e output for node_power_supply_info.

Signed-off-by: Ben Kochie <superq@gmail.com>
2023-05-22 17:28:45 +02:00
Sal Sal dcb10ff291
bcache: remove cache_readaheads_totals metrics #2103 (#2583)
* bcache: remove cache_readaheads_totals metrics #2103

Signed-off-by: Saleh Sal <0xack13@gmail.com>

* Append bcacheReadaheadMetrics when CacheReadaheads value exists

Signed-off-by: Saleh Sal <0xack13@gmail.com>

* Update test cases for cachereadahead greater than zero

Signed-off-by: Saleh Sal <0xack13@gmail.com>

---------

Signed-off-by: Saleh Sal <0xack13@gmail.com>
2023-05-20 14:13:07 +02:00
cui fliter 287414bc65
collector: fix comment and remove redundant parentheses (#2691)
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-05-17 18:04:50 +02:00
Claudio Jeker 184a4e0893
Fix filesystem collector for OpenBSD to not print loads of zero bytes in name (#2637)
Use the filesystem collector for all OpenBSD archs, there is no reason to
only use it on amd64 systems.

Signed-off-by: Claudio Jeker <claudio@openbsd.org>
2023-05-11 10:40:38 +02:00
Claudio Jeker 6251cc7b6c
Do not hand define struct clockinfo here. Instead use the version from (#2663)
x/sys/unix. The clockinfo struct was altered beginning of 2021 and this
code was not adjusted.

Signed-off-by: Claudio Jeker <claudio@openbsd.org>
2023-05-11 10:39:51 +02:00
Jonathan Davies 29c97c2197
collector/netisr_freebsd.go: Added collector for netisr subsystem. (#2668)
Signed-off-by: Jonathan Davies <jpds@protonmail.com>
2023-05-11 10:34:26 +02:00
Johannes Ziemke 180879e1c4 Use go-runit fork, mark collector as deprecated
Signed-off-by: Johannes Ziemke <github@5pi.de>
2023-05-09 11:42:21 +02:00
Maximilian Wilhelm c8129fadd6
Expose administrative state of network interfaces as 'adminstate'. (#2515)
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2023-05-02 15:25:05 +02:00
Pablo Caderno d31af1d1e5
feat: added suspended as a node_zfs_zpool_state (#2449)
Signed-off-by: Pablo Caderno <kaderno@gmail.com>
2023-04-26 18:12:54 +02:00
Matthias Petermann b87c6a8826
NetBSD support for CPU collector (#2626)
* Added CPU collector for NetBSD to provide load and temperature statistics

---------

Signed-off-by: Matthias Petermann <mp@petermann-it.de>
2023-04-07 13:35:33 +02:00
Lukas Coppens 1724b28d27 feat: add support for cpu freq governor metrics
Signed-off-by: Lukas Coppens <lukas.coppens@be-mobile.com>
2023-03-10 18:19:33 +01:00
Lukas Coppens fe19fdd1e8 feat: add support for cpu freq governor metrics
Signed-off-by: Lukas Coppens <lukas.coppens@be-mobile.com>
2023-03-10 18:19:33 +01:00
Daniël van Eeden 8d3c594346
interrupts_linux: Fix fields on aarch64 (#2631)
* interrupts_linux: Fix fields on aarch64

Fixes #2557

---------

Signed-off-by: Daniël van Eeden <git@myname.nl>
2023-03-10 13:02:33 +01:00
Ben Kochie 3691cb9faf
Update build
* Update Go to 1.20
* Update golangci-lint.
* Update CI orb.
* Fix staticcheck issue in perf collector.

Signed-off-by: Ben Kochie <superq@gmail.com>
2023-03-08 11:16:10 +01:00
Ben Kochie 2f20a9bb3c
Merge pull request #2603 from prometheus/superq/deprecate_ntp
Deprecate ntp collector
2023-03-07 17:37:19 +01:00
Ben Kochie c23b76bfbb
Update exporter-toolkit
* Bump exporter-toolkit to the latest release.
* Use new toolkit landing page function.
* Update kingpin flags.

Signed-off-by: Ben Kochie <superq@gmail.com>
2023-03-07 15:18:38 +01:00
Haoyu Sun 37d49746bc Remove metrics of offline CPUs in CPU collector
Signed-off-by: Haoyu Sun <hasun@redhat.com>
2023-03-07 14:01:02 +01:00
Ben Kochie c914f00526
Merge pull request #2587 from prometheus/superq/cpufreq_common
Optimize cpufreq collector
2023-02-25 20:18:24 +01:00
Ben Kochie c8705ec4b2
Deprecate ntp collector
The ntp collector has always been a source of confusion and problems.
The data it produces is more of a blackbox probe against an NTP server.
The time sync / offset data produced is not what users expect.

Mark this collector as deprecated to be removed in v2.0.0

Signed-off-by: Ben Kochie <superq@gmail.com>
2023-02-16 09:27:38 +01:00
Ben Kochie 3cd9b163e6
Optimize cpufreq collector
Move metric descriptiions to package vars to avoid allocating them every
time `NewCPUFreqCollector()` is called.

Signed-off-by: Ben Kochie <superq@gmail.com>
2023-01-28 11:42:02 +01:00
David O'Rourke 9232df7237 memory_bsd: Fix a problem fetching the user wire count on FreeBSD
Signed-off-by: David O'Rourke <david.orourke@gmail.com>
2023-01-26 02:55:32 +00:00
Benny Siegert 131ff8a042 NetBSD support for the meminfo collector
This depends on a recent change to golang.org/x/sys that adds a
unix.SysctlUvmexp function.

Signed-off-by: Benny Siegert <bsiegert@gmail.com>
2023-01-23 16:54:35 +00:00
Ben Kochie 2d77d8c562
Update e2e output for new common version.
Signed-off-by: Ben Kochie <superq@gmail.com>
2023-01-20 10:38:19 +01:00
Jia Xin 39b4556b5b fix cpustat when some cpus are offline
Signed-off-by: Jia Xin <alexjx@gmail.com>
2023-01-20 01:24:06 +00:00
Benny Siegert 701912b5e7 Enable uname collector on NetBSD too
This collector works just fine without any further changes.

Signed-off-by: Benny Siegert <bsiegert@gmail.com>
2022-12-31 12:02:00 +01:00
Ben Kochie efa7f24698
Fix thermal_zone collector noise
Add a check for missing/unreadable thermal zone stats and ignore if not
availlable.

Fixes: https://github.com/prometheus/node_exporter/issues/2552

Signed-off-by: Ben Kochie <superq@gmail.com>
2022-12-22 12:30:20 +01:00
Ben Kochie 4484f18566
Merge pull request #2542 from mchtech/add-perf-profiler-options
Add profiler options for perf collector
2022-12-22 10:29:03 +01:00
jalev 22e5dd2f0d Fix lint issues
Signed-off-by: jalev <qweet.ing@gmail.com>
2022-12-18 14:49:53 +01:00
James Bach a177412d06 Change var name to match previous
Signed-off-by: James Bach <james.bach@wise.com>
Signed-off-by: jalev <qweet.ing@gmail.com>
2022-12-18 14:49:53 +01:00
James Bach 5538773089 Migrate arp_linux.go to procfs
Signed-off-by: James Bach <qweet.ing@gmail.com>
Signed-off-by: James Bach <james.bach@wise.com>
Signed-off-by: jalev <qweet.ing@gmail.com>
2022-12-18 14:49:53 +01:00
mchtech f934f9cb0f add options for perf profilers
Signed-off-by: mchtech <michu_an@126.com>
2022-12-07 12:52:46 +08:00
Ben Kochie 13a5cc1f74
Refactor netclass_rtnl collector (#2528)
* Refactor netclass_rtnl collector

Merge the netclass_rtnl collector into the netclass collector.
* Disabled by default
* Followup to #2492

Signed-off-by: Ben Kochie <superq@gmail.com>
2022-11-29 11:22:25 +01:00
SUN Haoyu bba0e2e557
add RTNL version of netclass collector (#2492)
* update rtnetlink package to v1.2.3
* add RTNL version of netclass collector that have all the metrics that netdev collector provides, too.

Signed-off-by: Haoyu Sun <hasun@redhat.com>
2022-11-21 16:38:04 +01:00
Marcus Cobden 936368d217
Fix btrfs device stats always being zero (#2516)
* Respect rootfs path config option in btrfs ioctl
* Fix btrfs device stats always being zero

Signed-off-by: Marcus Cobden <leth@users.noreply.github.com>
2022-11-08 16:09:39 +01:00
Ben Kochie ba8c043079
Add procfs fallback to netdev collector (#2509)
Some systems have broken netlink messages due to patched kernels. Since
these messages can not be parsed, add a flag to fall back to parsing
from `/proc/net/dev`.

Fixes: https://github.com/prometheus/node_exporter/issues/2502

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

Signed-off-by: Ben Kochie <superq@gmail.com>
2022-10-24 10:30:32 +02:00
Daniel Swarbrick 34a498e132
Use native endianness when encoding InetDiagMsg (#2508)
Note however that the InetDiagMsg struct contains a InetDiagSockID
member, which itself contains some members which are explicitly
specified as big-endian in Linux kernel source:

struct inet_diag_sockid {
	__be16	idiag_sport;
	__be16	idiag_dport;
	__be32	idiag_src[4];
	__be32	idiag_dst[4];
	__u32	idiag_if;
	__u32	idiag_cookie[2];
};

node_exporter currently does not use these members for anything, so this
is acceptable (for now).

Signed-off-by: Daniel Swarbrick <daniel.swarbrick@gmail.com>
2022-10-22 11:05:47 +02:00
Ben Kochie 98a40bd712
Fix hwmon label sanitizer (#2504)
We don't need to fully sanitize the hwmon label values to metric/label
name strings.
* Just make sure they're valid UTF-8.
* Always included the label metric to avoid group_left failures.

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

Signed-off-by: Ben Kochie <superq@gmail.com>
2022-10-11 14:40:28 +02:00
Ben Kochie d9b2634324
Fix diskstats exclude flags (#2487)
Correctly handle the new `collector.diskstats.device-exclude` flag to
avoid errors when using the old `collector.diskstats.ignored-devices`
flag.

Fixes: https://github.com/prometheus/node_exporter/issues/2486

Signed-off-by: Ben Kochie <superq@gmail.com>
2022-09-28 15:00:37 +02:00
Darshil Chanpura daba360c93
Archived fixtures/udev similar to fixtures/sys to avoid go-get errors, fixes #2482 (#2485)
Signed-off-by: Darshil Chanpura <darshil@thatwebsite.xyz>
2022-09-27 23:07:57 +02:00
Ben Kochie 7da1321761
Release 1.4.0 (#2478)
* [CHANGE] Merge metrics descriptions in textfile collector #2475
* [FEATURE] [node-mixin] Add darwin dashboard to mixin #2351
* [FEATURE] Add "isolated" metric on cpu collector on linux #2251
* [FEATURE] Add cgroup summary collector #2408
* [FEATURE] Add selinux collector #2205
* [FEATURE] Add slab info collector #2376
* [FEATURE] Add sysctl collector #2425
* [FEATURE] Also track the CPU Spin time for OpenBSD systems #1971
* [FEATURE] Add support for MacOS version #2471
* [ENHANCEMENT] [node-mixin] Add missing selectors #2426
* [ENHANCEMENT] [node-mixin] Change current datasource to grafana's default #2281
* [ENHANCEMENT] [node-mixin] Change disk graph to disk table #2364
* [ENHANCEMENT] [node-mixin] Change io time units to %util #2375
* [ENHANCEMENT] Ad user_wired_bytes and laundry_bytes on *bsd #2266
* [ENHANCEMENT] Add additional vm_stat memory metrics for darwin #2240
* [ENHANCEMENT] Add device filter flags to arp collector #2254
* [ENHANCEMENT] Add diskstats include and exclude device flags #2417
* [ENHANCEMENT] Add node_softirqs_total metric #2221
* [ENHANCEMENT] Add rapl zone name label option #2401
* [ENHANCEMENT] Add slabinfo collector #1799
* [ENHANCEMENT] Allow user to select port on NTP server to query #2270
* [ENHANCEMENT] collector/diskstats: Add labels and metrics from udev #2404
* [ENHANCEMENT] Enable builds against older macOS SDK #2327
* [ENHANCEMENT] qdisk-linux: Add exclude and include flags for interface name #2432
* [ENHANCEMENT] systemd: Expose systemd minor version #2282
* [ENHANCEMENT] Use netlink for tcpstat collector #2322
* [ENHANCEMENT] Use netlink to get netdev stats #2074
* [ENHANCEMENT] Add additional perf counters for stalled frontend/backend cycles #2191
* [ENHANCEMENT] Add btrfs device error stats #2193
* [BUGFIX] [node-mixin] Fix fsSpaceAvailableCriticalThreshold and fsSpaceAvailableWarning #2352
* [BUGFIX] Fix concurrency issue in ethtool collector #2289
* [BUGFIX] Fix concurrency issue in netdev collector #2267
* [BUGFIX] Fix diskstat reads and write metrics for disks with different sector sizes #2311
* [BUGFIX] Fix iostat on macos broken by deprecation warning #2292
* [BUGFIX] Fix NodeFileDescriptorLimit alerts #2340
* [BUGFIX] Sanitize rapl zone names #2299
* [BUGFIX] Add file descriptor close safely in test #2447
* [BUGFIX] Fix race condition in os_release.go #2454
* [BUGFIX] Skip ZFS IO metrics if their paths are missing #2451

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

Signed-off-by: Ben Kochie <superq@gmail.com>
2022-09-26 14:30:51 +02:00
Marcus Cobden 135710d8b5
Add btrfs device error stats (#2193)
* Improve metrics filesystem scanning logic
* Makes ioctl syscalls to load the device error stats.
* Adds filesystem mountpoint labels to existing metrics for ease of use.

Signed-off-by: Marcus Cobden <leth@users.noreply.github.com>
2022-09-24 08:25:15 +02:00
tnextday d7e89e769d
Skip zfs iostats (#2451)
skip over the zfs IO metrics if their paths are missing

Signed-off-by: tnextday <fw2k4@163.com>

Signed-off-by: tnextday <fw2k4@163.com>
2022-09-22 19:32:31 +02:00
Guillaume E 863f3ac54c
Merge metrics descriptions in textfile collector (#2475)
The textfile collector will now provide a unified metric description
(that will look like "Metric read from file/a.prom, file/b.prom")
for metrics collected accross several text-files that don't already
have a description.

Also change the error handling in the textfile collector tests to
ContinueOnError to better mirror the real-life use-case.

Signed-off-by: Guillaume Espanel <guillaume.espanel.ext@ovhcloud.com>

Signed-off-by: Guillaume Espanel <guillaume.espanel.ext@ovhcloud.com>
2022-09-20 12:49:21 +02:00
sfreydin 31f9aefe2f
feat: add support macos version (#2471)
Signed-off-by: Serhii Freidin <sfreydin@macpaw.com>

Signed-off-by: Serhii Freidin <sfreydin@macpaw.com>
2022-09-16 13:13:06 +02:00
Robin Nabel 8755e852fa Wrap accesses of c.osFilename and c.osMtime in
mutex to prevent race condition.

Signed-off-by: Robin Nabel <rnabel@ucdavis.edu>
2022-09-06 11:37:05 +02:00