diff --git a/collector/kernel_hung_linux.go b/collector/kernel_hung_linux.go index cf842d0b..fe8a07ba 100644 --- a/collector/kernel_hung_linux.go +++ b/collector/kernel_hung_linux.go @@ -46,7 +46,7 @@ func NewKernelHungCollector(logger *slog.Logger) (Collector, error) { var ( taskDetectCount = prometheus.NewDesc( prometheus.BuildFQName(namespace, "kernel_hung", "task_detect_count"), - "Total number of interrupts serviced.", + "Total number of tasks that have been detected as hung since the system booted.", nil, nil, ) ) diff --git a/collector/netdev_common.go b/collector/netdev_common.go index 091f3464..f37a7085 100644 --- a/collector/netdev_common.go +++ b/collector/netdev_common.go @@ -146,7 +146,7 @@ func (c *netDevCollector) Update(ch chan<- prometheus.Metric) error { "info"), "node network address by device", []string{"device", "address", "netmask", "scope"}, nil) - for _, addr := range getAddrsInfo(interfaces) { + for _, addr := range getAddrsInfo(interfaces, &c.deviceFilter, c.logger) { ch <- prometheus.MustNewConstMetric(desc, prometheus.GaugeValue, 1, addr.device, addr.addr, addr.netmask, addr.scope) } @@ -178,10 +178,14 @@ func scope(ip net.IP) string { } // getAddrsInfo returns interface name, address, scope and netmask for all interfaces. -func getAddrsInfo(interfaces []net.Interface) []addrInfo { +func getAddrsInfo(interfaces []net.Interface, filter *deviceFilter, logger *slog.Logger) []addrInfo { var res []addrInfo for _, ifs := range interfaces { + if filter.ignored(ifs.Name) { + logger.Debug("Ignoring device", "device", ifs.Name) + continue + } addrs, _ := ifs.Addrs() for _, addr := range addrs { ip, ipNet, err := net.ParseCIDR(addr.String())