Files
mfd-monitor-agent/internal/collector/network.go
codex 89d5e27874 💥 feat(agent)!: 添加主机监控代理首版
* 实现周期采集、快照缓存、本地 HTTP API 和主动上报

* 补齐 Linux 和 Windows 主机、网络、资源、进程和 TCP 采集

* 添加服务生命周期管理、配置加载、构建脚本和测试覆盖

BREAKING CHANGE: network.ips 拆分为 network.ipv4s 和 network.ipv6s。
2026-05-18 15:25:51 +00:00

28 lines
551 B
Go

package collector
import (
"net"
"sort"
)
// networkAddressSets separates interface addresses into deterministic IPv4 and IPv6 lists.
func networkAddressSets(values map[string]struct{}) (ipv4s []string, ipv6s []string) {
for value := range values {
host, _, err := net.ParseCIDR(value)
if err != nil {
host = net.ParseIP(value)
}
if host == nil {
continue
}
if host.To4() != nil {
ipv4s = append(ipv4s, value)
continue
}
ipv6s = append(ipv6s, value)
}
sort.Strings(ipv4s)
sort.Strings(ipv6s)
return ipv4s, ipv6s
}