如何使用/proc文件系统获取linux机箱的网络状态

如何使用/proc文件系统获取linux机箱的网络状态,linux,networking,statistics,stat,Linux,Networking,Statistics,Stat,我正在尝试使用/proc文件系统检索CPU、磁盘和网络统计数据。我能够成功地从/proc/stat和/proc/diskstats检索cpu和磁盘统计数据。我仍然没有找到收集网络统计数据的正确方法 我想按每个linux机箱收集的统计数据: 平均网络吞吐量 每秒接收的数据包总数 每秒传输的数据包总数 每秒接收的总KB数 每秒传输的总KB数 每秒接收的多播数据包数 当前正在使用的TCP套接字数 当前正在使用的套接字总数 我知道我可以使用sar获得这些统计数据,但我想编写一个独立的程序,执行类似于

我正在尝试使用/proc文件系统检索CPU、磁盘和网络统计数据。我能够成功地从/proc/stat和/proc/diskstats检索cpu和磁盘统计数据。我仍然没有找到收集网络统计数据的正确方法

我想按每个linux机箱收集的统计数据:

  • 平均网络吞吐量
  • 每秒接收的数据包总数
  • 每秒传输的数据包总数
  • 每秒接收的总KB数
  • 每秒传输的总KB数
  • 每秒接收的多播数据包数
  • 当前正在使用的TCP套接字数
  • 当前正在使用的套接字总数

我知道我可以使用sar获得这些统计数据,但我想编写一个独立的程序,执行类似于sar的操作。如果有人能解释sar从何处获取这些信息,以及它如何处理这些信息以定期获得这些统计数据,那就太好了

有很多很好的网络带宽监控工具,可以帮助您几乎获取这些信息,如slurm、bmon。您可以从此URL了解更多信息:-

谢谢和问候,

Alok Thaker

查看
/proc/net
中的各种文件。