mirror of
https://github.com/prometheus/node_exporter.git
synced 2025-08-20 18:33:52 -07:00
Merge 456f4e039f
into be19d537cd
This commit is contained in:
commit
658c6b83ca
|
@ -148,7 +148,7 @@ func (c *netDevCollector) Update(ch chan<- prometheus.Metric) error {
|
||||||
"info"), "node network address by device",
|
"info"), "node network address by device",
|
||||||
[]string{"device", "address", "netmask", "scope"}, nil)
|
[]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,
|
ch <- prometheus.MustNewConstMetric(desc, prometheus.GaugeValue, 1,
|
||||||
addr.device, addr.addr, addr.netmask, addr.scope)
|
addr.device, addr.addr, addr.netmask, addr.scope)
|
||||||
}
|
}
|
||||||
|
@ -180,10 +180,14 @@ func scope(ip net.IP) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
// getAddrsInfo returns interface name, address, scope and netmask for all interfaces.
|
// 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
|
var res []addrInfo
|
||||||
|
|
||||||
for _, ifs := range interfaces {
|
for _, ifs := range interfaces {
|
||||||
|
if filter.ignored(ifs.Name) {
|
||||||
|
logger.Debug("Ignoring device", "device", ifs.Name)
|
||||||
|
continue
|
||||||
|
}
|
||||||
addrs, _ := ifs.Addrs()
|
addrs, _ := ifs.Addrs()
|
||||||
for _, addr := range addrs {
|
for _, addr := range addrs {
|
||||||
ip, ipNet, err := net.ParseCIDR(addr.String())
|
ip, ipNet, err := net.ParseCIDR(addr.String())
|
||||||
|
|
Loading…
Reference in a new issue