node_exporter/collector
Benjamin Drung 6ac6ea2d13 ethtool: Sanitize metric names
OpenMetrics and the Prometheus exposition format require the metric name
to consist only of alphanumericals and "_", ":" and they must not start
with digits. The metric names from the ethtool stats might contain
spaces, brackets, and dots. Converting them directly to metric names
will produce invalid metric names.

Therefore sanitize the metric names and convert them to lower case.

Fixes: https://github.com/prometheus/node_exporter/issues/2083
Signed-off-by: Benjamin Drung <benjamin.drung@ionos.com>
2021-08-16 15:28:27 +02:00
..
fixtures Bump prometheus/procfs library 2021-07-21 21:40:21 +02:00
fixtures_bindmount/proc fix issue where rootfs path strips to the empty string (#1464) 2019-09-09 17:39:24 +02:00
fixtures_hidepid/proc Add fallback for missing /proc/1/mounts (#1172) 2018-11-30 14:01:55 +01:00
arp_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
bcache_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
bonding_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
bonding_linux_test.go Rearrange fixtures to match "real" proc and sys. 2015-09-28 13:56:22 +00:00
boot_time_bsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
boot_time_openbsd_amd64.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
boot_time_solaris.go Update go-kstat location 2021-07-06 11:44:18 +02:00
btrfs_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
btrfs_linux_test.go Add Btrfs collector (#1512) 2020-02-19 15:48:51 +01:00
buddyinfo.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
collector.go Update logic 2021-06-04 11:35:07 +02:00
conntrack_linux.go Fix conntrack collector log noise 2021-07-15 13:45:07 +02:00
cpu_common.go Fix capitalization of CPU acronym throughout 2020-09-03 23:34:33 +02:00
cpu_darwin.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
cpu_dragonfly.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
cpu_dragonfly_test.go Add test 2016-09-28 09:10:05 +02:00
cpu_freebsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
cpu_linux.go Handle small backwards jumps in CPU idle 2021-07-07 12:24:46 +02:00
cpu_linux_test.go Handle small backwards jumps in CPU idle 2021-07-07 12:24:46 +02:00
cpu_openbsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
cpu_openbsd_amd64.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
cpu_solaris.go Update go-kstat location 2021-07-06 11:44:18 +02:00
cpufreq_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
cpufreq_solaris.go Update go-kstat location 2021-07-06 11:44:18 +02:00
devstat_dragonfly.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
devstat_freebsd.c Add missing license headers 2017-01-05 06:18:34 +01:00
devstat_freebsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
devstat_freebsd.h Add missing license headers 2017-01-05 06:18:34 +01:00
diskstats_common.go Add diskstats collector for OpenBSD (#1250) 2019-02-06 11:36:22 +01:00
diskstats_darwin.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
diskstats_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
diskstats_linux_test.go Add new counters for flush requests in Linux 5.5 (#1548) 2019-11-25 13:16:15 -06:00
diskstats_openbsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
diskstats_openbsd_amd64.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
drbd_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
edac_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
entropy_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
ethtool_linux.go ethtool: Sanitize metric names 2021-08-16 15:28:27 +02:00
ethtool_linux_test.go ethtool: Sanitize metric names 2021-08-16 15:28:27 +02:00
exec_bsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
fibrechannel_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
filefd_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
filefd_linux_test.go Fix scanner usage without error handling 2017-02-28 16:04:25 -04:00
filesystem_bsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
filesystem_common.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
filesystem_freebsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
filesystem_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
filesystem_linux_test.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
filesystem_openbsd_amd64.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
helper.go helper: Add new bytesToString function and tests 2020-06-03 11:33:10 +02:00
helper_test.go helper_test: Fix copyright year 2020-06-03 11:33:10 +02:00
hwmon_linux.go Merge pull request #1887 from prometheus/superq/promhttp_errorlog 2021-06-03 16:38:30 +02:00
infiniband_linux.go Add more IB counters 2021-07-06 11:15:32 -04:00
interrupts_common.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
interrupts_linux.go Use Go 1.13 error features 2020-06-16 14:47:03 +02:00
interrupts_linux_test.go Fix off by one in Linux interrupts collector (#721) 2017-11-02 09:59:46 +01:00
interrupts_openbsd.go fixed build 2020-11-12 23:37:56 +01:00
interrupts_openbsd_amd64.go move const values to iota plus code cleanup 2020-11-12 23:37:57 +01:00
ipvs_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
ipvs_linux_test.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
ksmd_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
kvm_bsd.c Move FreeBSD/DragonflyBSD out of meminfo add kvm. (#547) 2018-01-04 12:23:26 +01:00
kvm_bsd.go Fix collectors' build tags 2020-06-12 10:26:30 +02:00
kvm_bsd.h Move FreeBSD/DragonflyBSD out of meminfo add kvm. (#547) 2018-01-04 12:23:26 +01:00
loadavg.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
loadavg_bsd.go Implement loadavg on all BSDs without cgo (#1584) 2020-02-18 14:14:35 +01:00
loadavg_linux.go Use Go 1.13 error features 2020-06-16 14:47:03 +02:00
loadavg_linux_test.go Add load5 and load15 to linux load metric 2015-10-17 13:07:39 +00:00
loadavg_solaris.go Update go-kstat location 2021-07-06 11:44:18 +02:00
logind_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
logind_linux_test.go Fix all open go lint and vet issues 2017-02-28 13:05:38 -04:00
mdadm_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
meminfo.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
meminfo_darwin.go Fix up Darwin swap metrics 2020-02-19 15:52:47 +01:00
meminfo_linux.go Use Go 1.13 error features 2020-06-16 14:47:03 +02:00
meminfo_linux_test.go Make metrics better follow guidelines (#787) 2018-01-17 17:55:55 +01:00
meminfo_numa_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
meminfo_numa_linux_test.go Add Linux NUMA "numastat" metrics (#249) 2016-10-12 13:07:49 +02:00
meminfo_openbsd.go more build fixes 2020-11-12 23:37:56 +01:00
meminfo_openbsd_amd64.go Fix wrong value for OpenBSD memory buffer cache 2021-04-03 16:57:56 +02:00
memory_bsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
mountstats_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netclass_linux.go netclass: retrieve interface names and filter before parsing 2021-06-28 10:53:51 +02:00
netdev_bsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netdev_common.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netdev_darwin.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netdev_filter.go Move ignore/accept to new netDevFilter struct 2020-08-26 11:33:05 +02:00
netdev_filter_test.go Move ignore/accept to new netDevFilter struct 2020-08-26 11:33:05 +02:00
netdev_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netdev_linux_test.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netdev_openbsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netdev_openbsd_amd64.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netstat_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
netstat_linux_test.go Adds metrics and tests for UDP receive and send buffer errors (#1534) 2020-02-19 14:41:40 +01:00
network_route_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
nfs_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
nfsd_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
ntp.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
nvme_linux.go Add nvme collector 2021-07-06 13:38:15 +02:00
paths.go fix issue where rootfs path strips to the empty string (#1464) 2019-09-09 17:39:24 +02:00
paths_test.go Replace --collectors.enabled with per-collector flags (#640) 2017-09-28 15:06:26 +02:00
perf_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
perf_linux_test.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
powersupplyclass.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
pressure_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
processes_linux.go Fix processes collector long int parsing 2021-08-06 05:55:24 +02:00
processes_linux_test.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
qdisc_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
rapl_linux.go Fix rapl collector log noise 2021-07-21 19:28:54 +02:00
runit.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
schedstat_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
sockstat_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
softnet_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
stat_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
supervisord.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
sysctl_bsd.go Fix collectors' build tags 2020-06-12 10:26:30 +02:00
sysctl_openbsd_amd64.go skip null bytes at the end of strings 2020-11-12 23:37:57 +01:00
systemd_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
systemd_linux_test.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
tapestats_linux.go Add tapestats to collect tape devices statistics 2021-07-09 21:01:08 -03:00
tcpstat_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
tcpstat_linux_test.go Add gauges for allocated memory for queued UDP and TCP packages (#1503) 2020-03-31 10:46:32 +02:00
textfile.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
textfile_test.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
thermal_zone_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
time.go Add time zone offset metric 2021-07-01 11:25:53 +02:00
timex.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
udp_queues_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
uname.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
uname_bsd.go Extends uname collector to export on Darwin OS (#1433) 2019-08-03 12:32:43 +02:00
uname_linux.go collector: Implement uname collector for FreeBSD (#1239) 2019-02-05 17:39:24 +01:00
vmstat_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
wifi_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
xfs_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
zfs.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
zfs_freebsd.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
zfs_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00
zfs_linux_test.go Expose zfs zpool state 2020-10-27 17:39:13 +03:00
zfs_solaris.go Update go-kstat location 2021-07-06 11:44:18 +02:00
zoneinfo_linux.go Add ErrorLog plumbing to promhttp 2021-06-03 10:47:41 +02:00