您的位置:

nethogs-解读网络占用状况

一、nethogs怎么读

nethogs是一个可以帮助我们监测网络占用情况的工具,它可以告诉我们是哪些进程正在占用网络带宽,并且可以实时显示这些进程的上传下载速度和带宽占用率。这个工具可以方便地帮助我们掌握网络的使用状况,避免网络资源被占用过多,从而影响其他任务的正常运行。

二、nethogs操作说明

nethogs的操作非常简单,我们只需要在命令行中输入nethogs,就可以启动这个工具。启动后,我们可以看到一个类似于top命令的窗口,列出了当前正在占用网络资源的进程名称、进程ID、上传速度和下载速度等信息。可以使用键盘上的方向键来控制窗口内信息的滚动,也可以使用Ctrl+C快捷键退出。

三、nethogs命令

nethogs的常用命令如下:

nethogs:启动nethogs
nethogs -V:显示nethogs版本
nethogs -h:显示nethogs命令帮助说明
nethogs -d seconds:自动更新数据,在seconds秒内更新一次
nethogs -t:显示TCP连接
nethogs -u:显示UDP连接
nethogs -b:显示双向传输流量
nethogs -p:按照进程名称来排序
nethogs -P:按照进程ID来排序
nethogs -c num:显示前num个连接
nethogs -v level:显示日志级别

四、nethogs安装

nethogs的安装非常简单,只需要在命令行中输入下面的命令,就可以从软件库中下载并安装nethogs:

sudo apt-get update
sudo apt-get install nethogs

五、nethogs下载

如果你的Linux发行版不支持软件库中的nethogs安装,你可以从nethogs官网下载源代码,并编译安装。nethogs官网地址为:https://github.com/raboof/nethogs

六、nethogs原理

nethogs的原理其实非常简单,它利用了Linux内核的/proc文件系统来获取进程的网络使用信息。我们知道,Linux内核会在/proc目录下为每个进程创建一个以进程ID为名称的子目录,这个目录中包含了进程的各种信息,比如进程的命令行、环境变量、文件句柄等。nethogs通过读取/proc目录下的相应文件,获取进程的网络使用信息,并对这些信息进行统计和排序,最后呈现给用户。

七、nethogs离线安装

如果你的Linux系统没有联网,或者由于种种原因你无法联网,你可以通过离线安装的方式来安装nethogs。首先,你需要到nethogs官网的下载页面下载对应版本的源代码包,然后将这个包复制到你的Linux系统中。接下来,你需要在命令行中依次执行下面的命令来进行编译和安装:

tar -xvzf nethogs-x.x.x.tar.gz
cd nethogs-x.x.x
make
sudo make install

八、nethogs网络占用率

nethogs可以通过按照进程的上传下载速度来计算每个进程的带宽占用率。关于网络占用率的计算方法,可以参考下面的公式:

带宽占用率 = 上传速度 + 下载速度 / 总带宽 * 100%

九、nethogs prometheus

nethogs还可以与prometheus结合起来使用,实现网络监控和报警功能。具体来说,我们可以使用prometheus的node_exporter来获取Linux系统的各种指标,包括网络使用情况,然后将这些指标传送给prometheus,最后使用grafana来可视化展示这些指标,并设置相应的报警规则。

以下是示例代码:

nethogs_prometheus:
  procs:
  - exec: ["nethogs", "-t"]
    namespace: nethogs
    name: exports
    cmdline:
    - nethogs
    - -t
    binary_path: /usr/sbin/nethogs
    username: root
    uid: 0
    gid: 0
    scrape_interval: 5s
    static_configs:
    - targets: ['localhost:9177']

以上代码可以将nethogs的网络使用情况指标传送给prometheus的node_exporter,并设置每5秒钟更新一次。