Network Manager가 내 네트워크에 대한 통계를 보고하지 않는 이유는 무엇입니까?

Network Manager가 내 네트워크에 대한 통계를 보고하지 않는 이유는 무엇입니까?

Centos Stream 8에서 Network Manager의 D-Bus API를 보고 있는데 및를 org.freedesktop.NetworkManager.Device.Statistics포함한 모든 속성에 대해 전체 인터페이스가 0으로 표시됩니다 . 이는 컴퓨터 로그인 및 루프백에 사용되는 활성 이더넷 포트를 포함한 모든 네트워크 인터페이스에 적용됩니다.RxBytesTxBytes

실제로 이 정보를 가지고 있는 다른 개체 유형이 있습니까? 이 인터페이스는 더 이상 사용되지 않습니까? 어딘가에서 녹음을 시작하려면 메소드를 실행해야 합니까? 어떻게든 변경 사항을 구독해야 합니까? 이는 nm-settings-ifcfg-rh와 관련이 있습니까?

Netstat는 문제 없이 이러한 통계를 보고합니다. Ubuntu 22.04에서는 이를 보고하지만 루프백에만 해당됩니다.

편집: Ubuntu 장치를 사용하고 있다고 생각했는데 실제로는 Centos 장치입니다.

답변1

이러한 전송 통계는 기본적으로 약간의 (작은?) 오버헤드가 있고 기본적으로 비활성화되어 있는 커널 API를 폴링합니다.

사실 넷링크에서 직접 정보를 얻는 것과 같습니다.

어쨌든 이 폴링을 활성화하려면

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

여기서 D-Bus Path는 에서 얻는 경로입니다 nmcli -g GENERAL.DBUS-PATH device show eth0.

어떻게든 변경 사항을 구독해야 합니까?

이러한 속성은 D-Bus에서 사용할 수 있으며 RefreshRateMs밀리초마다 업데이트됩니다. 이 속성을 폴링하거나 신호를 들을 수 있습니다. 후자는 PropertiesChangedD-Bus 신호를 "구독"한다는 의미입니다.

관련 정보