Network Managerが自分のネットワークに関する統計情報を報告しないのはなぜですか?

Network Managerが自分のネットワークに関する統計情報を報告しないのはなぜですか?

Centos Stream 8では、Network ManagerのD-Bus APIがorg.freedesktop.NetworkManager.Device.Statistics表示されます。これは、コンピュータのログインおよびループバックに使用されるアクティブイーサネットポートを含むすべてのネットワークインターフェイスに適用されます。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信号を「購読」することを意味します。

関連情報