Skip to content

Commit b644734

Browse files
DerRockWolfdiscordianfish
authored andcommitted
fix(netdev): respect deviceFilter for node_network_address_info metric
Signed-off-by: RockWolf <git@rockwolf.eu>
1 parent b306b63 commit b644734

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

collector/netdev_common.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func (c *netDevCollector) Update(ch chan<- prometheus.Metric) error {
146146
"info"), "node network address by device",
147147
[]string{"device", "address", "netmask", "scope"}, nil)
148148

149-
for _, addr := range getAddrsInfo(interfaces) {
149+
for _, addr := range getAddrsInfo(interfaces, &c.deviceFilter, c.logger) {
150150
ch <- prometheus.MustNewConstMetric(desc, prometheus.GaugeValue, 1,
151151
addr.device, addr.addr, addr.netmask, addr.scope)
152152
}
@@ -178,10 +178,14 @@ func scope(ip net.IP) string {
178178
}
179179

180180
// getAddrsInfo returns interface name, address, scope and netmask for all interfaces.
181-
func getAddrsInfo(interfaces []net.Interface) []addrInfo {
181+
func getAddrsInfo(interfaces []net.Interface, filter *deviceFilter, logger *slog.Logger) []addrInfo {
182182
var res []addrInfo
183183

184184
for _, ifs := range interfaces {
185+
if filter.ignored(ifs.Name) {
186+
logger.Debug("Ignoring device", "device", ifs.Name)
187+
continue
188+
}
185189
addrs, _ := ifs.Addrs()
186190
for _, addr := range addrs {
187191
ip, ipNet, err := net.ParseCIDR(addr.String())

0 commit comments

Comments
 (0)