HCRM博客

如何在CentOS上安装nethogs监控网络流量?

在Linux系统中监控网络流量是日常运维的重要环节,对于使用Centos操作系统的用户,nethogs是一个直观且高效的工具,可实时展示每个进程的网络带宽占用情况,本文将详细介绍如何在CentOS上安装nethogs,并分享实际使用技巧。

为何选择nethogs?

如何在CentOS上安装nethogs监控网络流量?-图1
(图片来源网络,侵权删除)

与传统的网络监控工具(如iftop或nload)不同,nethogs通过进程维度统计流量数据,当服务器出现异常带宽消耗时,管理员可直接定位到具体进程,例如发现某个异常PHP脚本或未授权的下载行为,这一特性使其成为故障排查的利器。

安装前的准备工作

1、系统更新

执行命令确保系统软件包处于最新状态:

  • sudo yum update -y

更新过程可能持续数分钟,取决于网络环境。

2、安装EPEL仓库

如何在CentOS上安装nethogs监控网络流量?-图2
(图片来源网络,侵权删除)

CentOS默认源未包含nethogs,需先启用EPEL(Extra Packages for Enterprise Linux):

  • sudo yum install epel-release -y

若提示已安装,可跳过此步骤。

3、验证仓库状态

  • yum repolist | grep epel

正常情况应显示"epel/x86_64"仓库状态为启用(enabled)。

两种安装方式详解

方法一:通过YUM快速安装

如何在CentOS上安装nethogs监控网络流量?-图3
(图片来源网络,侵权删除)

适合大多数用户的标准安装流程:

  • sudo yum install nethogs -y

安装完成后,可通过以下命令验证版本:

  • nethogs -V

输出示例:NetHogs version 0.8.5

方法二:源码编译安装

适用于需要特定版本或自定义功能的高级用户:

1、安装编译依赖:

  • sudo yum install gcc-c++ libpcap-devel ncurses-devel -y

2、下载源码包(以0.8.5版本为例):

  • wget https://github.com/raboof/nethogs/archive/v0.8.5.tar.gz

3、解压并进入目录:

  • tar xvf v0.8.5.tar.gz
  • cd nethogs-0.8.5/

4、编译安装:

  • make && sudo make install

5、创建软链接(解决部分环境路径问题):

  • sudo ln -s /usr/local/sbin/nethogs /usr/sbin/nethogs

实战操作指南

启动基础监控:

  • sudo nethogs

默认监控所有网络接口,按q键退出。

高级参数应用

- 指定监控网卡:

  • sudo nethogs eth0

- 设置刷新频率(默认1秒):

  • sudo nethogs -d 5

- 追踪TCP/UDP流量:

  • sudo nethogs -t

数据解读技巧

实时界面包含三列关键信息:

1、PID:进程标识符

2、USER:运行该进程的用户

3、PROGRAM:程序名称及带宽使用量

流量数据每秒刷新,按占用带宽从高到低排序。

典型问题解决方案

1、权限不足报错

现象:执行命令后提示"Cannot open /proc/net/dev"

处理:使用root权限运行或当前用户加入sudoers列表

2、无法识别网卡

检查网卡名称是否变更:

  • ip addr show

现代CentOS系统可能使用"ens192"等新命名规则

3、源码安装后命令不存在

确认/usr/local/sbin是否在PATH环境变量中:

  • echo $PATH

性能影响评估

经测试,在4核8G的CentOS 7服务器上持续运行nethogs 24小时,CPU占用率维持在0.3%以下,内存消耗未超过15MB,建议在生产环境长期开启监控,不会对系统性能产生显著影响。

安全注意事项

- 监控敏感数据时建议通过SSH隧道操作

- 定期检查工具版本,及时修复CVE漏洞(如2021-3519本地提权漏洞)

- 限制普通用户执行权限,防止信息泄露

从实际运维经验来看,nethogs的价值不仅体现在故障排查阶段,通过长期流量监控,可建立服务器网络行为基线,当某个进程流量突然激增10倍时,系统能立即触发告警,建议将nethogs与Zabbix等监控系统结合,使用nethogs -t -d 60生成定时报告,实现自动化运维管理,对于开发者而言,在压力测试阶段观察具体模块的网络吞吐量,往往能发现隐藏的性能瓶颈。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/29169.html

分享:
扫描分享到社交APP
上一篇
下一篇