为什么网络管理器不报告我的网络的统计信息?

为什么网络管理器不报告我的网络的统计信息?

我正在 Centos Stream 8 上查看网络管理器的 D-Bus API,整个org.freedesktop.NetworkManager.Device.Statistics界面的所有属性都显示 0,包括RxBytesTxBytes。这适用于所有网络接口,包括用于登录计算机和环回的活动以太网端口。

是否有其他对象类型实际上具有此信息?该接口是否已弃用?我是否需要运行一种方法来开始在某处录制?我需要以某种方式订阅更改吗?这与 nm-settings-ifcfg-rh 有关吗?

Netstat 报告这些统计数据没有问题。 Ubuntu 22.04 会报告它们,但仅限于环回。

编辑:我以为我使用的是 Ubuntu 设备,但实际上它是 Centos 设备。

答案1

这些传输统计信息基本上轮询内核 API,它有一些(很小?)开销,并且默认情况下被禁用。

其实和自己从netlink获取信息是一样的。

无论如何,要启用此轮询,请设置

busctl set-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/Devices/2 org.freedesktop.NetworkManager.Device.Statistics RefreshRateMs u 1000

其中 D-Bus 路径是您从 获得的路径nmcli -g GENERAL.DBUS-PATH device show eth0

我需要以某种方式订阅更改吗?

D-Bus 上有这些属性,每RefreshRateMs毫秒更新一次。您可以轮询此属性,或监听信号。后者意味着您“订阅” PropertiesChangedD-Bus 信号

相关内容